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

Нормализация полученных отношений (до 3 нф)

1 НФ:

Для приведения таблиц к 1НФ необходимо разбить сложные атрибуты на простые, а многозначные атрибуты вынести в отдельные отношения.

Многозначный атрибут “авторы” отношений “статьи”, “книги” вынесем в отдельные отношения “авторы статей”, “авторы книг”.

2 НФ:

В нашей базе данных составные первичные ключи имеют отношения “выпуски”, “заказы выпусков”, “заказы книг”. Не ключевые атрибуты этих отношения функционально полно зависят от первичных ключей.

3 НФ:

Отношения данной базы данных не нарушают требований 3НФ.

Окончательная схема реляционных отношений

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

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

r_id

N(6)

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

ФИО

r_name

C(50)

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

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

r_born

D

Адрес

r_add

C(50)

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

Телефон

r_tel

C(30)

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

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

b_id

N(10)

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

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

b_name

C(100)

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

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

b_publisher

С(30)

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

b_quantity

N(3)

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

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

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_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)

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

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

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)

Отношение авторы(authors):

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

ath_id

N(5)

Суррогатный первичный ключ

ФИО автора

ath_fio

C(200)

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

Отношение авторы книг (books_authors):

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

b_id

N(5)

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

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

ath_id

N(5)

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

Отношение авторы статей (articles_authors):

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

a_id

N(5)

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

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

ath_id

N(5)

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

Форма отчетности:

  • Показать реализацию модели ПО в реляционную БД (составить таблицы базы данных)

  • Ответить на контрольные вопросы

Контрольные вопросы:

  1. Нормализация

  2. Цели, которые преследуются при построении наиболее эффективной структуры данных

  3. 1НФ, 2НФ, 3НФ