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