5.2. Построение инфологической
модели
Анализ определенных выше
объектов и атрибутов позволяет
выделить сущности проектируемой
базы данных и, приняв решение о
создании реляционной базы данных,
построить ее инфологическую модель
на языке "Таблицы-связи" (рис.
5.2).
К стержневым сущностям можно
отнести:
- Создатели (Код создателя,
Создатель).
Эта сущность отводится для
хранения сведений об основных
людях, принимавших участие в
подготовке рукописи издания
(авторах, составителях,
титульных редакторах,
переводчиках и художниках).
Такое объединение допустимо,
так как данные о разных
создателях выбираются из
одного домена (фамилия и имена)
и исключает дублирование
данных (один и тот же человек
может играть разные роли в
подготовке разных изданий).
Например, С.Я.Маршак писал
стихи (Сказка о глупом мышонке)
и пьесы (Двенадцать месяцев),
переводил Дж.Байрона, Р.Бернса,
Г.Гейне и составлял сборники
стихов.
Так как фамилия и имена
(инициалы) создателя могут быть
достаточно громоздкими (М.Е.
Салтыков-Щедрин, Франсуа Рене
де Шатобриан, Остен Жюль
Жан-Батист Ипполит и т.п.) и
будут многократно встречаться
в разных изданиях, то их
целесообразно нумеровать и
ссылаться на эти номера. Для
этого вводится целочисленный
атрибут "Код_создателя",
который будет автоматически
наращиваться на единицу при
вводе в базу данных нового
автора, переводчика или
другого создателя.
Аналогично создаются:
Код_издательства, Код_заглавия,
Вид_ издания, Код_характера,
Код_языка, Номер_билета,
Номер_пере- плета, Код_места и
Код_издания, замещающие от
одного до девяти атрибутов.
- Издательства (Код_издательства,
Название, Город).
- Заглавия (Код_заглавия,
Заглавие).
Выделение этой сущности
позволит сократить объем
данных и снизить вероятность
возникновения
противоречивости (исключается
необходимость ввода длинных
текстовых названий для
различных томов собраний
сочинений, повторных изданий,
учебников и т.п.).
- Вид_издания (Вид_издания,
Название_вида).
- Характеры (Код_характера,
Характер_переиздания).
- Языки (Код_языка, Язык,
Сокращение).
Кроме названия языка хранится
его общепринятое сокращение
(англ., исп., нем., фр.), если оно
существует.
- Места (Код_места,
Номер_комнаты, Номер_стеллажа,
Номер_ полки).
Один из кодов этой сущности
(например, "-1") отведен для
описания обобщенного места,
находящегося за стенами
хранилища книг (издание выдано
читателю, временно передано
другой библиотеке или
организации).
- Читатели (Номер_билета,
Фамилия, Имя, Отчество, Адрес,
Телефон).
Две ключевые сущности,
описывающие издание и его
конкретные экземпляры, оказываются
зависимыми от других сущностей и
попадают в класс обозначений:
- Издание (Код_издания,
Код_заглавия, Вид_издания,
Номер_тома, Авторский_знак,
Библиотечн_шифр, Повторность,
Код_издательства, Год_издания,
Аннотация) [Заглавия,
Вид_издания, Издательства];
- Переплеты (Номер_переплета,
Код_издания, Цена,
Дата_приобретения)[Издания];
Стержневые сущности и
обозначения связаны между собой
ассоциациями:
- Авторы [Создатели M, Издание N] (Код_создателя,
Код_издания).
- Составители [Создатели M,
Издания N] (Код_создателя, Код_издания).
- Редакторы [Создатели M, Издания
N] (Код_создателя, Код_издания).
- Художники [Создатели M, Издания
N] (Код_создателя, Код_издания).
- Переводчики [Создатели M,
Издания N] (Код_создателя, Код_издания,
Язык).
- Переиздания [Характеры M,
Издания N] (Код_характера, Код_издания).
- Размещение [Места M, Переплеты N]
(Код_места, Номер_переплета,
Дата_размещения, Дата_изъятия).
- Выдача [Читатели M, Переплеты N] (Номер_билета,
Номер_переплета,
Дата_выдачи, Срок,
Дата_возврата).
И, наконец, для уменьшения объема
часто используемого обозначения
"Издания" из него выделена
характеристика:
- Аннотации (Код_издания,
Аннотация) {Издание}.
Рис. 5.2. Инфологическая
модель базы данных
"Библиотека", построенная с
помощью языка "Таблицы-связи"
[Назад] [Содержание] [Вперед]