Управление данными УД / Управление данными_ИСТ-11-12-15 / ИСТ-12 / 5-Библиотека / Худяев Егор
.docСанкт-Петербургский государственный университет телекоммуникаций
им. проф. М.А. Бонч-Бруевича
факультет Информационных систем и технологий
кафедра Безопасность Информационных систем
Отчёт по лабораторной работе №5
Тема: «Автоматизированное проектирование базы данных библиотеки»
Дисциплина: Управление Данными
Выполнил: Худяев Е.А. ИСТ-12
Преподаватель: Сабинин О.Ю.
Санкт-Петербург
2014
Постановка задачи
-
Создать логическую модель БД для учета имеющихся в библиотеке книг. Требования к модели:
-
У книги может быть один или несколько авторов
-
Автор может издать одну или несколько книг
-
Книга может издаваться в нескольких или одном издательстве
-
Издательство может издавать одну или несколько книг
-
БД должна содержать информацию:
-
Фамилию, имя, отчество автора
-
Название, автора, год издания, издательство и цену книги
-
Название, город и телефон издательства
-
Предусмотреть значения по умолчанию для столбцов «цена» и «телефон».
-
Создать физическую модель с ключевыми полями.
-
Представление для отображения Фамилии, Издательства и Названия книги.
-
Проверить модель средством validator и устранить возможные ошибки
-
Провести прямое проектирование.
-
Проверить полученную БД на наличие ключевых полей, ограничений, связей, работу представления и запросов.
Провести обратное проектирование.
Х
од
работы
Создаем новую Logical/Physical модель в Erwin Data Modeler.
Создаём сущности Книга, Автор и Издательство и задаём им атрибуты:




Создаём связь многие-ко-многим между сущностями и создаём ассоциативные таблицы. В результате у нас получится пять сущностей.

Переходим в физическую модель и составляем представление, в котором хотим вывести фамилию автора, название книги и название издательства.




В итоге у нас сложилась вот такая картина:

Не забываем установить значения по умолчанию для телефона ‘111-11-11’ и цены ‘0’.

Устанавливаем минимально значение для цены.
.
Проверяем полученную модель средством Validator. Устраняем ошибки, если они есть.

Переходим к прямому проектированию. Связываем нашу модель с учётной записью в Oracle.



Устраняем ошибки, если на них указывают. После заходим в Oracle. Результатом проектирования является появление наших сущностей в списке таблиц.

Реляционная модель в Oracle будет выглядеть так:

Заполняем таблицы и проверяем установку значений по умолчанию.
Таблица Автор:

Таблица Издательство:

Таблица Книга:

Таблица Книга_Изд:

Таблица Книга_Автор:

Заполняя таблицы, убедились в том, что:
a. У книги может быть один или несколько авторов
b. Автор может издать одну или несколько книг
c. Книга может издаваться в нескольких или одном издательстве
d. Издательство может издавать одну или несколько книг
Проверка значения по умолчанию для телефона:
![]()
![]()
Проверка значения по умолчанию для цены:
![]()
![]()
Минимальное значение в столбце «Цена» 0 (ошибка, если мы запишем число меньше):

Заходим в Views и проверяем работу представления, содержащего фамилию автора, название книги и названия издательства.

Выполним несколько запросов, чтобы проверить работу наших таблиц в Oracle:
1) Вывести всю информацию из таблицы Книга, где название книги Синица:

2) Вывести фамилию и номер ИНН авторов, у которых фамилия начинается на букву К:

Выполняем процедуру обратного проектирования:



Вывод
Научились создавать физическую и логическую модель в ALLFusion ERwin Data Modeler. Научились пользоваться средством Validator. Создали работоспособную базу данных для библиотеки. Научились выполнять прямое и обратное проектирование.
