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