Правильно ли я сделал этот вопрос о нормализации базы данных?

Попробуйте это -

regions_CONSUMER_DISCR = [x+'/CONSUMER DISCR' for x in regions]
regions_CONSUMER_STAPLES = [x+'/CONSUMER STAPLES' for x in regions]
-1
задан wawawa 19 January 2019 в 12:54
поделиться

1 ответ

Насколько мне известно, ваше решение не очень хорошее

Мое решение

Просто я изменяю ваши данные следующим образом

[115 ] enter image description here

Теперь я вижу, что это отношение находится в 0-й нормальной форме

Так что удалите столбец имени и создайте новое отношение, как показано ниже

[ 116] enter image description here

Теперь отношение клиента находится в

  • 1-й нормальной форме, потому что нет многозначной
  • 2-й нормальной формы, потому что нет частичных зависимостей [ 1111]
  • 3-я нормальная форма, потому что содержит только столбцы, которые не являются транзитивно зависимыми от первичного ключа

Отношение покупателя такое же, но оно все еще находится в 0-й нормальной форме [117 ] enter image description here

Теперь я удаляю столбец купил_сайт из отношения покупателя и создаю новое отношение, как показано ниже enter image description here

Теперь приобретенное отношение находится в

  • 1-я нормальная форма, потому что нет многозначной
  • 2-я нормальная форма, потому что нет частичной зависимости Это
  • 3-я нормальная форма, поскольку содержит только столбцы, которые не являются транзитивно зависимыми

Так что теперь я обновляю отношение покупателя, как показано ниже enter image description here [ 1130]

и ID, и Item_ID являются первичными ключами (составной первичный ключ)

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

Окончательные отношения:

  • Клиент ( ID , Имя)
  • Закупленные_элементы ( Item_ID , Item_Name)
  • [1118 ] Shopper ( Customer_ID, Item_ID )

Мой плохой, я забыл специально упомянуть, что в нормализации мы не можем добавить новый атрибут или удалить атрибуты . Так что здесь я просто изменяю ваше отношение к данным только на более понятное отношение. Спасибо @Mike Sherrill 'Cat Recall за указание на эту проблему.

0
ответ дан Pasan Jayawickrama 19 January 2019 в 12:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: