Кои се зависностите на база на податоци?

Зависи од базата на податоци се тема која често ги збунува и студентите и професионалците на база на податоци. За среќа, тие не се толку комплицирани и најдобро може да се илустрираат преку употреба на голем број примери. Во оваа статија, ние ги испитуваме заедничките типови на зависност од базата.

Зависности на базата / функционални зависности

Зависност се појавува во базата на податоци кога информациите зачувани во истата табела на бази на податоци единствено ги одредуваат другите информации што се зачувани во истата табела. Можете исто така да го опишете ова како врска каде што знаењето на вредноста на еден атрибут (или сет на атрибути) е доволно за да ви ја каже вредноста на друг атрибут (или сет на атрибути) во истата табела.

Велејќи дека постои зависност помеѓу атрибутите во табелата е иста како велејќи дека постои функционална зависност помеѓу тие атрибути. Ако има зависност во базата на податоци, така што атрибутот Б зависи од атрибутот А, ќе го напишете ова како "A -> B".

На пример, во табела со карактеристики на вработените, вклучувајќи го и бројот на социјалното осигурување (SSN) и име, може да се каже дека името зависи од SSN (или SSN - име) бидејќи името на вработениот може да биде уникатно определено од нивната SSN. Меѓутоа, обратната изјава (име -> SSN) не е точна бидејќи повеќе од еден вработен може да има исто име, но различни SSNs.

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

Тривијална функционална зависност се јавува кога опишувате функционална зависност на атрибут на збирка атрибути што го вклучуваат оригиналниот атрибут. На пример, "{A, B} -> B" е тривијална функционална зависност, како што е "{name, SSN} -> SSN". Овој тип на функционална зависност се нарекува тривијален, бидејќи може да се изведе од здравиот разум. Очигледно е дека ако веќе ја знаете вредноста на В, тогаш вредноста на Б може единствено да се определи со тоа знаење.

Целосни функционални зависности

Целосна функционална зависност се јавува кога веќе ги исполнувате условите за функционална зависност и множеството атрибути на левата страна од функционалната изјава за зависност не може да се намалат понатаму. На пример, "{SSN, age} -> name" е функционална зависност, но не е целосна функционална зависност, бидејќи можете да ја отстраните возраста од левата страна на изјавата без да влијаете врз зависноста.

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

Транзитивните зависности се јавуваат кога постои индиректна врска што предизвикува функционална зависност. На пример, "A -> C" е транзитивна зависност кога е вистина само затоа што и "A -> B" и "B -> C" се вистинити.

Мултивалентни зависности

Повеќенаменските зависности се случуваат кога присуството на еден или повеќе редови во табелата значи присуство на еден или повеќе други редови во истата табела. На пример, замислете автомобил компанија која произведува многу модели на автомобил, но секогаш прави и црвени и сини бои на секој модел. Ако имате табела која ги содржи името на моделот, бојата и годината на секој автомобил што компанијата го произведува, во таа табела постои завод за зависност од повеќе нивоа . Ако има ред за одредено име на модел и година во сино, исто така мора да постои сличен ред што одговара на црвената верзија на истиот автомобил.

Важноста на зависностите

Зависи од базата на податоци се важни за разбирање, бидејќи тие ги обезбедуваат основните градежни блокови кои се користат при нормализирање на базата на податоци . На пример: