Ovisnost je ograničenje koje se odnosi na ili određuje odnos između atributa. Pojavljuje se u bazi podataka kada se informacije pohranjene u istoj tablici baze podataka automatski određuju ostale informacije pohranjene u istoj tablici. Možete je opisati i kao odnos u kojem je poznavanje vrijednosti jednog atributa (ili skup atributa) dovoljno da vam kažem vrijednost drugog atributa (ili skupa atributa) u istoj tablici.
Zavisnost od baza podataka često zbunjuje i studente i profesionalce baze podataka. Srećom, oni nisu tako komplicirani kao što se mogu činiti. Mogu se najbolje objasniti pomoću nekoliko primjera. Ovdje ćemo ispitati uobičajene vrste ovisnosti o bazama podataka.
Zavisnosti i funkcionalne ovisnosti baze podataka
Izgovorom da postoji ovisnost između atributa u tablici je ista kao da kažemo da postoji funkcionalna ovisnost između tih atributa. Ako postoji ovisnost u bazi podataka tako da atribut B ovisi o atributu A, to biste to napisali kao:
A -> B
Na primjer, u tablici koja navodi karakteristike zaposlenika, uključujući socijalni sigurnosni broj (SSN) i ime, može se reći da se ime ovisi o SSN (ili SSN -> ime) jer ime zaposlenika može biti jedinstveno određeno iz SSN-a. Međutim, obrnuto izjava (naziv -> SSN) nije istina jer više od jednog zaposlenika može imati isto ime, ali uvijek imaju različite SSN-ove. Trivična funkcionalna ovisnost događa se kada opisate funkcionalnu ovisnost atributa na zbirci atributa koji uključuje izvorni atribut. Na primjer, {A, B} -> B je trivijalna funkcionalna ovisnost, kao {name, SSN} -> SSN. Ova vrsta funkcionalne ovisnosti naziva se trivijalan jer se može izvesti iz zdravog razuma. Očito je da ako već znate vrijednost B, tada se vrijednost B može jedinstveno odrediti tim znanjem. Puna funkcionalna ovisnost nastaje kada već ispunjavate uvjete za funkcionalnu ovisnost, a skup atributa na lijevoj strani izjave o funkcionalnoj ovisnosti ne može se dalje smanjivati. Na primjer, naziv {SSN, age} -> funkcionalna je ovisnost, ali nije puna funkcionalna ovisnost jer možete ukloniti dob od lijeve strane izjave bez utjecaja na odnos ovisnosti. Prijelazne zavisnosti nastaju kada postoji neizravni odnos koji uzrokuje funkcionalnu ovisnost. Na primjer, A -> C je tranzitivna ovisnost kada je istina samo zato što su oba A -> B i B -> C istiniti. Višeslojne zavisnosti nastaju kada prisutnost jednog ili više redaka u tablici podrazumijeva prisutnost jednog ili više drugih redaka u istoj tablici. Na primjer, zamislite tvrtku za automobil koja proizvodi mnoge modele automobila, ali uvijek čini crvene i plave boje svakog modela. Ako imate tablicu koja sadrži naziv modela, boju i godinu svake tvrtke koju proizvodi tvrtka, u toj tablici postoji višeznačna ovisnost. Ako postoji red za određeni naziv modela i godina u plavom, mora postojati i sličan redak koji odgovara crvenoj verziji tog istog automobila. Ovisnost baza podataka važna je za razumijevanje jer pružaju osnovne elemente koji se koriste u normalizaciji baze podataka, proces učinkovitijeg organiziranja podataka u bazi podataka. Na primjer: Trivialne funkcionalne ovisnosti
Puna funkcionalna ovisnost
Transitirajuće ovisnosti
Ovisnost u više vrijednosti
Važnost ovisnosti