SQL нормализации базы данных - PullRequest
0 голосов
/ 18 марта 2019

Мне нужно нормализовать эту таблицу до 3-й нормальной формы. Наглядно показаны этапы 0NF, 1NF, 2NF и 3NF. Укажите любые предположения, которые вы можете сделать Используйте реляционные символьные обозначения. Нормализация

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

ONF R1 = (Owner #, Owner Name, Owner Phone, {Pet#, Pet Name, Walk Date, Walk Duration, Paid, Walk Notes})

1NF-

R11 = (Owner #, Owner Name, Owner Phone)
R12 = (Pet #, Owner #, Pet Name, Walk Date, Walk Duration, Paid, Walk Notes)

2NF
R11 = (Owner #, Owner Name, Owner Phone)
R12 = (Pet #, Owner #, Pet Name, Walk Date, Walk Duration, Paid, Walk Notes)
R121 =(Pet #, Owner #, Pet Name)
R122 = (Pet #, Walk Date, Walk Duration, Paid, Walk Notes)

3NF
Already in 3NF as no transitive dependencies exist.

Просто хотел посмотреть, было ли это правильно?

1 Ответ

0 голосов
/ 18 марта 2019

У вас нет транзитивной зависимости, но

--- Все начальные отношения находятся в 0NF

--- 1NF:

Каждая ячейка таблицы должна содержать одно значение.

Каждая запись должна быть уникальной.

--- 2NF Вы должны разделить прогулку и домашнее животное, чтобы избежать избыточности: потому что, если вы вставляете нового питомца без сеанса прогулки, у вас есть 4 столбца без значения,за 1000 новых питомцев это будет плохо.это так плохо для обновления и удаления сеанса ходьбы

R1 = (Owner#, Owner Name, Owner Phone)
R2 = (Pet#, Pet Name,Paid, Owner#,Walk#)
R3 = (Walk#, Walk Date, Walk Duration, Walk Notes)
...