Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных_методичка.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.49 Mб
Скачать

Анализ информационных задач и круга пользователей системы

Система создаётся для обслуживания следующих групп пользователей:

  • читатели или сотрудники осуществляющие выдачу книг;

  • сотрудники, осуществляющие добавление книг в библиотеку;

  • администрация.

Определим границы информационной поддержки пользователей:

1) Функциональные возможности:

  • ведение БД (запись, чтение, модификация, удаление в архив);

  • обеспечение логической непротиворечивости БД;

  • обеспечение защиты данных от несанкционированного или случайного доступа (определение прав доступа);

  • реализация наиболее часто встречающихся запросов в готовом виде;

2) Готовые запросы:

  • выдача и возвращение книги читателем;

  • добавление/удаление заказа на книгу;

  • просмотр списка должников с указание взятых книг;

  • поиск книги

Логическое проектирование реляционной бд Преобразование er–диаграммы в схему базы данных

На основе ранее полученной ER-диаграммы построим схему БД:

Составление реляционных отношений.

Отношение Читатели(readers)

Номер чит. Билета

r_id

N(6)

Первичный ключ

ФИО

r_name

C(50)

Обязательное поле

Дата рождения

r_born

D

Адрес

r_addr

C(50)

Обязательное поле

Телефон

r_tel

C(30)

Отношение Книги(books)

Идентификатор книги

b_id

N(10)

Первичный ключ

Название книги

b_name

C(100)

Обязательное поле

Авторы книги

b_author

C(255)

Многозначное поле

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

b_publisher

С(30)

Количество экземпляров

b_quantity

N(3)

Обязательное поле не меньше 0

Количество страниц

b_pages

N(5)

Обязательное поле

Рейтинг

b_rating

N(5)

Обязательное поле

Дата посл. выдачи

b_lastdate

D

Шифр раздела

p_code

C(20)

Внешний ключ (partitions)

Отношение Журналы(magazines):

Идентификатор журнала

m_id

N(5)

Первичный ключ

Название

m_name

C(100)

Обязательное поле

Издатель

m_publisher

C(100)

Шифр раздела

p_code

C(20)

Внешний ключ (partitions)

Отношение Статьи(articles):

Идентификатор статьи

a_id

N(10)

Первичный ключ

Авторы

a_author

C(255)

Многозначное поле

Название

a_name

C(50)

Обязательное поле

Страница статьи в журнале

a_page

N(5)

Обязательное поле

Идентификатор выпуска

f_id

N(10)

Внешний ключ (fascicles)

Отношение Выпуски(fascicles):

Идентификатор выпуска

f_id

N(10)

Первичный ключ

Номер выпуска

f_number

N(10)

Обязательное поле

Уникальная

совокупность

полей

Идентификатор журнала

m_id

N(10)

Внешний ключ (magazines)

Количество журналов выпуска в библиотеке

f_quantity

N(10)

Обязательное поле не меньше 0

Дата выпуска журнала

f_date

D

Дата последней выдачи

f_lastdate

D

Количество страниц

f_pages

N(4)

Рейтинг

f_rating

N(5)

Обязательное поле

Отношение заказы выпусков(fascicle_order):

Дата заказа

fo_date

D

Обязательное поле

Идентификатор читателя

r_id

N(6)

Внешний ключ (кeaders)

Уникальная

совокупность

полей

Идентификатор выпуска

f_id

N(10)

Внешний ключ (fascicles)

Отношение заказы книг(book_order):

Дата заказа

bo_date

D

Обязательное поле

Идентификатор читателя

r_id

N(6)

Внешний ключ (readers)

Уникальная совокупность полей

Идентификатор книги

b_id

N(10)

Внешний ключ (books)

Отношение разделы(partitions):

Шифр раздела

p_code

C(10)

Первичный ключ

Название

p_name

C(50)

Обязательное поле

Отношение книги на руках(book_taken):

Идентификатор книги

b_id

N(10)

Внешний ключ (books)

Дата, когда взяли

bt_date

D

Обязательное поле

Идентификатор читателя

r_id

N(6)

Внешний ключ (readers)

Отношение журналы на руках(fascicle_taken):

Идентификатор книги

m_id

N(10)

Внешний ключ (fascicles)

Дата, когда взяли

ft_date

D

Обязательное поле

Идентификатор читателя

r_id

N(6)

Внешний ключ (readers)