Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 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 е рестрикционен релационен модел, който не позволява нетривиални и не-зависими от функциите многостойностни зависимости между свойствата.

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

Забележка: Ако се вземат предвид само зависимостта на функциите, парадигмата с най-висока степен на нормализация на релационни модели е BCNF. Ако вземете предвид многостойностните зависимости, това е 4NF.

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

Петият парадигма е крайният парадигма, елиминирайки зависимостта от връзки в 4NF, а петият парадигма трябва да отговаря на следните изисквания:

1. Четвъртият парадигма трябва да бъде изпълнен

2. Таблиците трябва да се разлагат на по-малки таблици, освен ако тези таблици логически нямат същия първичен ключ като оригиналната таблица.

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

Прехвърлен от:Входът към хиперлинк е видим.
Препратка:Входът към хиперлинк е видим.





Предишен:Alibaba Cloud замества частната мрежа (виртуален суич), мрежата е недостъпна
Следващ:Стартирайте приложението Guardian ASP.NET Core с PM2
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com