Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчёт БАВ.doc
Скачиваний:
39
Добавлен:
21.09.2019
Размер:
2.42 Mб
Скачать

Приведение к 3нф:

Так как транзитивных зависимостей нет, то 2 НФ является и 3 НФ. Полученный результат представлен на рис 3.

1.4 Проектирование таблиц

Книги/ knigi_bav

Код книги

Название Издательство

Год издания

Жанр

Место выдачи

Раздел


Поле

Тип

Правило

Kod_knigi

Number(5,0)

PRIMARY KEY

Nazvanie

Varchar2(40)

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

Izdatelsvo

Varchar2(40)

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

God_izdaniya

Number(4,0)

>=1900

Janr

Varchar2(40)

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

Mesto_vidachi

Varchar2(40)

FOREIGN KEY

Mesto_vidachi_bav

Razdel

Varchar2(40)

FOREIGN KEY

Razdel_bav


В таблице knigi_bav содержится информация о книге находящейся в таблице knigi_bav т.е. её характеристики. Таблица содержит следующие поля:

Kod_knigi: поле являющееся первичным ключом. Содержит информацию о коде книги. Является числом содержащим 5 цифр. В домашней библиотеке будет примерно 4000 книг. 1000 Номеров для книг будет в запасе, т.к. могут добавляться новые книги, теряться номера и т.д.

Nazvanie: поле содержащее информацию о названии книги. Является строкой. Значение поля не может превышать 40 символов. Т.к. названия книг могут быть длинными, то мы берем число символов с запасом. Обязательно для заполнения.

Izdatelsvo: поле содержащее информацию об издательстве. Является строкой. Значение поля не может превышать 40 символов. Обычно названия печатных издательств состоят из одного слова. Иногда из 2 слов. Исходя из этих особенностей задаем число символов с запасом. Обязательно для заполнения.

God_izdaniya: поле содержащее информацию о годе издания книги. Является числом содержащим 4 цифры. Год издания всегда состоит из 4 цифр, поэтому максимальное число символов в строке 4. Значение должно быть не меньше 1900. Более старых книг в библиотеке нет.

Janr: поле содержащее информацию о жанре книги. Является строкой Значение поля не может превышать 40 символов. Обычно жанр состоит из одного-двух слов, но иногда одно произведение сочетает в себе несколько жанров, поэтому закладываем число символов с запасом. Обязательно для заполнения.

Mesto_vidachi: поле является внешним ключем. Содержит информацию о месте выдачи книги. Значение поля не должно превышать 40 символов. Названия магазинов и библиотек могут быть длинными, поэтому берем именно такое число символов.

Razdel: поле является внешним ключем. Содержит информацию о разделе в котором находится книга. Значение поля не должно превышать 40 символов. Раздел может состоять из нескольких слов, поэтому, берем число символов с запасом.

Пользователь/polzovatel_bav

Код книги

Дата выдачи

ФИО

Срок возврата


Поле

Тип

Правило

Kod_knigi

Number(5,0)

PRIMARY KEY

Data_vidachi

Varchar2(10)

PRIMARY KEY

>=01.01.2000

FIO

Varchar2(40)

FOREIGN KEY

FIO_bav

Srok_vozvrata

Varchar2(10)

>=01.01.2000


В таблице polzovatel_bav содержится информация о пользователе занесенном в таблицу polzovatel_bav.

Таблица содержит следующие поля:

Kod_knigi: поле являющееся первичным ключом. Содержит информацию о коде книге. Является числом содержащим 5 цифр.

Data_vidachi: поле являющееся первичным ключом. Содержит информацию о дате выдачи книги. Является строкой. Значение поля не должно превышать 10 символов и быть не меньше 01.01.2000. Тип переменной, которую мы используем в данном случае, строка. Состоит она из 10 символов т.к. запись даты по заданному образцу должна содержать 10 символов. ПРИМЕР 01.01.2000

FIO: поле является внешним ключом. Содержит информацию о Фамилии, Имени и Отчестве пользователя. Является строкой. Значение поля не должно превышать 40 символов.

Srok_vozvrata: поле содержит информацию о сроке возврата книги. Является строкой. Значение поля не должно превышать 10 символов и быть не меньше 01.01.2000

Автор/Avtor_bav

Код книги

Автор


Поле

Тип

Правило

Kod_knigi

Number(5,0)

FOREIGN KEY

Knigi_bav

Avtor

Varchar2(40)

FOREIGN KEY

FIO_bav


В таблице Avtor_bav содержится информация об авторе(-ах) книги.

Таблица содержит следующие поля:

Kod_knigi: поле являющееся внешним ключом. Содержит информацию о коде книге. Является числом содержащим 10 цифр.

Avtor : поле являющееся внешним ключом. Содержит информацию об авторе(-ах) книги. Является строкой. Значение поля не должно превышать 40 символов. Обязательно для заполнения

Место выдачи/ mesto_vidachi_bav

Код места выдачи

Название

Адрес

Тип


Поле

Тип

Правило

Kod_mesta_vidachi

Number(5,0)

PRIMARY KEY

Nazvanie

Varchar2(40)

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

Adress

Varchar2(40)

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

Tip

Varchar2(10)

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


В таблице mesto_vidachi_bav содержится информация о месте выдачи книги.

Таблица содержит следующие поля:

Kod_mesta_vidachi: поле являющееся первичным ключом. Содержит информацию о месте выдачи книги. Является числом содержащим 5 цифр.

Nazvanie : поле содержащее информацию о названии места выдачи книги. . Является строкой. Значение поля не должно превышать 40 символов. Обязательно для заполнения.

Adress: поле содержащее информацию об адресе места выдачи книги. Является строкой. Значение поля не должно превышать 40 символов. Обязательно для заполнения

Tip: поле содержащее информацию о типе места выдачи книги(магазин, библиотека). Является строкой. Значение поля не должно превышать 10 символов. Обязательно для заполнения

Пользователь книги/ Polzovatel_knigi_bav

Код книги

Пользователь


Поле

Тип

Правило

Kod_knigi

Number(5,0)

FOREIGN KEY

Knigi_bav

Polzovatel

Varchar2(40)

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

В таблице Polzovatel_knigi_bav содержится информация пользователе(-ях) книги.

Таблица содержит следующие поля:

Kod_knigi: поле являющееся внешним ключом. Содержит информацию о коде книге. Является числом содержащим 5 цифр.

Polzovatel: поле содержащее информацию об пользователе(-ях) книги. Является строкой. Значение поля не должно превышать 40 символов.

Раздел/ Razdel_bav

Поле

Тип

Правило

Razdel

Varchar2(40)

PRIMARY KEY

Podrazdel

Varchar2(40)

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


Раздел

Подраздел


В таблице Razdel_bav содержится информация принадлежности книги к разделу и подразделу.

Таблица содержит следующие поля:

Razdel: поле являющееся первичным ключом. Содержит информацию о разделе в котором находится книга. Является строкой. Значение поля не должно превышать 40 символов.

Podrazdtel: поле содержащее информацию о подразделе в котором находится книга. Является строкой. Значение поля не должно превышать 40 символов.

ФИО/FIO_bav

ФИО

Адрес


Поле

Тип

Правило

FIO

Varchar2(40)

PRIMARY KEY

Adress

Varchar2(40)

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


В таблице FIO_bav содержится информация об пользователе.

Таблица содержит следующие поля:

FIO: поле являющееся первичным ключом. Содержит информацию о пользователе. Является строкой. Значение поля не должно превышать 40 символов.

Adress: поле содержащее информацию об адресе сета проживания пользователя. Является строкой. Значение поля не должно превышать 40 символов. Обязательно для заполнения

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]