LINUX.ORG.RU

Нормальные формы в БД

 


0

1
  1. В 1НФ разве сказано, что таблица должна иметь первичный ключ?
  2. В следующем примере какая НФ нарушена? Предположим, что Автор - это неделимый атрибут, т.е 1НФ соблюдена. Повторяются тут книги - это смущает.
id | Книга        | Автор
1  | Война и мир  | Толстой Л.Н.
2  | Мертвые души | Гоголь Н.В.
  1. Я понимаю, что в табл не может быть несколько одинаковых по смыслу столбцов. К примеру, в пример выше добавить в конец Автор2. К какой НФ это относится?

  2. В следующем примере не нарушена 3НФ? Зависимость Кол-во от Товар, не?

id | Товар        | Кол-во
1  | Война и мир  | 2
2  | Мертвые души | 3
  1. В чем отличие 2НФ от 3НФ? Во второй НФ сказано, что некл. поле должно зависеть от всего первичного ключа, а в третье НФ, что некл.поле не должно зависеть от другого некл.поле - это разве не одно и то же, типа что в итоге все должно зависить от первичного ключа?

Это не совсем в General, скорее в Development

НФ разве может быть нарушена?

В 3 должны быть id товара, расписанные в title в отделтной таблице.

anonymous
()

В чем отличие 2НФ от 3НФ? Во второй НФ сказано, что некл. поле должно зависеть от всего первичного ключа, а в третье НФ, что некл.поле не должно зависеть от другого некл.поле - это разве не одно и то же, типа что в итоге все должно зависить от первичного ключа?

Вот таблица

Имя   | Фамилия | Дата рождения | Роддом | Адрес роддома
Вася  | Пупкин  | 01.01.1901    | 1      | Г. Москва, Академика Королева, 12

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

micronekodesu ★★★
()

В 1НФ разве сказано, что таблица должна иметь первичный ключ?

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

Я понимаю, что в табл не может быть несколько одинаковых по смыслу столбцов. К примеру, в пример выше добавить в конец Автор2. К какой НФ это относится?

эм, если речь идёт о столбце 'Соавтор' – то это адекватное свойство книги, с чего бы ему не быть

vedowi6419
()
Последнее исправление: vedowi6419 (всего исправлений: 1)

Википедию читай. У тебя всё совсем плохо, вопросы с БД решаются за одну пару дисциплины в которую входят реляционные базы данных (меня так вообще учили как реляционные СУБД теоретически проектировать, а не просто БД, т.е. о том, как написать свой MySQL, а не просто БД сделать). Конечно довольно примитивно, без углубления в то, как правильно парсер для SQL запросов писать и вообще для языков программирования, но про те же красно-чёрные деревья, б-деревья и где их применять в строительстве СУБД я в курсе (например, красно-черные имеет смысл делать, когда данных не так много, а б-деревья, когда много), как и то, что минимально надо реализовать чтобы формально иметь право называться реляционной БД.

peregrine ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.