Wat is databasis afhanklikhede?

Databasis afhanklikhede is 'n onderwerp wat dikwels beide studente en databasis professionals verwar. Gelukkig is dit nie so ingewikkeld nie en kan dit die beste geïllustreer word deur 'n aantal voorbeelde te gebruik. In hierdie artikel ondersoek ons ​​algemene databasisafhanklikheidstipes.

Databasis-afhanklikhede / Funksionele afhanklikes

'N Afhanklikheid vind plaas in 'n databasis wanneer inligting wat in dieselfde databasis tabel gestoor word, uniek bepaal ander inligting wat in dieselfde tabel gestoor word. Jy kan dit ook beskryf as 'n verhouding waar die waarde van een eienskap (of 'n stel eienskappe) genoeg is om die waarde van 'n ander kenmerk (of stel eienskappe) in dieselfde tabel te vertel.

Om te sê dat daar 'n afhanklikheid tussen eienskappe in 'n tabel is, is dieselfde as om te sê dat daar 'n funksionele afhanklikheid tussen daardie eienskappe is. As daar 'n afhanklikheid in 'n databasis is, sodat attribuut B afhanklik is van attribuut A, sou jy dit as "A -> B" skryf.

Byvoorbeeld, in 'n tabel wat werknemers se eienskappe insluit, insluitende die SSN en die naam, kan gesê word dat die naam van SSN (of SSN -> naam) afhanklik is omdat 'n werknemer se naam uniek bepaal kan word van hul SSN. Die omgekeerde verklaring (naam -> SSN) is egter nie waar nie, aangesien meer as een werknemer dieselfde naam kan hê as verskillende SSN's.

Triviale funksionele afhanklikhede

'N triviale funksionele afhanklikheid vind plaas wanneer u 'n funksionele afhanklikheid van 'n kenmerk beskryf op 'n versameling eienskappe wat die oorspronklike kenmerk insluit. Byvoorbeeld, "{A, B} -> B" is 'n triviale funksionele afhanklikheid, soos "{naam, SSN} -> SSN". Hierdie tipe funksionele afhanklikheid word triviaal genoem omdat dit uit gesonde verstand afgelei kan word. Dit is duidelik dat as jy die waarde van B reeds ken, dan kan die waarde van B uniek bepaal word deur daardie kennis.

Volledige funksionele afhanklikhede

'N Volledige funksionele afhanklikheid vind plaas wanneer u reeds voldoen aan die vereistes vir 'n funksionele afhanklikheid en die stel eienskappe aan die linkerkant van die funksionele afhanklikheidsverklaring kan nie verder verminder word nie. Byvoorbeeld, "{SSN, ouderdom} -> naam" is 'n funksionele afhanklikheid, maar dit is nie 'n volledige funksionele afhanklikheid nie omdat jy ouderdom van die linkerkant van die stelling kan verwyder sonder om die afhanklikheidsverhouding te beïnvloed.

Transitiewe afhanklikes

Transitiewe afhanklikhede kom voor wanneer daar 'n indirekte verhouding is wat 'n funksionele afhanklikheid veroorsaak. Byvoorbeeld, "A -> C" is 'n oorgangsafhanklikheid wanneer dit waar is omdat beide A -> B en B -> C waar is.

Meervoudige afhanklikes

Meervoudige afhanklikhede kom voor wanneer die teenwoordigheid van een of meer rye in 'n tabel die teenwoordigheid van een of meer ander rye in dieselfde tabel impliseer. Verbeel jou byvoorbeeld 'n motormaatskappy wat baie modelle van motors vervaardig, maar maak altyd rooi en blou kleure van elke model. As jy 'n tafel het wat die model naam bevat, kleur en jaar van elke motor wat die maatskappy vervaardig, is daar 'n veelvuldige afhanklikheid in die tabel. As daar 'n ry vir 'n sekere modelnaam en jaar in blou is, moet daar ook 'n soortgelyke ry wees wat ooreenstem met die rooi weergawe van dieselfde motor.

Belang van afhanklikhede

Databasis afhanklikhede is belangrik om te verstaan ​​omdat hulle die basiese boustene wat in databasis normalisering gebruik word, verskaf . Byvoorbeeld: