-
На основании физической модели создать соответствующие таблицы бд в InterBase.
Для всех таблиц создать необходимые триггера и одну хранимую процедуры ( определение инвентарных номеров новых книг ).
Построение логической и физической модели БД
На основании представленной задачи мной были выделены следующие сущности и их атрибуты:
Сущность – это класс однотипных объектов, информация о которых должна быть учтена в модели.
Атрибуты сущности – это характеристика или свойство сущности, имеющая имя, уникальное для данной сущности.
При построении своей логической модели, я выделил следующие сущности: Книга, Характеристика книги, Издательство, Область книги, Область знаний.
Атрибутами сущности, то есть особыми полями, которые отображают основную логику связей, так называемые первичные ключи. Помогают осуществлять точные операции над базами и помогают пользователю избежать проблем в связи заполнением и дальнейшей эксплуатацией созданной базы. В качестве примера возьмем таблицу «Книга», у которой есть два поля, одно из которых является первичным ключом – ISBN.
Связи – это некоторая ассоциация между двумя сущностями. Одна сущность может быть связана с другой или сама с собой. Связи позволяют по экземпляру одной сущности находить соответствующие экземпляры другой, связанные с нею. Например, связи могут выражаться следующими фразами – Книг в библиотеке много и соответствующие книги относятся к своим Областям знаний, то есть перспектива связи один ко многим.
В сущностях, созданных мною присутствуют следующие атрибуты:
Книга:
ISBN(PK) – хранит уникальный код книги.
Название книги – хранит полное название книги.
Город издания – хранит название города издания книги.
Количество страниц – хранит количество страниц книги.
Год издания – хранит год издания книги.
Цена – хранит стоимость книги.
Количество экземпляров – хранит количество экземпляров книги имеющихся в библиотеке.
Характеристики книги:
Инвентарный номер (PK) – хранит оригинальный номер экземпляра книги.
ISBN (FK) – показывает к какой книге относится данная характеристика
Дата поступления книги (FK) – дата поступления экземпляра книги в библиотеку.
Место хранения книги состоит из:
Комнаты – комната где находится книга;
Полка – на которой находится книга;
Место на полке – номер места на полке на которой находится книга.
Автор:
ID Автора (РК) – хранит уникальный номер автора в базе библиотеке.
Имя – хранит имя автора.
Фамилия – хранит фамилию автора.
Автор книги:
ISBN(PK)(FK) – хранит уникальный код книги.
ID Автора – хранит уникальный номер автора в базе библиотеке.
Тематика:
ID Жанра (PK) – хранит уникальный код жанра.
Жанр – хранит название жанра.
Жанр книги:
ID Жанра (PK)(FK) – хранит уникальный код жанра.
ISBN(PK)(FK) – хранит уникальный код книги.
Жанр – хранит название жанра.
Поставка:
ISBN(PK)(FK) – хранит уникальный код книги.
Дата поставки (PK) – хранит дату поставки книги в библитеку.
Цена – хранит цену книги.
В общем виде вся логическая структура моей базы данных выглядит так:
На основании разработанной мною логической модели была сгенерированна физическая модель для Interbase.
На основе физической модели был сгенерирован скрипт для Interbase. Скрипт представлен в приложении.
Этот скрипт создает все сущности, описанные в логической структуре в виде таблиц, кроме того создаются связи между таблицами, все необходимые индексы.