Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 2184|Ответ: 0

[Связь] Реляционное проектирование баз данных: популярное понимание трёх парадигм

[Скопировать ссылку]
Опубликовано 21.03.2024 10:53:13 | | | |
Во время собеседования некоторые интервьюеры спрашивают о парадигме баз данных, я изучал базы данных в колледже, но не слышал о парадигме, или учитель упоминал её, и я не обращал внимания?

В настоящее время в реляционных базах данных существует шесть парадигм: первая парадигма (1NF), вторая парадигма (2NF), третья парадигма (3NF), парадигма Басса-Кода (BCNF), четвёртая парадигма (4NF) и пятая парадигма (5NF, также известная как идеальная парадигма).

Обычно мы используем первую парадигму (1NF), вторую парадигму (2NF) и третью парадигму (3NF), которая является «тремя парадигмами», которые будут обсуждаться в этой статье.

Первая парадигма (1NF): требует, чтобы каждый столбец таблицы базы данных был неделимым атомарным элементом данных.

Иллюстрировать:



В таблице выше ни столбцы «Семейная информация», ни «Информация о школе» не соответствуют требованиям атомичности, поэтому они не соответствуют первой парадигме и корректируются следующим образом:



Видно, что каждый скорректированный столбец неделим, поэтому он удовлетворяет первой парадигме (1NF);

Парадигма 2 (2NF): На основе 1NF некодовые атрибуты должны полностью зависеть от кандидатных кодов (исключает частичную зависимость непервичных атрибутов от мастер-кода на основе 1NF)

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

Иллюстрировать:



В случае, показанном на приведённой выше диаграмме, один и тот же заказ может содержать разные произведения, поэтому первичным ключом должна быть комбинация «номер заказа» и «номер произведения».

Однако можно увидеть, что количество товара, скидка и цена связаны с «номером заказа» и «номером продукта», а сумма заказа и время заказа связаны только с «номером заказа» и не связаны с «номером продукта».

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



Третья парадигма (3NF): На основе 2NF любой неосновной атрибут не зависит от других неосновных атрибутов (исключая зависимости передачи на основе 2NF)

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

Иллюстрировать:



В приведённой выше таблице все атрибуты полностью зависят от числа учеников, поэтому выполняется вторая парадигма, но «пол классного руководителя» и «возраст классного руководителя» напрямую зависят от «имени классного руководителя».

Вместо основного ключа «номер ученика» необходимо внести следующие корректировки:



Таким образом, требования третьей парадигмы выполняются.

ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。

BCNF (Парадигма нормальной формы Бахуса Бовсе Кодда)

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

Характерный:

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

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

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

Например, таблица запасов (имя склада, имя администратора, имя продукта, количество) — первичный ключ (имя склада, имя администратора, имя продукта), которая удовлетворяет предыдущим трем парадигмам, но существует зависимость между именем склада и именем администратора, поэтому удаление склада приведёт к удалению администратора, поэтому BCNF не удовлетворяется.

4NF Четвёртая парадигма

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

Например, таблица контактной информации пользователя (идентификатор пользователя, стационарный телефон, мобильный телефон), где первичным ключом является идентификатор пользователя, что удовлетворяет BCNF, но у пользователя может быть несколько стационарных или нескольких мобильных телефонов, тогда такая конструкция неразумна и должна быть изменена на (user ID, тип контакта, номер телефона).

Примечание: если рассматривать только зависимости от функций, то парадигмой с наивысшей степенью нормализации реляционных паттернов является BCNF. Если учитывать многозначные зависимости, это 4NF.

5NF Пятая парадигма

Пятая парадигма — это конечная парадигма, устраняющая зависимость от соединений в 4NF, и пятая парадигма должна соответствовать следующим требованиям:

1. Четвёртая парадигма должна быть выполнена

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

В общем практическом применении пятая парадигма не обязательно рассматривается.

Переведён из:Вход по гиперссылке виден.
Ссылка:Вход по гиперссылке виден.





Предыдущий:Alibaba Cloud заменяет частную сеть (виртуальный коммутатор), сеть недоступна
Следующий:Запустите приложение Guardian ASP.NET Core с PM2
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com