Šta su zavisnosti od baze podataka?

Zavisnosti baze podataka su tema koja često zbunjuje i studente i profesionalce baze podataka. Na sreću, oni nisu tako komplikovani i najbolje se mogu ilustrovati korišćenjem više primera. U ovom članku istražujemo tipove zavisnosti baze podataka.

Dependencije baze podataka / Funkcionalne zavisnosti

Zavisnost se javlja u bazi podataka, kada informacije koje se čuvaju u istoj tablici baze podataka jedinstveno određuju druge informacije koje se čuvaju u istoj tabeli. Takođe možete opisati to kao odnos u kojem je poznavanje vrijednosti jednog atributa (ili skupa atributa) dovoljno da vam kaže vrijednost drugog atributa (ili skupa atributa) u istoj tabeli.

Kažu da postoji zavisnost između atributa u tabeli je isto što govori da postoji funkcionalna zavisnost između tih atributa. Ako postoji zavisnost u bazi podataka tako da atribut B zavisi od atributa A, ovo bi napisali kao "A -> B".

Na primjer, u tabeli sa karakteristikama zaposlenih, uključujući broj socijalnog osiguranja (SSN) i ime, može se reći da ime zavisi od SSN (ili SSN -> imena) jer ime zaposlenog može biti jedinstveno određeno od njihove SSN-a. Međutim, obratna reč (ime -> SSN) nije tačna jer više od jednog zaposlenog može imati isti naziv ali različite SSN.

Trivijalne funkcionalne zavisnosti

Tvivična funkcionalna zavisnost se javlja kada opisujete funkcionalnu zavisnost atributa na skupu atributa koji uključuje izvorni atribut. Na primjer, "{A, B} -> B" je trivijalna funkcionalna zavisnost, kao što je "{name, SSN} -> SSN". Ova vrsta funkcionalne zavisnosti naziva se trivijalno, jer se može izvesti iz zdravog razuma. Očigledno je da ako već znate vrijednost B onda vrijednost B može biti jedinstveno određena tom znanjem.

Puna funkcionalna zavisnost

Puna funkcionalna zavisnost se javlja kada već ispunjavate uslove za funkcionalnu zavisnost, a skup atributa na levoj strani funkcionalne izjave o zavisnosti ne može se dalje smanjiti. Na primjer, "{SSN, age} -> name" je funkcionalna zavisnost, ali nije potpuna funkcionalna zavisnost jer možete ukloniti starost sa lijeve strane izjave bez uticaja na odnos zavisnosti.

Transitive Dependencies

Tranzitivne zavisnosti se javljaju kada postoji indirektna veza koja uzrokuje funkcionalnu zavisnost. Na primjer, "A -> C" je tranzitivna zavisnost kada je istinita samo zato što su obe "A -> B" i "B -> C" istinite.

Višestruke zavisnosti

Višestruke zavisnosti se javljaju kada prisustvo jednog ili više redova u tabeli podrazumeva prisustvo jednog ili više drugih redova u toj istoj tabeli. Na primer, zamislite automobilsku kompaniju koja proizvodi mnoge automobile, ali uvek čini i crvene i plave boje svakog modela. Ako imate tablicu koja sadrži naziv modela, boju i godinu svakog automobila koji proizvede kompanija, u toj tabeli postoji zavisnost od višestruke zavisnosti . Ako postoji red za određeno ime modela i godinu u plavoj boji, mora se naći i sličan red koji odgovara crvenoj verziji tog istog automobila.

Značaj zavisnosti

Odnosi sa bazama podataka su važni za razumevanje jer pružaju osnovne elemente koji se koriste u normalizaciji baze podataka . Na primjer: