- •Задание
- •Анализ и описание предметной области
- •Цели и задачи создания базы данных «Библиотека»
- •Проектирование базы данных
- •Входные и выходные данные задач
- •Инфологическое проектирование базы данных
- •Даталогическое проектирование базы данных
- •Книга (Шифр книги, Название, Автор, Издательство, Город издания, Год издания, Кол. Страниц)
- •Нормализация отношений
- •Выбор субд
- •Автоматизированная информационная система на основе базы данных «Библиотека»
- •Структура информационной системы
- •Запросы на выборку данных для решения поставленных задач
Проектирование базы данных
Входные и выходные данные задач
Входными данными задач являются:
анкетные данные читателя
информация о книге, ее авторах и издательствах, экземплярах книги.
Информация о книге:
уникальный шифр книги
название
фамилии авторов
издательство
город издания
год издания
количество страниц в книге
стоимость книги
количество экземпляров в библиотеке
Информация об экземпляре книги:
уникальный номер книги
шифр книги
место размещения в библиотеке (абонемент, выдана, в хранилище ит.п.)
Читательский (абонентский) билет – информация о читателе:
№ читательского билета
Фамилия, имя, отчество
дата рождения
адрес
место работы
телефон домашний
телефон рабочий
Вкладыш читательского билета с информацией о выданной книге:
№ читательского билета
уникальный номер книги
шифр книги
дата выдачи
дата возврата
Инфологическое проектирование базы данных
Выделить объекты данной предметной области и их свойства, определить связи между ними. Нарисовать инфологическую модель предметной области в графическом виде.
На этапе инфологического проектирования базы данных строится инфологическая модель предметной области, которая должна отражать семантику (смысл взаимосвязи объектов) предметной области. ИЛМ строится не для отдельного объекта, а отображает классы объектов и связи между ними. Диаграмма, отражающая связи объектов предметной области, называется диаграммой ER-типа (так как Entity – сущность, Relationship – связь).
Выделим основные сущности:
сущность «Книга»;
сущность «Экземпляр»;
сущность «Читатель».
Инфологическая модель базы данных «Библиотека» представлена на рис. 1.
Рис.1. Инфологическая модель предметной области (ПО) «Библиотека»
Сущность «Книга» содержит информацию обо всех книгах, имеющихся в библиотеке. Отдельный экземпляр этой сущности соответствует не конкретному экземпляру книги, а описанию книги в целом, поэтому вводится сущность «Экземпляр». Каждый экземпляр сущности «Экземпляр» содержит информацию о конкретном экземпляре книги. Между сущностью «Книга» и сущностью «Экземпляр» существует связь типа «1:М», обязательная с обеих сторон (если есть информация о книге, то есть хотя бы один экземпляр этой книги, если есть экземпляр книги, то должна быть информация о книге). Сущность «Читатель» содержит информацию о читателях. Отдельный экземпляр этой сущности содержит информацию об одном читателе. Существует связь между сущностью «Читатель» и сущностью «Экземпляр» типа «1:М», не обязательная с обеих сторон (читатель может не держать на руках ни одной книги, также экземпляр книги может не быть на руках у читателя). Определим ключи – уникальные идентификаторы экземпляров каждой сущности: для сущности «Книга» - это шифр книги, для сущности «Экземпляр» - номер книги, для сущности «Читатель» - номер читательского билета.
Даталогическое проектирование базы данных
Выполнить датологическое проектирование реляционной базы данных и нормализацию отношений. Нарисовать даталогическую модель базы данных и связи между отношениями.
Даталогическим (логическим) проектированием называют проектирование логической структуры БД в среде конкретной СУБД. Выберем в качестве модели данных реляционную базу данных (РБД).
Существуют разные способы проектирования логической структуры РБД. Рассмотрим способ проектирования, основанный на анализе инфологической модели и переходе от нее к реляционным отношениям.
Для РБД проектирование логической структуры заключается в том, чтобы разбить всю информацию по отношениям, а также определить состав атрибутов для каждого из этих отношений. От ER-модели перейдем к реляционной модели данных (описать правила перехода).
В результате получили следующие отношения:
