Файл: Методические рекомендации по выполнению курсового проекта по дисциплине Проектирование и администрирование баз данных.pdf
Добавлен: 26.10.2023
Просмотров: 17
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ФГБОУ ВО «Московский политехнический университет»
Кафедра информационной безопасности
Методические рекомендации по выполнению курсового проекта по дисциплине «Проектирование и администрирование баз данных»
Москва 2023
Введение
Проектирование проводится в рамках дисциплины «Проектирование и администрирование баз данных» для направлений подготовки Выполнение проекта базируется на знаниях и навыках, полученных при изучении следующих предметов:
- Базы данных
- Операционные системы
- Информатика
- Основы алгоритмизации и программирования.
Выполнение проекта по дисциплине Проектирование и администрирование баз данных предусмотрено учебным планом, оформляется в машинописной форме и является обязательной формой отчёта. Она состоит из теоретической части и практической реализации.
Выполненный проект проверяется преподавателем. Если он соответствует требованиям, то выдаётся рецензия с рекомендацией к защите, в противном случае проект возвращается да доработку.
Защита проекта проводится студентом на персональном компьютере в установленные сроки при наличии рецензии.
Цель выполнения проекта – проектирование информационной системы базы данных. База данных должна сопровождаться подробным руководством пользователя.
Оформление проекта
1. Книжная ориентация страницы;
2. Поля – 15 мм справа, 30 мм слева, 20 мм снизу и сверху;
3. Шрифт – Times New Roman, 14-й кегль;
4. Заголовки пишутся 16 кеглем, полужирным шрифтом и располагаются по центру;
5. Междустрочный интервал – 1,5;
6. Отступ абзаца – 1,25;
7. Выравнивание текста по ширине;
8. Каждая глава и раздел пишутся с новой страницы.
Также необходимо пронумеровать страницы. Обычно нумерация располагается в середине нижней части листа или в правом нижнем углу,
начиная со страницы «Содержание».
Структура проекта
При выполнении проекта должен быть проведён общий анализ предметной области (ПО); определены функции, которые реализуются в разработанной базе данных; указаны ограничения, если таковые имеются.
Далее осуществляется постановка комплекса рассматриваемых задач.
1. Анализ предметной области.
1.1. Описание предметной области и функции решаемых задач.
1.2. Перечень входных данных.
1.3. Перечень выходных данных.
1.4. Ограничения предметной области ( если таковые имеются).
1.5. Взаимодействие с другими программами.
2. Постановка задачи
3. Проектирование концептуальной модели
3.1 Выделение информационных объектов.
3.2 Определение атрибутов объектов.
3.3 Определение отношений и мощности отношений между объектами.
3.4 Построение схемы концептуальной модели.
4. Разработка логической структуры базы данных.
5. Реляционная модель.
6. Определение типов данных в заданном формате (структура таблиц;
типы данных; ключевые элементы; внешние ключи)
7. Создание глобальной схемы связей. Поддержка целостности данных.
Создание пользователей.
8. Запросы. Структура и назначение. SQL-запрос.
9. Проектирование приложения. (Опционально)
10. Создание плана резервного копирования и восстановления
11. Оптимизация производительности
12. Графическое приложение.
13. Руководство пользователя.
Заключение.
Литература
Пример разработки информационной системы
1. Анализ предметной области .
1.1. Описание предметной области и функции решаемых задач.
В качестве примера рассмотрим упрощённый вариант построения информационной системы для работы туристического агентства.
Предметной областью автоматизации являются должностные функции менеджера по продажам путёвок.
Сотрудники оформляют тур. путёвки и путёвки в санаторий для клиентов.
1.2 Перечень входных данных.
Входную информацию делят на условно-постоянную, сохраняющую свои значения на длительный период времени, и, на постоянно меняющуюся оперативно-учётную.
В результате обследования предметной области определены входные данные, необходимые для решения комплекса задач:
Туристические путёвки, путёвки в санаторий, информация о клиентах,
информация о странах.
Входная информация может быть представлена следующими документами:
Таблица 1. Входные данные по клиенту
Код клиента ФИО Телефон Адрес
…
…
…
…
Таблица 2. Входные данные по путёвкам
Номер путёвки
Начало тура Продолжительн ость
Стоимость
Название тура
…
…
…
…
Примечание : по возможности входная информация представляется в графическом виде
1.3. Перечень выходных данных .
Выходная информация представляется в виде отчётов.
Туры по странам;
Самый дешёвый тур;
Неоплаченные путёвки;
…...
Выходную информацию представим в виде экранных и отчётных форм:
…..
1.4. Ограничения предметной области .
В рассматриваемой предметной области существуют следующие ограничения:
- В таблице «путёвки» значение поля «стоимость» должно быть больше нуля.
- В таблице «путёвки» значение поля «количество» должно быть больше нуля.
- В таблице «путёвки в санаторий» значение поля «дата окончания пребывания» должна вычисляться как сумма «даты начала» и
«продолжительности».
- …...
1.5. Взаимодействие с другими программами.
Представленная информационная система должна выводить отчёты в текстовый редактор MS Word. Прайс-лист о путёвках может выводится в MS
Excel.
2. Постановка задачи
Разрабатываемая информационная система предназначена для структурированного хранения данных и вывода информации о турах по странам, путёвках туров, клиентах.
Разрабатываемая информационная система должна выполнять следующие функции:
Добавление информации о новом туре.
Добавление путёвки к туру.
Оформление и возврат путёвок.
Осуществлять поиск тура по стране и виду транспорта
Просмотр реализованных путёвок по санаториям.
Оформление путёвки в санаторий.
Определять туры с просроченной датой.
Путёвки в санаторий с истекшей датой заезда.
Показать самый популярный тур.
Показать самый дешёвый тур.
3. Проектирование концептуальной модели
3.1 Выделение информационных объектов.
Одним из первых объектов предметной области можно выделить «тур путёвки» и «путёвки в санаторий». Далее определяем, кто оформляет путёвки,
для этого вводим объект «сотрудник». Путёвки покупаются клиентами (объект
«клиент»). Тур путёвки продаются в разные страны, отсюда объект «страна».
Переезд в туристических путёвках осуществляется транспортом, поэтому возникает необходимость в объекте «транспорт». Клиентам необходимо представлять список санаториев, куда он может поехать (объект «санаторий»).
В санаториях выполняют лечение заболеваний (объект «заболевание»).
Объект «оформление путёвки» является сложным, так как включает в себя несколько объектов: «клиенты», «путёвки», «сотрудники».
3.2 Определение атрибутов объектов .
Рассмотрим атрибуты перечисленных объектов.
Таблица 3. Атрибуты объектов
Объект
Атрибуты объектов
Ключевой атрибут
тур путёвки
№ тура, Начало тура, Окончание тура, Стоимость, Кол-во путевок № тура
Оформление
путёвки
№ путёвки, № тура, Оплата
№ путёвки
Санаторий санаторий, адрес, город санаторий
Заболевания заболевание заболевание
Путёвки
в
санаторий код поступления, санаторий, дата прибытия, продолжительность,
кол-во путёвок код поступления
Необходимо проанализировать каждый атрибут на наличие взаимосвязей с другими реквизитами объекта. Реквизит приобретает смысл, только тогда,
когда он связан с другими атрибутами, обладающими смысловым единством.
3.3 Определение отношений и мощности отношений между объектами .
Рассмотрим взаимосвязи между объектами и мощности отношение и построим матрицу отношений.
Страны 1->N Путёвки .
«Страны» главный объект, а «путёвки» подчинённый объект. Тип связи
«один ко многим». Так как в одну страну может быть несколько путёвок. Связь между этими объектами осуществляет атрибут «код_страны»
Транспорт 1 -> N Путёвки.
«Транспорт» главный объект, а «путёвки» подчинённый объект. Тип связи «один ко многим». Один транспорт может использоваться для переезда по нескольким путёвкам. Связь между этими объектами осуществляет атрибут
«код_транспорта»
Тур Путёвки 1 -> N Оформление Путёвки .
«ТурПутёвки» главный объект, а «оформление путёвки» подчинённый объект. Тип связи «один ко многим». Один тур может быть оформлен несколько раз. Связь между этими объектами осуществляет атрибут
«номер_тура»
И так описываются все отношения предметной области.
Составим матрицу смежности для рассматриваемой предметной области.
По строкам и столбцам записываем выделенные объекты предметной области.
Если между объектами существуют отношения, то на пересечении строки и столбца ставится мощность отношения. Если объекты не взаимодействуют, то указывается 0.
Таблица 4. Матрица смежности.
Страны
Транспорт Оформление путёвки Путёвки …..
Страны
0 0
0 1:N
Транспорт
0 0
0 1:N
Путёвки
0 0
1:N
0
…
3.4 Построение схемы концептуальной модели .
На основе полученных объектов, атрибутов объектов и отношений между ними, можно построить концептуальную модель.
Рис 1 . Концептуальная модель часть1
Рис 2 . Концептуальная модель часть2
4. Разработка логической структуры базы данных.
Логическая структура реляционной базы данных определяется совокупностью логически связанных реляционных таблиц.
Логические связи соответствуют структурным связям между объектами в концептуальной модели, каждый объект в логической модели отображается соответствующей реляционной таблицей.
Связи между таблицами осуществляются посредством общих атрибутов.
Логическая структура реляционной базы данных имеет вид:
Рис 3 . Логическая структура реляционной базы
5. Реляционная модель.
Вначале раздела приводится теоретическая информация о реляционной модели.
Реляционная модель проектируемой базы данных:
Клиенты (Код клиента , ФИО)
Сотрудники ( Код сотрудника , ФИО, код фирмы)
Внешний ключ: код фирмы
Страны ( Код страны , название страны)
Транспорт (код транспорта , вид транспорта)
Путевки (№ тура , Код страны, Начало тура, Окончание тура, Код транспорта, Стоимость, Кол-во путевок)
Внешний ключ: Код страны
Внешний ключ: Код транспорта
Оформление путёвки (№ путёвки , Код клиента, Код сотрудника, № тура,
Оплата)
Внешний ключ: Код клиента
Внешний ключ: Код сотрудника
Санаторий (санаторий , адрес, город)
Заболевания (заболевание )
Заболнвание_и_санаторий (санаторий , заболевание )
Путёвки в санаторий (код поступления , санаторий, дата прибытия,
продолжительность, кол-во путёвок)
Внешний ключ: санаторий
Оформление путёвки в санаторий (№ путёвки , код клиента, код сотрудника, код поступления, оплата)
Внешний ключ: код клиента
Внешний ключ: код сотрудника
Внешний ключ: код поступления
6. Определение типов данных в заданном формате
Таблица «Клиенты»
Содержит информацию о клиентах, приобретавших путёвки.
Таблица 5 Структура таблицы данных «Клиент»
Наименование_поля_Тип_поля_Размер_поля_Обязательно_е_поле_Ключев_ое_поле'>Наименование
поля
Тип поля Размер поля Обязательно
е поле
Ключев
ое поле
Код клиента
Числовой
Длинное целое
Да
Да
ФИО
Текстовое
50
Нет
Нет
Таблица «Сотрудники»
Содержит информацию о сотрудниках, работающих на фирме.
Таблица 6 Структура таблицы данных «Сотрудники »
Наименование
поля
Тип поля Размер поля Обязательное
поле
Ключевое
поле
Код сотрудника
Числовой Длинное целое
Да
Да
ФИО
Текстовое 50
Нет
Нет
7. Создание глобальной схемы связей. Поддержка целостности
данных.
Раздел содержит теоретические сведения: о глобальной схеме данных, о поддержании ссылочной целостности, о добавлении данных в подчинённую таблицу.
Рис 4 . Схема данных.
8. Запросы. Структура и назначение. SQL – запросы
Вначале раздела приводятся теоретические сведения о запросах, типах запросов, конструкторе запросов.
Далее описываются все запросы информационной системы.
Запрос «Количество путёвок клиента»
Запрос отображает информацию о количестве путёвок, приобретённых каждым клиентом
Запрос создан на основе таблиц «Оформление путёвки», «Клиенты»
SELECT клиенты.ФИО, Count([оформление путевки].[№ тура]) AS [Count-№
тура]
FROM клиенты INNER JOIN [оформление путевки] ON клиенты.[Код клиента] =
[оформление путевки].[Код клиента]
GROUP BY клиенты.ФИО;
Запрос «Неоплаченные туры»
Запрос отображает информацию о клиентах, не оплативших путёвки.
Запрос построен на основе таблиц «Оформление путёвки», «путёвки»
SELECT [оформление путевки].[Код клиента], [оформление путевки].[№ тура],
[оформление путевки].Оплата, путёвки.[Название тура], путёвки.Стоимость
FROM путёвки INNER JOIN [оформление путевки] ON путёвки.[№ тура] =
[оформление путевки].[№ тура]
WHERE ((([оформление путевки].Оплата)="Не оплачено"));
9. Проектирование приложения. (Опционально)
В этом разделе описывается область применения приложения,
обоснование выбора языка программирования и дополнительного инструментария.
….
Приводится структура экранных форм с их описанием.
…
Форма «Клиенты»
… Форма создана для просмотра клиентов и приобретённых ими путёвок.
Также можно оформит новую путёвку для клиента, нажав кнопку «Оформить путёвку».
Данная форма состоит из основной части, где отображаются поля из таблицы «клиенты» и подчинённой, где отображаются поля из таблицы
«оформление путёвок»...
Рис 5. Структура формы
Для перемещения по записям клиентов используются кнопки ….
Форма «Оформление путёвки»
Форма создана для формирования новой записи о приобретении клиентом путёвки…..
Рис 6 Структура формы «Оформление путёвки»
Поле 1- «№ путёвки» заполняется автоматически на основе запроса
«максимальный номер путёвки_2». Поле не редактируется пользователем.
Поле 2 - поле со списком «ФИО» формируется на основе таблицы
«клиенты». Оно позволяет выбрать фамилию клиента, для которого оформляется путёвка.
Поле 3 - поле со списком «Название тура» формируется на основе запроса
«с количеством больше 0». Оно позволяет выбирать туры, для которых количество путёвок больше 0.
Поле 4- поле со списком «ФИО» формируется на основе таблицы
«сотрудники». Оно позволяет выбрать фамилию сотрудника, который оформляет путёвку
Поле 5 со списком «оплата» формируется на основе на основе фиксированного набора значений: Оплачен, НЕ оплачено.
В примечании формы находится кнопка, которая запускает у функцию
«Уменьшить количество путёвок». После нажатия на кнопку пользователю будет предложено изменить данные. В случае согласия добавляется новая запись в таблицу «оформление путёвок» и уменьшается количество путёвок в туре на 1.
Форма «Путёвки»
Форма создана только для просмотра туров. Форма содержит следующие поля ….