Проектирование БД « Районная библиотека»

В этой базе заказчик хотел бы хранить информацию:

· о книгах, которые есть в этой библиотеке, и о том, к какому разделу относится каждая книга

· об авторах, чьи книги есть в этой библиотеке

· о языках, на которых написаны книги

· о читателях, которые берут книги в этой библиотеке

Некоторые условия, существенные для проектирования базы данных:

· каждая книга принадлежит какому-то разделу; может быть много книг, относящихся к одному разделу; возможен раздел, в котором нет книг

· в библиотеке может быть много книг одного автора; могут быть книги, у которых несколько авторов.

· каждый читатель может взять в библиотеке несколько книг; читатель может не брать книги какое-то время; читатель может брать книги на срок не более 1 месяца – потом он должен их продлить или по возвращении книг заплатить штраф из расчета 5 руб. за 1 просроченный день.

· каждая книга была написана на каком-либо языке; может быть много книг, у которых язык оригинала один и тот же; нет сведений о языках оригинала, на которых не написано ни одной книги.

Этапы проектирования базы данных:

1. Определение объектов (сущностей) предметной области – источников данных, которые должны быть включены в базу данных.

2. Определение атрибутов каждой сущности, первичных ключей.

3. Выявление связей между сущностями.

4. Определение степени каждой выделенной связи (один-к-одному, один-ко-многим, многие-ко-многим) и класса принадлежности каждой сущности, который характеризует обязательность включения каждого экземпляра сущности в связь.

5. Построение ER-диаграмм, отображающих выявленные связи.

6. формирование таблиц базы данных по ER-диаграммам:

– определение нужного количества таблиц

– определение вторичных ключей таблиц, их связи с соответствующими первичными ключами.

1 и 2 этапы: объекты, их атрибуты и первичные ключи

Список объектов (сущностей):

· автор

· раздел

· книга

· язык оригинала

· читатель

· формуляр

· авторы и их книги (издание)

Сущности изображаются в виде прямоугольника, атрибуты вписываются внутрь прямоугольника, изображающего сущность.

Атрибут или набор атрибутов, используемый для идентификации экземпляра сущности, называется ключом сущности. Ключевые атрибуты каким-либо образом выделяются на диаграмме (например, подчеркиванием, более жирным шрифтом или курсивом).

Если значения ни одного из атрибутов не обладают уникальностью, то вместо набора уникальных атрибутов можно ввести дополнительный атрибут – код экземпляра (его номер).



ЧИТАТЕЛЬ
N_чит_бил ДатаЗаписи Фамилия Имя Отчество ГодРожд СоцСтатус ГородПроживания Тел_дом Тел_моб  

РАЗДЕЛ
КодРаздела Название

КНИГА
КодКниги Заголовок Заголовок_ин КодРаздела ЯзыкОригинала N_изд Место_Изд Издательство Год_изд Кол_стр Илл Серия Кол_Экз_В_Библ

ЯЗЫК
КодЯзыка НазваниеЯзыка

автор
КодАвтора ФИО_Автора_рус ФИО_Автора_ин

3, 4 и 5 этапы: выявление степени связей и классов принадлежности, их фиксация с помощью диаграмм

 
  Проектирование БД « Районная библиотека» - student2.ru

В этой диаграмме отражены свойства связи двух объектов нашей предметной области (книги и разделы):

· каждая книга принадлежит какому-то разделу;

· может быть много книг, относящихся к одному разделу;

· возможен раздел, в котором нет книг.

 
  Проектирование БД « Районная библиотека» - student2.ru

В этой диаграмме отражены свойства связи двух объектов нашей предметной области (язык и книга):

· каждая книга была написана на каком-либо языке;

· может быть много книг, у которых язык оригинала один и тот же;

· нет сведений о языках оригинала, на которых не написано ни одной книги.

 
  Проектирование БД « Районная библиотека» - student2.ru

В этой диаграмме отражены свойства связи двух объектов нашей предметной области (авторы и книги):

· в библиотеке может быть много книг одного автора;

· могут быть книги, у которых много авторов.

· в базе не будет храниться информация о книгах и авторах, которых нет в фонде библиотеки.

многозначные связи не могут непосредственно реализоваться в реляционной базе данных, поэтому необходимо внедрить дополнительный объект-связку АВТОРЫ И ИХ КНИГИ (ИЗДАНИЕ) как совокупность данных об авторах и написанных ими книгах – возвращение ко 2-му этапу. Атрибуты данной сущности:



АВТОРЫ И ИХ КНИГИ (издание)
КодКнАвт Автор Книга

Тогда получаем новые диаграммы:

 
  Проектирование БД « Районная библиотека» - student2.ru

а)

Проектирование БД « Районная библиотека» - student2.ru б)

 
  Проектирование БД « Районная библиотека» - student2.ru

В этой диаграмме отражены свойства связи двух объектов нашей предметной области (читатель и издание):

· каждый читатель может взять в библиотеке несколько изданий;

· читатель может не брать издания какое-то время;

· могут быть издания, которые не взял ни один читатель;

· читатель может брать издания на срок не более 1 месяца – потом он должен их продлить или по возвращении издания заплатить штраф из расчета 5 руб. за 1 просроченный день.

Много-многозначные связи не могут непосредственно реализоваться в реляционной базе данных, поэтому необходимо внедрить дополнительный объект-связку ФОРМУЛЯР как совокупность данных об изданиях и читателях – возвращение ко 2-му этапу. Атрибуты данной сущности:

ФОРМУЛЯР
Код КодЧитателя КодИздания ДатаВыдачи ФактДатаВозврата

Тогда получаем новые диаграммы:

Проектирование БД « Районная библиотека» - student2.ru а)

б)

 
  Проектирование БД « Районная библиотека» - student2.ru

6 этап: формирование таблиц базы данных по ER-диаграммам

В связи сущностей КНИГА Û РАЗДЕЛ и КНИГА Û ЯЗЫК степень связи «один-ко-многим», n-связная сущность имеет обязательный класс принадлежности; следовательно, в соответствии с ER-методом

Достаточно использовать две таблицы (по одной для каждой сущности); ключ каждой сущности служит в качестве первичного ключа соответствующей таблицы. Кроме того, ключ 1-связной сущности должен быть добавлен как атрибут в таблицу, представляющую n-связную сущность.

Но у нас в таблице КНИГА уже есть такие атрибуты – КодРаздела(вторичный ключ, соответствующий одноименному первичному ключу таблицы РАЗДЕЛ) и ЯзыкОригинала (соответствует ключу КодЯзыка таблицы ЯЗЫК).

Язык
КодЯзыка Язык
рус.
нем.
англ.
Раздел
КодРаздела Название
Литературно-художественное издание
Научно-популярное издание
Учебник
Учебное пособие
Издание по изобразительному искусству
Справочное издание
Книга
КодКниги Заголовок Заголовок_ин КодРаздела язык оригинала N_Изд Место_Изд Издательство Год_изд Кол_Стр Илл Серия Кол_Экз_В_Библ
Новый сладостный стиль.Роман.   Литературно-художественное издание рус.   М. ИзографЪ, ЭКСМО Нет  
Десятилетие клеветы (радиодневник писателя)   Литературно-художественное издание рус.   М. ИзографЪ, ЭКСМО Нет  
Самоучитель работы на компьютере   Учебник рус. СПб. Питер Да  
Самоучитель работы на компьютере   Учебник рус. М. Нолидж Да  
 
Патриот: Фантастический роман. Jingo Литературно-художественное издание англ. М. ЭКСМО Нет Плоский мир

В связи сущностей КНИГА Û АВТОР степень связи «многие-ко-многим». В этом случае классы принадлежности сущностей не влияют на количество и структуру соответствующих таблиц; следовательно,

Необходимо формирование трех таблиц – по одной для каждой сущности (ключ каждой сущности служит в качестве первичного ключа соответствующей таблицы), а также таблицы для связи. Таблица, создаваемая для связи, должна иметь по одному вторичному ключу от каждой сущности.

Такой таблицей станет АВТОРЫ И ИХ КНИГИ (ИЗДАНИЕ)

Авторы и их книги
КодКнАвт Автор Книга
Пратчетт Т. Роковая музыка
Пратчетт Т. Патриот: Фантастический роман.
Аксенов В.П. Десятилетие клеветы (радиодневник писателя)
Аксенов В.П. Новый сладостный стиль.Роман.
Левин А.Ш. Самоучитель работы на компьютере
Левин А.Ш. Самоучитель работы на компьютере
Рубина Д. Несколько торопливых слов любви… Повесть и рассказы
Рубина Д. Несколько торопливых слов любви… Повесть и рассказы
Энде М. Джим Пуговка и Чертова Дюжина: Повесть-сказка.
Бекаревич Ю.Б. СУБД Access для Windows 95 в примерах.
Пушкина Н.В. СУБД Access для Windows 95 в примерах.
Баш Е.Г. Справочник по русскому языку для студентов-иностранцев
Автор
КодАвтора ФИО_Автора_рус ФИО_Автора_ин
Левин А.Ш.  
Аксенов В.П.  
Рубина Д.  
Пратчетт Т. Pratchett Terry
Энде М. Ende Michael
Бекаревич Ю.Б.  
Пушкина Н.В.  
Баш Е.Г.  
Книга
КодКниги Заголовок Заголовок_ин КодРаздела язык оригинала N_Изд Место_Изд Издательство Год_изд Кол_Стр Илл Серия Кол_Экз_В_Библ
Новый сладостный стиль.Роман.   Литературно-художественное издание рус.   М. ИзографЪ, ЭКСМО Нет  
Десятилетие клеветы (радиодневник писателя)   Литературно-художественное издание рус.   М. ИзографЪ, ЭКСМО Нет  
..

В этой таблице поле Автор является вторичным ключом, соответствующим первичному ключу КодАвтора таблицы АВТОР; поле Книга является вторичным ключом, соответствующим первичному ключу КодКниги таблицы КНИГА. С помощью этих вторичных ключей фиксируется связь сущностей КНИГА и АВТОР.

В связи сущностей АВТОРЫ И ИХ КНИГИ (ИЗДАНИЕ) Û ЧИТАТЕЛЬ степень связи «многие-ко-многим». В этом случае классы принадлежности сущностей не влияют на количество и структуру соответствующих таблиц; следовательно,

Необходимо формирование трех таблиц – по одной для каждой сущности (ключ каждой сущности служит в качестве первичного ключа соответствующей таблицы), а также таблицы для связи. Таблица, создаваемая для связи, должна иметь по одному вторичному ключу от каждой сущности.

Такой таблицей станет ФОРМУЛЯР:

Формуляр
Код КодЧитателя КодИздания ДатаВыдачи ФактДатаВозврата
03.02.2005 01.03.2005
04.06.2005 02.07.2005
22.05.2005
Авторы и их книги
КодКнАвт Автор Книга
Пратчетт Т. Роковая музыка
Пратчетт Т. Патриот: Фантастический роман.
Читатель
N_чит_бил ДатаЗаписи Фамилия Имя Отчество ГодРожд СоцСтатус ГородПроживания Адрес Тел_дом Тел_моб
12.05.1986 Иванова Светлана Петровна 10.05.1939 пенсионер Москва ул. Тверская, д.15, кв.87 380-90-12  
22.01.2004 Ремизов Алексей Михайлович 11.04.1990 учащийся Москва ул. Садово-Кудринская, д.12, кв.124 921-19-59 8(916)123-34-34
01.04.1998 Александров Петр Петрович 09.09.1962 служащий Зеленоград ул. Маяковского, д.2, кв.5 11-12-13  

В этой таблице поле КодЧитателя является вторичным ключом, соответствующим первичному ключу N_чит_бил таблицы ЧИТАТЕЛЬ; поле КодИздания является вторичным ключом, соответствующим первичному ключу КодКнАвт таблицы АВТОРЫ И ИХ КНИГИ (ИЗДАНИЕ). С помощью этих вторичных ключей фиксируется связь сущностей КНИГА и АВТОР. Также вносятся сведения о дате выдачи издания и его фактической дате возврата.

Приложение 1

Литература

1. ГОСТ 7.1–84. Библиографическое описание документа. Общие требования и правила составления.

2. ГОСТ 7.9-95. Реферат и аннотация. Общие Требования.

3. Диго С.М. Базы данных: учебное пособие. М.:МЭСИ, 2006. – 157с.

4. Киреева О.А. Базы данных: учебное пособие. Тольятти: Изд-во ТГУС, 2007. – 136с.

5. Кузьмина С.П. Базы данных: учебное пособие. СПб.: СПбГИЭУ, 2006. – 189с.

6. Кумскова И.А. Базы данных. – М.: Логус, 2012. – 462с.

7. Шишкин В.В. Методические указания к курсовому проекту. – Смоленск, 2002.

Наши рекомендации