- •Федеральное агенство связи государственное образовательное учреждение
- •Введение
- •1. Построение концептуальной модели базы данных (инфологическая модель)
- •1.1 Описание предметной области
- •1.2 Особенности базы данных
- •2. Построение даталогической модели базы данных (логическая модель)
- •2.1. Определение списка сущностей и их атрибутов
- •2.2 Описание взаимосвязей между сущностями
- •2.3 Проверка отношений на нормальные формы и аномалии
- •3. Построение физической модели базы данных
- •3.1 Er-диаграмма модели
- •3.2 Проверка модели на наличие ошибок
- •4. Проверка работоспособности базы данных
- •4.1 Прямое проектирование базы данных
- •4.2 Заполнение таблиц данными
- •4.3 Запросы к информационной системе
- •4.4 Обратное проектирование
- •Заключение
1.2 Особенности базы данных
Следует выделить некоторые особенности проектируемой базы данных:
Так как библиотечный фонд города составляют библиотеки, расположенные на территории города, в адресе библиотеки не должен указываться город, а у телефона - код города.
Номер абонемента читателя уникален в пределах всей системы библиотечного фонда.
Также уникальны индивидуальные номера библиотекарей, номера библиотек и залов-хранилищ.
Журнал посещений един для всех библиотек (электронный), номера записей в нем не повторяются.
Теперь можно приступать к построению логической модели базы данных.
2. Построение даталогической модели базы данных (логическая модель)
2.1. Определение списка сущностей и их атрибутов
Определим список сущностей, их атрибуты. Ключевые поля выделены подчеркиванием, в скобках возле атрибутов указан тип данных.
Читальный зал:
Номер_зала (varchar(5)),
Номер_библ (varchar(5)).
Библиотека:
Номер_библ (varchar(5)),
Название_библ(varchar(35)).
Адрес_библ:
Название_библ (varchar(35)),
Адрес_библ (varchar(30)).
Телефон_библ:
Адрес_библ (varchar(30)),
Телефон_библ (varchar(15)).
Абонемент:
Номер_абонем (varchar(10)),
Номер_библ (varchar(5)).
Пользователь:
Номер_абонем (varchar(10)),
Фамилия_польз (varchar(35)),
Имя_польз (varchar(35)),
Отчество_польз (varchar(35)),
Адрес_польз (varchar(35)),
Телефон_польз (varchar(15)),
Дата_рожд_польз (date);
Научн_работник:
Номер_абонем (varchar(10)),
Научная_тема (varchar(35)),
Организац_н_раб (varchar(35));
Студент:
Номер_абонем (varchar(10)),
Номер_завед_студ (varchar(5)),
Номер_факульт (varchar(5)),
Курс (number(1)),
Группа (varchar(8));
Факультет:
Номер_факульт (varchar(5)),
Назван_факульт (varchar(35));
Уч_завед_студ:
Номер_уч_завед (varchar(5)),
Назван_уч_завед (varchar(35));
Рабочий:
Номер_абонем (varchar(10)),
Организация_раб (varchar(35)),
Должность_раб (varchar(35));
Безработный:
Номер_абонем (varchar(10)),
Посл_место_раб (varchar(35));
Абонем_журнал:
Номер_записи (varchar(5)),
Номер_абонем (varchar(10));
Журнал_посещ:
Номер_записи (varchar(5)),
Номер_библ_ря (varchar(5)),
Дата_возврата (date);
Выдача:
Номер_записи (varchar(5)),
Дата_выдачи (date),
Срок_сдачи (date);
Библиотекарь:
Номер_библ_ря (varchar(5)),
Фамилия_библ_ря (varchar(35)),
Имя_библ_ря (varchar(35)),
Отчест_библ_ря (varchar(35)),
Телефон_библ_ря (varchar(15)),
Адрес_библ_ря (varchar(35)),
Дата_рожд_б_ря(date);
Произвед_журнал:
Номер_записи (varchar(5)),
Артикул_произв (varchar(10));
Произведение:
Артикул_произв (varchar(10)),
Артикул_издания (varchar(10));
Атрибут_произв:
Артикул_произв (varchar(10)),
Автор (varchar(35)),
Название_произв (varchar(35)),
Категор_произв (varchar(20));
Издание:
Артикул_издания (varchar(10)),
Назван_издания (varchar(35)),
Категор_издания (varchar(20)),
Год_издания (varchar(8)),
Номер_издат_ва (varchar(5)),
Номер_правила (varchar(5));
Издательство:
Номер_издат_ва (varchar(5)),
Назван_издат_ва (varchar(35));
Арт_номер_изд:
Артикул_издания (varchar(10)),
Номер_издания (varchar(5)),
Номер_библ (varchar(5));
Библ_фонд:
Артикул_издания (varchar(10)),
Номер_зала (varchar(5)),
Номер_стеллажа (varchar(5)),
Номер_полки (varchar(5)),
Дата_поступл (date),
Дата_списания (date);
Правило_пользов:
Номер_правила (varchar(5)),
Правило (varchar(30)).
