Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Лабораторная ИБД №1.pptx
Скачиваний:
12
Добавлен:
04.06.2023
Размер:
203.83 Кб
Скачать

Лабораторная работа №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,

сущности «Код клиента»