Wat binne depannen fan databank?

Databankôfhinklikens binne in ûnderwerp dat faak beide learlingen en database-profesjonals misbrûkt. Gelokkich binne se net sa yngewikkeldich en kinne bêste bylde wurde troch it brûken fan in oantal foarbylden. Yn dit artikel ûndersykje wy mienskiplike database-dependenzintypen.

Databankôfhinklikens / funksjonele dependencies

In ôfwikkeling komt yn in databank as ynformaasje dy't yn deselde databank tabel bewarre is, unyk de oare ynformaasje bepaald yn itselde tabel. Jo kinne dit ek beskriuwe as in relaasje wêr't de wearde fan ien attribút (of in oantal attributen) te witten is, genôch om de wearde fan in oar attribute (of set of attributes) yn deselde tabel te fertellen.

Tink derom dat der in ôfhinging tusken attributen yn in tabel is deselde as deselde dat der in funksjonele ôfhinklikens is tusken dizze attributen. As der in ôfhinging yn in databank is sa dat attribút B ôfhinklik is fan attribut A, sil jo dit as "A -> B" skriuwe.

Bygelyks, yn in tabellist fan wurknimmers-karakteren, lykas Social Security Number (SSN) en namme, kinne jo sein wurde dat de namme ôfhinklik is fan SSN (of SSN -> namme) om't de namme fan syn meiwurker ienris fêststeld wurde kin fan har SSN. De opkommende deklaraasje (namme -> SSN) is lykwols net wier, om't mear as ien meiwurker itselde namme hawwe mar ferskate SSN's.

Triviale funksjonele dependencies

In triviale funksjonele ôfhinklikheid is miskien as jo in funksjonele ôfhinklikheid fan in attribus beskriuwe op in samling fan attributen dy't it orizjinele attribúsje befet. Bygelyks, "{A, B} -> B" is in triviale funksjonele ôfhinklikheid, lykas "{name, SSN} -> SSN". Dizze soarte fan funksjonele ôfhinklikens wurdt trivial neamd, om't it kin wêze fan gewoan sin. It is fanselssprekkend dat as jo de wearde fan B al witte, dan kin de wearde fan B ienige fêststeld wurde troch dat kennis.

Folsleine funksjonele dependencies

In folsleine funksjonele ôfhinklikheid is miskien as jo al de easken foldwaan oan in funksjonele ôfhinklikheid en de opset fan 'e oanwêzigen op' e lofter kant fan 'e funksjonele ôfhinklike ferklearring kin net fierder ferminderje. Bygelyks "{SSN, age} -> namme" is in funksjonele ôfhinklikens, mar it is gjin folsleine funksjonele ôfhinging omdat jo âlder fan 'e linker kant fan' e ferklearring wiskje kinne sûnder dat de ôfhinklike relaasje beynfloedet.

Transitive Dependencies

Transitive ôfhingingen foarkomme as der in yndirekte relaasje is dy't in funksjonele ôfhinklikens feroarsaket. Bygelyks, "A -> C" is in transitive ôfhinklikens as it allinich wier is om't beide "A -> B" en "B -> C" wier binne.

Multivalearre dependenzen

Mearfâldige ôfhingingen foarkomme as de oanwêzichheid fan ien of mear reihen yn in tafel de oanwêzichheid fan ien of mear oare rigen yn itselde tabel jout. Bygelyks, imagine in auto bedriuw dat in soad modellen fan auto fabryk makket, mar altyd makket elke rot en blauwe kleuren fan elk model. As jo ​​in tabel hawwe dy't de modelnamme, de kleur en it jier fan elke auto befettet, it bedriuw makket, is der in mearjierrige ôfhinging yn dat tabel. As der in rige is foar in bepaalde modelbehearder en it jier yn blau, dan moat ek in ferlykbere rige wêze dy't oerienkommt mei de reade ferzje fan deselde auto.

Belang fan dependenzen

Databankôfhinklikens binne wichtich om te begripen omdat se de basisblokken brûke dy't brûkt wurde yn databanknormalisaasje . Bygelyks: