База данных библиотеки ВУЗа

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



ми [2].

На основании предметной области и концептуального проектирования перейдем к разработке логической модели базы данных библиотеки ВУЗа.

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

При проектировании базы данных библиотеки ВУЗа можно выделить следующие сущности:

1.Литература.

Для данной сущности выбраны атрибуты, характеризующие свойства определенной книги: ее наименование, количество страниц, BBK, UDK, аннотация, ее вид (учебник, пособие, методичка) и тип (научная, учебная, историческая). ISBN является личным номером для каждого экземпляра. Дополнительная информация содержит сведения о состоянии книги.

2.Автор.

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

3.Издательство.

Представлены данные об издательстве: полное и сокращенное наименование издательства, и город где была книга издана

4.Экземпляры.

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

5.Место хранения.

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

6.Выдача книг.

В данной сущности содержится информация, которая необходима, для учета и отслеживания книг которые выданы читателям.

7.Читатель.

Для данной сущности выбраны атрибуты, которые позволяют идентифицировать каждого читателя и прослеживать его историю пользования книгами: код читателя, ФИО, дата регистрации, дата окончания регистрации.

8.Библиотекарь.

В данной сущности выбраны атрибуты, идентифицирующие каждого работника библиотеки.

Разработка ключей.

Для того чтобы стать первичным, потенциальный ключ должен удовлетворять ряду требований. При выборе первичного ключа предпочтение должно отдаваться более простым ключам, т. е. ключам, содержащим меньшее количество атрибутов.

Значение атрибутов ключа не должно меняться в течение всего времени существования экземпляра сущности [2]. Сотрудник библиотеки или читатель может сменить как фамилию, так и паспорт. Поэтому атрибуты, содержащие ФИО, номер паспорта не подходят на роль первичного ключа. Поэтому принято решение в сущностях ЧИТАТЕЛЬ и БИБЛИОТЕКРАЬ на роль первичных ключей разработать уникальный код, который бы идентифицировал каждого человека уникально.

Каждая сущность должна иметь, по крайней мере, один потенциальный ключ. Такой ключ становится первичным. Некоторые сущности могут иметь более одного возможного ключа. Тогда один из них становится первичным, а остальные - альтернативными ключами.позволяет выделить атрибуты альтернативных ключей, и по умолчанию в дальнейшем при генерации схемы БД по этим атрибутам будет генерироваться уникальный индекс.

При работе ИС часто бывает необходимо обеспечить доступ к нескольким экземплярам сущности, объединенным каким-либо одним признаком. Для повышения производительности в этом случае используются неуникальные индексы. ERwin позволяет на уровне логической модели назначить атрибуты, которые будут участвовать в неуникальных индексах. Атрибуты, участвующие в неуникальных индексах, называются Inversion Entries. Inversion Entry - это атрибут или группа атрибутов, которые не определяют экземпляр сущности уникальным образом, но часто используются для обращения к экземплярам сущности. ERwin генерирует неуникальный индекс для каждого Inversion Entry.Внешние ключи (FK) создаются автоматически, когда связь соединяет сущности: связь образует ссылку на атрибуты первичного ключа в дочерней сущности и эти атрибуты образуют внешний ключ в дочерней сущности (миграция ключа) [1]

Таблица №1 Первичные, альтернативные, внешние ключи, индексы и атрибуты логической модели.

СущностьПервичный ключАтрибутыАвторКод_авторФамилия (IE1.1) Имя (IE1.2) Отчество (IE1.3)ЛитератураКод_литератураКод_издательства (FK) Наименование Кол-воСтраниц ISBN (AK1.1) BBK (AK1.2) UDK ДопИнформация Аннотация Год Вид ТипИздательствоКод_издательства СокрНаименИзд-ва ПолноеНаименИзд-ва ГородЭкземплярыИд_номерКод_издательства ИД _Место ДатаУчёта ДатаСписания Код_Литература (FK) Библиотекарь_номер ПримечаниеМесто храненияИД_ МестоНомерПомещения Стеллаж Раздел ПолкаВыдачаИд_номер Код_читателя Библиотекарь_номер (FK) ДатаВыдачи ДатаВозврата ПримечаниеЧитательКод_читателяФамилия (IE1.1) Имя (IE1.2) Отчество (IE1.3) ДатаРегистрации ДатаОкончанияРегистрБиблиотекарьБиблиотекарь_номерФамилия (AK1.1) Имя (AK1.2) Отчество (AK1.3) Стаж

Связи.

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

Можно выделить три типа связей между таблицами:

идентифицирующая связь (1:1) - каждой записи одной таблицы соответствует только одна запись другой таблицы;

неидентифицирующая связь (1:М) - одной записи главной таблицы могут соответствовать несколько записей подчиненной таблицы;

многие ко многим (М:М) - одна запись главной таблицы связана с несколькими записями подчиненной таблицы, а одна запись подчиненной таблицы связана с не сколькими записями главно