Файл: Проектирование базы данных с использованием erтехнологии.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 18.03.2024

Просмотров: 28

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации
ОрденаТрудовогоКрасногоЗнамени
федеральное государственное бюджетное образовательное учреждение высшегообразования

«Московский технический университет связи и информатики»
(МТУСИ)




Кафедра Сетевых Информационных Технологий и Сервисов


Лабораторная работа 1



по дисциплине: «Интеллектуальные базы данных»

по теме:



«Проектирование базы данных с использованием ER-технологии»


Выполнила: студентка группы М091901(75)
Бармина Анна Владимировна
Проверил: Старший преподаватель Фатхулин Тимур Джалилевич
Москва, 2021

1 Цель работы


В данной лабораторной работе необходимо построить логическую модель данных в соответствии со стандартом IDEF1X и построить физическую модель.

2 Задание


При выполнении лабораторной работы необходимо:


  • для своего варианта, соответствующего определенной предметной области, построить логическую модель данных в соответствии со стандартом IDEF1X;

  • построить физическую модель;

  • составить отчет по лабораторной работе.


3 Краткая теория


Для заданной предметной области должен быть определен состав реляционных таблиц и логические связи
между таблицами. Для каждого атрибута должны быть заданы тип и размер данных, ограничения целостности. Для каждой таблицы – первичный ключ, потенциальные ключи и внешние ключи.

Разработка логической модели методом «сущность-связь» (ER-методом) предусматривает выполнение следующих шагов, детально описанных в работе:

  1. построение ER-диаграммы, включающей все сущности и связи, важные с точки зрения интересов предметной области;

  2. анализ связей и определение их характеристик степени связи, мощности и класса принадлежности;

  3. построение набора предварительных отношений с указанием предполагаемого первичного ключа для каждого отношения;

  4. подготовка списка всех неключевых атрибутов и назначение каждого из этих атрибутов одному из предварительных отношений;

  5. проверка нахождения всех полученных отношений в нормальной форме Бойса-Кодда;

  6. построение модели данных.


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– столбец таблицы.

Преобразую каждую сущность и их атрибуты:

  1. Каталог



Сущность «Каталог» преобразуется в соответствующую таблицу

«Catalogs». Атрибут «Наименование каталога» преобразуется в соответствующий столбец «cat_name». Идентифицирующий атрибут «Код каталога» преобразуется в соответствующий первичный ключ «cat_ID». Следовательно, получаю:

Catalogs (cat_ID, cat_name).

  1. Книга



Сущность «Книга» преобразуется в соответствующую таблицу «Books». Атрибуты «Название книги», «Автор книги», «Издательство», «Год издания»,

«Цена книги» и «Имеющееся количество» преобразуются в соответствующие столбцы «b_name», «b_author», «b_publisher» «b_year», «b_price» и «b_count». Идентифицирующий атрибут «Код книги» преобразуется в соответствующий первичный