ПРИЛОЖЕНИЕ: Описание базы данных Biblia
База данных Biblia является основным элементом информационной системы "Библиотека". Эта база данных позволяет фиксировать факт поступления новых книг в библиотеку, ведение систематического каталога (систематизирующего книги по областям знаний), учет выдачи литературы читателям и ряд других библиотечных задач.
Для каждой выдаваемой книги устанавливается 15-дневный срок пользования. По истечении этого срока книга должна быть возвращена в библиотеку. Для особо популярных книг устанавливается боле короткий срок, в некоторых случаях он может превышать 15 дней.
Управление базой данных занимается администратор Степанов Ю.Л. и библиотекари Петрова Ю.П. , Иванова С.В., Сидорова О.К. и Попова И.Н. Все они зарегистрированы в базе данных под именами Stepanov, Petrova, Ivanova, Sidorova и Popova, соответственно. Библиотекари объединены в группу LIBRARIANS. Другая группа пользователей называется Readers. Она объединяет читателей библиотеки.
Взаимодействие пользователей с базой данных осуществляется при помощи хранимых процедур. Исключение составляют администратор -Степанов Ю.Л. и заведующая библиотекой Петрова Ю.П. Администратор имеет все привилегии, а заведующей библиотекой предоставлены более широкие полномочия по сравнению с библиотекарями.
База данных Biblia содержит шесть таблиц данных. Ее схема представлена на рис.А1.
Рис. А1. Схема базы данных Biblia
где Code_book - название поля, составляющего первичный ключ;
Code_book - название поля, составляющего внешний ключ.
Свойства таблиц базы данных Biblia представлены в табл. А1-А6. Все эти таблицы имеют одинаковую структуру. Назначение их колонок представлено ниже:
- Поле - наименование поля таблицы.
- Тип - тип данных, хранящихся в поле.
- Ключ - признак ключевого поля (символ "*" обозначает, что поле входит в состав первичного ключа).
- Default - значение поля по умолчанию.
- Unique - признак уникальности значения поля (символ "*" обозначает, что значение поля должно быть уникальным).
- NULL - признак разрешение хранения значений типа NUUL (символ "*" обозначает, что в поле разрешено хранение значений типа NUUL).
- Check - условие, накладываемое на значение поля.
Таблица Sys_catalog хранит информацию об областях знаний (систематизированный каталог).
Таблица А1. Свойства таблицы Sys_catalog
Поле | ключ | Тип | Default | Unique | NULL | Check | Комментарий |
N_realm | * | Smallint | Auto-increment | * | нет | | Код области знаний |
Title_realm | | Char(45) | | | нет | | Название области знаний |
Таблица Book содержит информацию о характеристиках книг.
Таблица А2. Свойства таблицы Book
Поле | ключ | Тип | Default | Unique | NULL | Check | Комментарий |
Code_book | * | Smallint | Autoin-crement | * | нет | | Уникальный шифр (код) наименования книги |
Author | | Long varchar | | да | | | Фамилия и инициалы автора книги |
Coauthors | | Long varchar | | да | | | Фамилии и инициалы соавторов книги |
Title_book | | Long varchar | | нет | | | Название книги |
City_publish | | Char(15) | | нет | | | Город, где издана книга |
Publisher | | Char(20) | | нет | | | Название издательства |
Year_publish | | Smallint | | нет | | | Год издания книга |
Number | | Smallint | | нет | | | Кол-во экземпляров книги |
Start_date | | Date | Тек. дата | нет | | | Дата поступления книги в библиотеку |
Times_read | | Smallint | 0 | нет | | | Кол-во заявок на данную книгу |
Таблица Book_Catalog классифицирует книги по областям знаний.
Таблица А3. Свойства таблицы Book_catalog
Поле | ключ | Тип | Default | Unique | NULL | Check | Комментарий |
N_realm | | Smallint | | | нет | | Код области знаний |
Code_book | | Smallint | | | нет | | Шифр (код) наименования книги |
Таблица Copies предназначена для фиксирования информации об экземплярах книг.
Таблица А4. Свойства таблицы Copies
Поле | ключ | Тип | Default | Unique | NULL | Check | Комментарий |
N_books | * | Smallint | Auto-increment | * | нет | | Инвентарный N экземпляра книги |
Code_book | | Smallint | | | нет | | Шифр (код) наименования книги |
Present | | Bit | 1 | | нет | | Признак наличия данного экземпляра книги |
Таблица Reader представляет собой каталог читательских карточек.
Таблица А5. Таблица Reader - Читательская карточка:
Поле | ключ | Тип | De-fault | Unique | NULL | Check | Комментарий |
Name_reader | | Char(18) | | | нет | | Фамилия и инициалы читателя |
Adress | | Char(26) | | | нет | | Адрес читателя |
N_reader | * | Smallint | Auto-incre-ment | * | нет | | N читательской карточки |
Hom_phone | | Char(9) | | | да | | N домашнего телефона |
Work_phone | | Char(9) | | | да | | N рабочего телефона |
Birthday | | Date | | | | (Тек.дата- Birthday)>17 | Дата рождения читателя |
Таблица Absent хранит данные о книгах, находящихся на руках у читателей.
Таблица А6. Свойства таблицы Absent
Поле | ключ | Тип | Default | Unique | NULL | Check | Комментарий |
N_books | * | Smallint | | * | Нет | | Инвентарный N экземпляра книги |
N_reader | | Smallint | | | Нет | | N читательской карточки |
Beg_date | | Date | Тек. дата | | нет | | Дата взятия книги |
End_date | | Date | Тек. Дата+15 | | нет | | Дата, когда должна быть возвращена книга |
Ограничение таблицы - CHECK(End_date>Beg_date)
Назад |
Содержание