- •Лабораторная работа №1 «Проектирование базы данных с использованием ER-технологии»
- •Предметная область
- •Определение сущностей
- •Определение атрибутов
- •Логическая модель
- •Преобразование из логической модели данных в физическую
- •Преобразование из логической модели данных в физическую
- •Преобразование из логической модели данных в физическую
- •Преобразование из логической модели данных в физическую
- •Преобразование из логической модели данных в физическую
- •Физическая модель
- •Спасибо за внимание!
Лабораторная работа №1 «Проектирование базы данных с использованием ER-технологии»
Пример выполнения
Предметная область
Рассмотрим пример учебной базы данных book Интернет-магазина, торгующего компьютерной литературой. В базе данных должна поддерживаться следующая информация:
•тематические каталоги, по которым сгруппированы книги;
•предлагаемые книги (название, автор, год издания, цена, имеющееся на складе количество);
•зарегистрированные покупатели (имя, отчество, фамилия, телефон, адрес электронной почты, статус – авторизованный, неавторизованный, заблокированный, активный с хорошей кредитной историей);
•покупки, совершенные в магазине (время совершения покупки, число приобретенных экземпляров книги).
Определение сущностей
Каталог Книга Клиент Заказ
Определение атрибутов
аталог ( Код каталога , Наименование каталога);
Книга Код( |
книги, Название книги, Автор книги, |
||||
Год |
издания, |
Цена книги, Имеющееся |
|||
количество, Код каталога); |
|||||
КлиентКод( клиента |
, Имя клиента, Отчество |
||||
клиента, |
Фамилия |
клиента, Телефон клиента, |
|||
E-mail клиента, Статус клиента); |
|||||
Заказ Код( заказа |
, Дата и время заказа, |
Заказанное количество, Код клиента, Код книги).
Логическая модель |
|
||||
|
|
|
КНИГА/2 |
|
|
Один каталог может содержать много книг |
|
|
|||
КАТАЛОГ |
|
|
Код книги |
|
|
|
|
Название книги |
|
||
/1 |
|
|
|
||
Код каталога |
1,1 |
содержит |
Автор книги |
|
|
Наименование |
Год издания |
|
|||
|
1,N |
|
|||
каталога |
|
Цена книги |
|
|
|
|
|
|
|
||
Одна книга может |
|
|
Имеющееся количество |
||
|
|
Код каталога (FK) |
|
||
присутствовать во многих |
|
0,M |
|||
заказах покупателей |
Один |
|
|
||
3 |
ЗАКАЗ/4 |
присутствует |
|||
Код клиента |
пользователь |
|
1,N |
||
Имя клиента |
может |
Код заказа |
|
|
|
размещать |
|
|
|||
Отчество клиента |
много заказов |
Дата и время заказа |
|||
Фамилия клиента |
|||||
Телефон клиента |
|
|
Заказанное |
|
|
E-mail клиента |
0,1 |
размещает |
количество |
|
|
Код книги (FK) |
|
||||
Статус клиента |
|
1,N |
Код клиента (FK) |
|
Преобразование из логической модели данных в физическую
бщие принципы преобразования:
•Каждая сущность преобразуется в таблицу. Имя сущности становится именем таблицы;
•Каждый атрибут становится столбцом таблицы с тем же именем, уточняется тип данных, выбирается более точный
•формат;Идентифицирующие атрибуты сущности превращаются в первичный ключ таблицы.
Формула для преобразования:
R1 (И1, А1),
где R1 – таблица, И1 – первичный ключ таблицы, А1 – столбец таблицы.
Преобразование из логической модели данных в физическую
Сущность «Каталог» Соответствует
Атрибут Соответствует
«Наименование
каталога» Идентифицирующий Соответствует атрибут «Код каталога»
Таблица «Catalogs»
Столбец «cat_name»
Первичный ключ «cat_ID»
Catalogs (cat_ID, cat_name)
Преобразование из логической модели данных в физическую
Сущность «Книга»
Атрибут «Название книги» Атрибут «Автор книги» Атрибут «Год издания» Атрибут «Цена книги» Атрибут «Имеющееся количество»
Идентифицирующий атрибут «Код книги»
Идентификатор 1-связной сущности «Код каталога»
Соответствую
т
Таблица «Books» Столбец «b_name» Столбец «b_author» Столбец «b_year» Столбец «b_price» Столбец «b_ count»
Первичный ключ «book_ID» Внешний ключ «b_cat_ID»
Books (book_ID, b_name, b_author, b_year, b_price, b_count,
Преобразование из логической модели данных в физическую
Сущность «Клиент» Атрибут «Имя» Атрибут «Отчество» Атрибут «Фамилия» Атрибут «Телефон»
Атрибут «E-mail клиента» Атрибут «Статус клиента» Идентифицирующий атрибут «Код клиента»
Соответствую
т
Таблица «Users» Столбец «u_name» Столбец «u_patronymic» Столбец «u_surname» Столбец «u_phone» Столбец «u_email» Столбец «u_status» Первичный ключ «user_ID»
Users (user_ID, u_name, u_patronymic, u_surname, u_phone,
Преобразование из логической модели данных в физическую
Сущность «Заказ» |
|
Таблица «Orders» |
|
Атрибут «Дата и время |
|
Столбец «o_time» |
|
заказа» |
|
Столбец «o_number» |
|
Атрибут «Заказанное |
Соответствую |
Первичный ключ |
|
количество» |
«order_ID» |
||
т |
|||
Идентифицирующий |
|
Внешний ключ «o_book |
|
атрибут «Код заказа» |
|
_ID» |
|
Идентификатор 2-связной |
|
Внешний ключ |
|
сущности «Код книги» |
|
«o_user_ID» |
Идентификатор 2-связной
Orders (order_ID, o_time, o_number, o_book _ID,
сущности «Код клиента»