Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bazy_dannykh.docx
Скачиваний:
3
Добавлен:
27.09.2019
Размер:
156.01 Кб
Скачать

Дата логическое проектирование

Дата логическое проектирование реляционных баз данных называется так же логическим проектированием – это построение совокупности схем отношений, которое адекватно отображает объекты предметной области и семантические связи между ними.

Классическая технология логического проектирования РБД основана на теории нормализации отношений, разработанная американским математиком Е. Коддом. При этом проектирование это переход от более низких нормальных форм к более высоким.

Различают:

  • первую нормальную форму – 1НФ

  • вторую нормальную форму – 2НФ

  • третью нормальную форму – 3НФ

  • нормальную форму Бойса Конда - НФБК

  • четвертую нормальную форму – 4НФ

  • пятую нормальную форму – 5НФ

Нормализация отношений

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

Простым называется атрибут, если значения его атомарны, то есть неделимы.

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

Отношение приведено к 1НФ если все его атрибуты простые.

Отношение R: сотрудник – 1НФ

Табельный номер

ФИО

Оклад

Комната

Телефон

Дети

имя.р

возр.р.

211

Иванов

5000

12

616

Саша

10

211

Иванов

5000

12

616

Женя

7

211

Иванов

5000

12

616

Вася

3

358

Темин

7000

12

616

Вова

5

360

Котов

10000

5

306

Таня

8

360

Котов

10000

5

306

Саша

6

В данном случае атрибут дети – сложный. А по определению, в 1НФ не может содержаться сложных атрибутов.

Эту таблицу в таком виде нельзя использовать. Её нельзя ввести в компьютер, т.к. СУБД будет выдавать ошибку – первичный ключ будет повторяться, либо совсем отсутствовать.

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

Недостатки:

  • сотрудник вообще не попадает в базу, если у него нет детей

  • Дублирование информации

  • Если у пользователя что то меняется, то требуется изменять несколько колонок

Неключевым атрибут - любой атрибут отношения не входящий в состав ни одного возможного ключа.

Функциональная зависимость – пусть X и Y два атрибута некоторого отношения. Говорят, что Y функционально зависит от Х, если в любой момент времени, каждому значению X соответствует только 1 значение Y.

Взаимно независимые атрибуты – атрибуты, которые функционально не зависят друг от друга.

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

Говорят, что неключевой атрибут функционально полно зависит от составного ключа, если он функционально зависит от всего ключа, а не от какой-то его части.

Имя ребенка

ФИО

Оклад

Комната

Телефон

Возраст ребенка

Рассмотрим как неключевые атрибуты зависят от составного ключа.

Возраст ребенка –> (Табл. № && имя р.)

Отношения находятся в 2НФ если оно находится в 1НФ и каждый его неключевой атрибут функционально полно зависит от составного ключа.

В отношении Сотрудник 2НФ нарушено, так как только возраст ребенка имеет полную функциональную зависимость.

R1: сотрудник

Табельный номер

ФИО

Оклад

Комната

Телефон

211

Иванов

5000

12

616

358

Темин

7000

12

616

360

Котов

10000

5

306

R2: дети

Табельный номер

Имя ребенка

Возраст ребенка

211

Саша

10

211

Женя

7

211

Вася

3

358

Вова

5

360

Таня

8

360

Саша

6

R1 и R2 во второй нормальной форме.

  1. Но в них все же комната и телефон дублируются многократно.

  2. Если в какой то комнате изменился телефон, то придется изменять множество строчек.

  3. Если в какой то комнате в данный момент никто не сидит, то информация о комнате теряется.

Транзитивная зависимость – пусть X Y Z атрибуты одного отношения и между ними существует функциональная зависимость, такая, что

Тогда говорят, что Z транзитивно зависит от X.

Отношение находится в 3НФ, если оно находится в 2НФ и каждый не ключевой атрибут не транзитивно зависит от первичного ключа.

В нашем случае телефон зависит от табельного номера транзитивно.

R3: сотрудник

Табельный номер

ФИО

оклад

Комната

211

Иванов

---

12

358

Темин

---

5

360

Котов

---

5

R4: аудитории

Комната

Телефон

12

616

5

300

R3: сотрудник (табN, ФИО, оклад, комната)

R4: аудитории (Nk, телефон)

R2: (таблN, имя.р, возраст.р)

Спроектировать базу данных:

Студент (Номер факультета, название факультета, ФИО декана, телефон деканата, номер группы, специальность, ФИО старосты, количество студентов в группе, номер зачетки, стипендия)

назв. ф

фио д

тел.д

Ном гр

спец

кол ст в гр

фио стар

стип

ФИО

ном зач

4

ТКиИ

Ромаз

305

4209

230101

24

Саб

1200

Саб

001

24

1200

Бас

002

24

0

Петров

003

4210

222222

20

Куй

1800

Куев

004

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

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

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

R1: факультет

название факультета

фио декана

телефон

R2: группы

N группы

ФИО старосты

специальность

количество студентов

R3: студент

Номер зачетки

ФИО

стипендия

R4: Таблица связей

N факультета

N Группы

N зачетки

НФБК (нормальная форма Бойса-Кодда)

Отношение находится в НФБК в том и только том случае, если оно находится в 3НФ и каждый детерминант отношения является возможным ключом отношения.

R: Экзамены(Nз, Ид.N, Дисциплина, Дата, Оценка)

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

R1

R2

Номер зачетки

Номер зачетки

Дисциплина

Ид_номер

Дата

Оценка

Для R2: номер зачетки или идентификационный номер

R2 в НФБК так как идентификационный номер детерминант и возможный ключ.

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