2.1. Для решения поставленной задачи принята схема базы данных, представленная на рис.1.
Рис.1.Схема данных.
Составляющими базу данных являются три таблицы:
· «Читатели»
· «Книги»
· «Выданные книги»
2.2. Таблица «Читатели» предназначена для учета читателей, пользующихся библиотекой. Структура таблицы представлена на рис.2.
Рис.2.Структура таблицы «Читатели»
В качестве ключевого определено поле «СоцНомер», содержащий реквизит «Социальный номер», являющимся уникальным в рамках России. По всем другим полям совпадения допускаются. На рис. 2-4 в столбце «Описание» указана длина поля.
2.3. Таблица «Книги» предназначена для учета имеющегося книжного фонда. Структура таблицы «Книги» представлена на рис.3.
Рис.3.
В связи с тем, что любые собственные реквизиты книги могут быть не уникальными, в качестве ключевого определено поле «КодКниги» с типом «Счетчик».
2.4. Таблица «ВыданныеКниги» предназначена для учета имеющегося книжного фонда. Структура таблицы «ВыданныеКниги» представлена на рис.4.
Рис.4.
В качестве ключевого определено поле «ПорНомер» с типом «Счетчик».
2.5. В качестве связей между таблицами определены связи (см. рис.1.) «один-ко-многим»:
· «Читатели.СоцНомер» -> «ВыданныеКниги.СоцНомер» (у одного читателя может быть на руках несколько книг)
· «Книги.КодКниги» -> «ВыданныеКниги.Код.Книги» (на руках у читателей может быть несколько экземпляров одной и той же книги).
Данные связи позволяют вести учет выданных книг и вести так называемый формуляр читателя.
ФормЫ
3.1. Для реализации интерфейса созданы формы.
Главная кнопочная форма (рис. 5.)
Рис. 5.
Формы для регистрации и удаления из базы книг и читателей (рис. 6-7).
Рис. 6.
Рис. 7.
Подчиненная форма для реализации функций: «выдача/возврат книг», «просмотр формуляра читателя» (рис. 9). В этих формах запрещено изменение, добавление записей в таблицы «Книги» и «Читатели».
Рис. 8.
ЗапросЫ
4.1. Для реализации необходимых функции по ведению базы данных были созданы запросы:
· «ФормулярЧитателя»
· «ЗапросНаВыдачу»
· «ПросроченныеКниги»
4.2. Запрос «ФормулярЧитателя» построен с использованием трех таблиц. Тип запроса – выборка. Запрос предназначен для вывода на экран всех книг у читателя. В качестве условия для отбора записей определено выражение: ([Forms]![Форма1]![ПоискЧитателя]![СоцНомер]) - для текущей записи в форме, предназначенной для поиска читателей. Форма для ввода данных показана на рис. 9.
Рис. 9.
4.3. Запрос «ПросроченныеКниги» построен с использованием трех таблиц. Тип запроса – выборка. На его основе формируется таблица, показанная на рис. 10.
Рис. 10.
Запрос предназначен для вывода в отчет данных по читателям, просрочившим возврат книги. В качестве условия для отбора записей определено выражение: [ВыданныеКниги]![ДатаВозврата]<DATE() – все выданные книги, для которых дата возврата меньше текущей календарной.
4.4. Запрос «ЗапросНаВыдачу» построен в режиме SQL конструктора запросов с использованием инструкции INSERTINTO …VALUES. Запрос предназначен для регистрации выдаваемой книги в таблице «ВыданныеКниги». В качестве значений записываемых в поля добавляемой записи используются:
· данные по текущим записям в активных формах «ПоискКниги», «ПоискЧитателя» - для полей «КодКниги», «СоцНомер»;
· Текущая календарная дата – для поля «Датавыдачи»;
· Значение текущая календарная дата+15 дней – для поля «ДатаВозврата».
ОтчетЫ
5.1. Для определения должников сформирован отчет «ПросроченныеКниги», позволяющий на основании запроса вывести отчет по читателям, не возвратившим книги в библиотеку своевременно (рис. 11).
Рис. 11.
ПРИМЕР ПРОЕКТИРОВАНИЯ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ
В качестве примера возьмем базу данных проектной организации. Основной вид деятельности такой организации – выполнение проектов по договорам с заказчиками.
4.1. Анализ предметной области
4.1.1.Общее описание предметной области
База данных создаѐтся для информационного обслуживания руководства организации, руководителей проектов и участников проектов. БД должна содержать данные об отделах организации, сотрудниках и проектах. В соответствии с предметной областью система строится с учѐтом следующих особенностей:
– Каждый сотрудник работает в определѐнном отделе, в каждом отделе могут работать несколько сотрудников.
– Каждый проект относится к определѐнному отделу, каждый отдел может отвечать за выполнение нескольких проектов.
– Каждый сотрудник может принимать участие в выполнении нескольких проектов, над каждым проектом может трудиться несколько сотрудников.
– Для каждого проекта назначается руководитель из числа сотрудников того отдела, к которому относится проект.
– Каждый проект должен быть выполнен в заданные сроки, каждый проект может состоять из нескольких этапов. Если проект состоит из одного этапа, то сроки его выполнения должны совпадать со сроками выполнения проекта в целом.
– Оклад сотрудника зависит от занимаемой должности, за участие в проектах сотрудник получает дополнительное вознаграждение.
– Виды участия сотрудников в проектах: руководитель, консультант, исполнитель.
– Каждый отдел занимает одно или несколько помещений (комнат), в каждом помещении может быть один или несколько стационарных телефонов.
Примечание. Описания особенностей ПрО должно быть достаточно для того, чтобы создать ER–диаграмму.
4.1.2. Анализ информационных задач и круга пользователей системы
Определим группы пользователей, их основные задачи и запросы к БД:
1. Руководители организации:
- заключение новых договоров;
- назначение руководителей проектов;
- получение списка всех участников проектов;
- изменение должностных окладов и штатного расписания;
- получение полной информации о проектах;
- внесение изменений в данные о проектах;
2. Руководитель проекта:
- назначение участников проекта;
- получение списка сотрудников, работающих над конкретным проектом;
- получение полной информации о проекте, руководителем которого он является;
- получение сведений о сотрудниках, которые могут стать участниками проекта;
- определение размера дополнительного вознаграждения сотрудников по конкретному проекту;
- внесение изменений в данные об этапах проекта.
3. Сотрудники отдела кадров:
- приѐм/увольнение сотрудников;
- внесение изменений в данные о сотрудниках.
4. Бухгалтеры:
- получение ведомости на выплату зарплаты.
5. Сотрудники – участники проектов:
- просмотр данных о других участниках проекта;
- просмотр данных о сроках сдачи проекта и форме отчѐтности.
Разработка БД