Контрольная работа: Особенности проектирования баз данных

· В соответствии с вариантом спроектируйте базу данных любым методом проектирования на основе описания предметной области.

1. В СУБД InterBase 6.0/Firebird 1.5 реализуйте серверную часть спроектированной ранее базы данных, которая должна содержать:

1) таблицы с определением первичного ключа

2) триггеры, реализующие каскадное обновление и каскадное удаление связанных полей

3) триггеры, присваивающие уникальное значение генератора в поле первичного ключа

4) триггеры, обеспечивающие журнализацию изменений определенной таблицы

5) не менее трех различных хранимых процедур

2. В ИСР Delphi создайте клиентское приложение, используя любую технологию доступа к данным (BDE, IBX, ADO и др.) с возможностью поиска и фильтрации данных, а также вывода отчета.

1) У каждой книги в библиотеке свой идентификационный номер.

2) Каждая книга может быть издана в одном издательстве.

3) В одном и том же издательстве издается несколько книг.

4) Каждая книга имеет определенное количество страниц, тип переплета, величину тиража.

5) Каждая книга в конкретный момент может находиться или в библиотеке или на руках только у одного читателя.

6) Каждый читатель может взять из библиотеки несколько книг.

7) Каждый читатель имеет уникальный номер абонемента.

8) Имя читателя не уникально. Название издательства не уникально.

9) Читатель имеет ФИО, телефон, адрес. Издательство – название, город.

Проектирование базы данных

Приведём ER-диаграмму в соответствии с описанием предметной области:

Рис.1. ER-диаграмма

Так как каждая книга в конкретный момент времени может находиться на руках только у одного читателя, то мы можем связать сущности «Книга» и «Читатели» по полю «ID Абонента» связью типа Многие к одному так как в этом поле, являющемся внешним ключом для атрибута «Книги», могут повторяться записи, ибо один и тот же читатель может взять сразу несколько книг. Если это поле содержит значение NULL, то значит, что данная книга ни находится на руках у читателя, а находится в библиотеке. Добавим для сущности «Книга» дополнительное свойство «Дата выдачи». Значения этого поля должны равняться NULL если значение поля «ID Абонента» так же равняется NULL.

Приведём базу данных к третьей нормальной форме. Свойство «Издательство» сущности «Книги» имеет дополнительные свойства не зависящие от ключевых. Поэтому сделаем свойство «Издательство» самостоятельной сущностью и введём для него дополнительное свойство «ID Издательства» и сделаем его ключевым.

Рис.2. ER-диаграмма

Опишем структуру каждой таблицы.

Таблица «Книги» (Books)

Наименование поля Тип данных Ограничения
ID Книги (ID_Books) Целое число

NOTNULL

Первичный ключ

Значение уникально

Наименование (Name) Строка (30) NOT NULL
ID Издательства (ID_Publishers) Целое число

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 402
Бесплатно скачать Контрольная работа: Особенности проектирования баз данных