Skip to main content

Ръководство за разбиране на зависимостта на бази данни

EL KARMA (Completo) Suzanne Powell 21-01-2011 (Karma 2: https://youtu.be/imLT97AYCmw) (Април 2025)

EL KARMA (Completo) Suzanne Powell 21-01-2011 (Karma 2: https://youtu.be/imLT97AYCmw) (Април 2025)
Anonim

Зависимостта е ограничение, което се прилага или определя връзката между атрибутите. Той се среща в база данни, когато информацията, съхранявана в същата таблица на база данни, уникално определя друга информация, съхранявана в същата таблица. Можете също така да опишете това като връзка, където знанието за стойността на един атрибут (или набор от атрибути) е достатъчно, за да ви покаже стойността на друг атрибут (или набор от атрибути) в същата таблица.

Базовите зависимости често объркват както студентите, така и специалистите по бази данни. За щастие те не са толкова сложни, колкото изглеждат. Най-добре могат да бъдат обяснени с няколко примера. Тук ще разгледаме общите типове зависимост на базата данни.

База данни зависи и функционални зависимости

Да кажем, че зависимостта между атрибутите в една таблица е същата като да се каже, че съществува функционална зависимост между тези атрибути. Ако има зависимост в база данни, така че атрибутът Б зависи от атрибута А, бихте го написали като:

A -> B

Например, в таблица, включваща характеристиките на служителите, включително SSN (SSN) и името, може да се каже, че името зависи от SSN (или SSN -> name), защото името на служителя може да бъде уникално определено от SSN. Обаче обратното изявление (име -> SSN) не е вярно, защото повече от един служител може да има едно и също име, но винаги има различни SSN.

Тривиални функционални зависимости

Тривиална функционална зависимост се появява, когато описвате функционална зависимост на атрибут от колекция от атрибути, която включва оригиналния атрибут. Например, {A, B} -> B е тривиална функционална зависимост, както е {name, SSN} -> SSN. Този тип функционална зависимост се нарича тривиално, защото може да се извлече от здравия разум. Очевидно е, че ако вече знаете стойността на B, тогава стойността на B може да бъде уникално определена от това знание.

Пълнофункционални зависимости

Пълна функционална зависимост възниква, когато вече отговаряте на изискванията за функционална зависимост, а наборът от атрибути от лявата страна на изложението за функционална зависимост не може да бъде намален допълнително. Например, името {SSN, age} -> е функционална зависимост, но не е пълна функционална зависимост, защото можете да премахнете възрастта от лявата страна на изявлението, без да се отразявате на зависимостта.

Транзитивни зависимости

Транзитивните зависимости се появяват, когато има непряка връзка, която причинява функционална зависимост. Например, А -> С е транзитивна зависимост, когато е вярно само защото и двете A -> B и B -> C са верни.

Многобройни зависимости

Многовариантни зависимости се появяват, когато наличието на един или повече редове в таблицата предполага наличието на един или повече други редове в същата таблица. Например, представете си автомобилната компания, която произвежда много модели автомобили, но винаги прави червени и сини цветове на всеки модел. Ако имате таблица, съдържаща името на модела, цвета и годината на всеки автомобил, който компанията произвежда, има многобройна зависимост в тази таблица. Ако има ред за определено име на модел и година със синьо, трябва да има и подобен ред, съответстващ на червената версия на същата кола.

Значението на зависимостите

Базовите зависимости са важни за разбирането, защото те осигуряват основните градивни елементи, използвани в нормализирането на базата данни, процеса на ефективно организиране на данните в база данни. Например:

  • За да бъде таблица във втора нормална форма (2NF), в таблицата не трябва да има случай на неподходящ атрибут, който е функционално зависим от подмножество на кандидат-ключ.
  • За да бъде таблицата да е в трета нормална форма (3NF), всеки атрибут nonprime трябва да има непреходна функционална зависимост от всеки кандидат-ключ.
  • За да бъде една маса в Boyce-Codd Normal Form (BCNF), всяка функционална зависимост (различна от тривиалните зависимости) трябва да бъде на ключ.
  • За да бъде таблица в четвърта нормална форма (4NF), тя не трябва да има няколко зависими зависимости.