Файл: Проектирование базы данных с использованием erтехнологии.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 18.03.2024
Просмотров: 37
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации
ОрденаТрудовогоКрасногоЗнамени
федеральное государственное бюджетное образовательное учреждение высшегообразования
«Московский технический университет связи и информатики»
(МТУСИ)
Кафедра Сетевых Информационных Технологий и Сервисов
Лабораторная работа № 1
по дисциплине: «Интеллектуальные базы данных»
по теме:
«Проектирование базы данных с использованием ER-технологии»
Выполнила: студентка группы М091901(75)
Бармина Анна Владимировна
Проверил: Старший преподаватель Фатхулин Тимур Джалилевич
Москва, 2021
1 Цель работы
В данной лабораторной работе необходимо построить логическую модель данных в соответствии со стандартом IDEF1X и построить физическую модель.
2 Задание
При выполнении лабораторной работы необходимо:
-
для своего варианта, соответствующего определенной предметной области, построить логическую модель данных в соответствии со стандартом IDEF1X; -
построить физическую модель; -
составить отчет по лабораторной работе.
3 Краткая теория
Для заданной предметной области должен быть определен состав реляционных таблиц и логические связи
между таблицами. Для каждого атрибута должны быть заданы тип и размер данных, ограничения целостности. Для каждой таблицы – первичный ключ, потенциальные ключи и внешние ключи.
Разработка логической модели методом «сущность-связь» (ER-методом) предусматривает выполнение следующих шагов, детально описанных в работе:
-
построение ER-диаграммы, включающей все сущности и связи, важные с точки зрения интересов предметной области; -
анализ связей и определение их характеристик – степени связи, мощности и класса принадлежности; -
построение набора предварительных отношений с указанием предполагаемого первичного ключа для каждого отношения; -
подготовка списка всех неключевых атрибутов и назначение каждого из этих атрибутов одному из предварительных отношений; -
проверка нахождения всех полученных отношений в нормальной форме Бойса-Кодда; -
построение модели данных.
4 Выполнение лабораторной работы
Особенности диалекта SQL в СУБД MySQL рассмотрю на примере учебной базы данных book Интернет-магазина, торгующего компьютерной литературой. В базе данных должна поддерживаться следующая информация:
-
тематические каталоги, по которым сгруппированы книги;
-
предлагаемые книги (название, автор, издательство, год издания, цена, имеющееся на складе количество); -
зарегистрированные покупатели (имя, отчество, фамилия, телефон, номер карты, адрес электронной почты, статус – авторизованный, неавторизованный, заблокированный, активный с хорошей кредитной историей); -
покупки, совершенные в магазине (время совершения покупки, число приобретенных экземпляров книги).
В первую очередь, необходимо определить сущности, которые нужно использовать при проектировании базы данных:
-
Каталог;
-
Книга;
-
Клиент;
-
Заказ.
Далее, определю атрибуты для каждой сущности:
-
Каталог (Код каталога, Наименование каталога);
-
Книга (Код книги, Название книги, Автор книги, Издательство, Год издания, Цена книги, Имеющееся количество); -
Клиент (Код клиента, Имя клиента, Отчество клиента, Фамилия клиента, Телефон клиента, Номер карты, E-mail клиента, Статус клиента); -
Заказ (Код заказа, Дата и время заказа, Заказанное количество).
-
Определю отношения между сущностями:
-
Отношение между сущностями «Каталог» и «Книга» представлена как связь «один-ко-многим», так как один каталог может включать много книг; -
Отношение между таблицами «Книга» и «Заказ» представлена как связь
«один-ко-многим», так как одна книга может присутствовать во многих заказах покупателей;
-
Отношение между таблицами «Клиент» и «Заказ» представлена как связь
«один-ко-многим», так как один пользователь может сделать много заказов.
Определю идентифицирующие атрибуты:
-
Каталог – «Код каталога», так как он определяет запись о каталоге;
-
Книга – «Код книги», так как он определяет запись о книге;
-
Клиент – «Код клиента», так как он определяет запись о клиенте;
-
Заказ – «Код заказа», так как он определяет запись о заказе.
Определю идентификаторы N-связной сущности. Учитывая отношения между таблицами можно выделить следующие идентификаторы:
-
Код каталога (FK) в сущности «Книга»; -
Код книги (FK) и Код клиента (FK) в сущности «Заказ».
Далее составлю логическую модель данных предметной области.
Логическая модель данных
Логическая модель данных предметной области в стандарте IDEF1X представлена на рисунках 1 и 2. Выделены сущности КАТАЛОГ, КНИГА, КЛИЕНТ, ЗАКАЗ, между которыми установлены неидентифицирующие связи мощностью oдин-ко-многим, определенные спецификой предметной области.
Рисунок 1 – Логическая модель данных предметной области
КАТАЛОГ/1 | Код книги | ||
Код каталога | 1,1 СОДЕРЖИТ 1,N | ||
Название книги Автор книги Издательство Год издания Цена книги Имеющееся количество Код каталога (FK) | |||
Наименование каталога | |||
| |||
| |||
КЛИЕНТ/3 | 0,М ПРИСУТСВ 1,N | ||
Код клиента | ЗАКАЗ/4 | ||
0,1 РАЗМЕЩАЕТ 1,N | Код заказа | ||
Фамилия клиента Имя клиента Отчество клиента Телефон клиента Номер карты клиента E-mail клиента Статус клиента | |||
Дата и время заказа Заказанное количество Код клиента (FK) Код клиента (FK) | |||
| |||
|
УЕТ
Рисунок 2 – Логическая модель данных предметной области (увеличенная)
Преобразование в физическую модель данных
-
Рассмотрю общие принципы преобразования: -
Каждая сущность преобразуется в таблицу. Имя сущности становится именем таблицы; -
Каждый атрибут становится столбцом таблицы с тем же именем, уточняется тип данных, выбирается более точный формат; -
Идентифицирующие атрибуты сущности превращаются в первичный ключ таблицы.
Формула для преобразования: R1(И1,А1), где R1– таблица, И1–
первичный ключ таблицы, А1– столбец таблицы.
Преобразую каждую сущность и их атрибуты:
-
Каталог
Сущность «Каталог» преобразуется в соответствующую таблицу
«Catalogs». Атрибут «Наименование каталога» преобразуется в соответствующий столбец «cat_name». Идентифицирующий атрибут «Код каталога» преобразуется в соответствующий первичный ключ «cat_ID». Следовательно, получаю:
Catalogs (cat_ID, cat_name).
-
Книга
Сущность «Книга» преобразуется в соответствующую таблицу «Books». Атрибуты «Название книги», «Автор книги», «Издательство», «Год издания»,
«Цена книги» и «Имеющееся количество» преобразуются в соответствующие столбцы «b_name», «b_author», «b_publisher» «b_year», «b_price» и «b_count». Идентифицирующий атрибут «Код книги» преобразуется в соответствующий первичный