Relacije između tabela u modelu podataka

Pregledač ne podržava video.

Dodajte više energije u analizu podataka kreiranjem relacija koje zasnivaju različite tabele. Relacija je veza između dve tabele koje sadrže podatke: jedna kolona u svakoj tabeli je osnova za relaciju. Da biste razumeli zašto su relacije korisne, zamislite da pratite podatke za porudžbine klijenata u svom preduzeću. Možete da pratite sve podatke u jednoj tabeli koji imaju ovakvu strukturu:

ID klijenta

Ime

E-pošta

Diskontna stopa

ID porudžbine

Datum porudžbine

Proizvod

Količina

1

Amidžić

chris.ashton@contoso.com

0,05

256

07.01.10.

Kompaktni digitalni fotoaparat

11

1

Amidžić

chris.ashton@contoso.com

0,05

255

03.01.10.

SLR kamera

15

2

Balašević

michal.jaworski@contoso.com

0,10

254

03.01.10.

Program „Budget Movie-Maker“

27

Ovakav pristup može da funkcioniše, ali on obuhvata skladištenje velike količine suvišnih podataka, kao što je e-adresa za svaku porudžbinu. Skladište je jeftino, ali ako se e-adresa promeni, morate da se uverite da ste ažurirali svaki red za tog klijenta. Rešenje za ovaj problem je podela podataka na više tabela i definisanje relacija između njih. Ovaj pristup se koristi u relacionim bazama podataka kao što je SQL Server. Na primer, baza podataka koju uvozite može da predstavlja podatke o porudžbinama raspoređene u tri povezane tabele:

Klijenti

[ID klijenta]

Ime

E-pošta

1

Amidžić

dusan.amidzic@contoso.com

2

Balašević

mihajlo.balasevic@contoso.com

Popusti za klijente

[ID klijenta]

Diskontna stopa

1

0,05

2

0,10

Porudžbine

[ID klijenta]

ID porudžbine

Datum porudžbine

Proizvod

Količina

1

256

07.01.10.

Kompaktni digitalni fotoaparat

11

1

255

03.01.10.

SLR kamera

15

2

254

03.01.10.

Program „Budget Movie-Maker“

27

U modelu podataka postoje relacije – relacije koje eksplicitni kreirate ili koje Excel automatski kreira u vaše ime kada istovremeno uvezete više tabela. Možete i da koristite programski dodatak Power Pivot za kreiranje modela ili upravljanje njim. Detalje potražite u članku Kreiranje modela podataka u programu Excel.

Ako koristite programski dodatak Power Pivot da biste uvezli tabele iz iste baze podataka, Power Pivot može da otkrije veze između tabela na osnovu kolona koje su između [zagrada] i može ponovo da predstavi te relacije u modelu podataka koji gradi u pozadini. Više informacija potražite u odeljku Automatsko otkrivanje i izvođenje relacija u ovom članku. Ako uvezete tabele iz više izvora, možete ručno da kreirate relacije kao što je opisano u člankuKreiranje relacija između dve tabele.

Relacije se zasnivaju na kolonama u svakoj tabeli koja sadrži iste podatke. Na primer, možete da relacije tabele "Klijenti" sa tabelom "Porudžbine" ako svaka sadrži kolonu u kojoj se skladišti ID klijenta. U ovom primeru, imena kolona su ista, ali to nije obavezno. Jedna bi mogla da se zove CustomerID, a druga CustomerNumber, dokle god svi redovi u tabeli „Porudžbine“ sadrže ID koji se skladišti i u tabeli „Klijenti“.

U relaciji baze podataka postoji nekoliko tipova ključeva. Ključ je obično kolona sa posebnim svojstvima. Razumevanje svrhe svakog ključa može da vam pomogne da upravljate modelom podataka sa više tabela, koji obezbeđuje podatke za izvedenu tabelu, izvedeni grafikon ili Power View izveštaj.

Iako postoji mnogo tipova ključeva, ovo su najvažnije za nas ovde:

  • Primarni ključ: jedinstveno identifikuje red u tabeli, kao što je "ID kupca" u tabeli "Klijenti".

  • Alternativni ključ (ili ključ kandidat): još jedan ključ, osim primarnog ključa, koja je jedinstvena. Na primer, tabela „Zaposleni“ može da skladišti ID zaposlenog i broj socijalnog osiguranja, što su dve jedinstvene vrednosti.

  • Strani ključ: kolona koja upućuje na jedinstvenu kolonu u drugoj tabeli, kao što je CustomerID u tabeli "Porudžbine", koja upućuje na CustomerID u tabeli "Klijenti".

U modelu podataka, primarni ili alternativni ključ se naziva srodna kolona. Ako tabela sadrži i primarni i alternativni ključ, možete da koristite jedan kao osnovu relacije tabela. Sporedni ključ se naziva izvorna kolona ili samo kolona. U našem primeru bi se definisala relacija između kolone CustomerID u tabeli "Porudžbine" (kolone) i kolone CustomerID u tabeli "Klijenti" (kolona za pronalaženje). Ako uvozite podatke iz relacione baze podataka, Excel podrazumevano bira sporedni ključ iz jedne tabele i odgovarajući primarni ključ iz druge tabele. Međutim, možete da koristite bilo koju kolonu koja sadrži jedinstvene vrednosti kao kolonu za pronalaženje.

Relacija između klijenta i porudžbine je relacija jedan-prema-više. Svaki klijent može da ima više porudžbina, ali porudžbina ne može da ima više klijenata. Druga važna relacija između tabela je jedan-prema-jedan. U našem primeru, tabela "Popusti za klijente", koja definiše jedinstvenu stopu popusta za svakog klijenta, ima relaciju jedan-prema-jedan sa tabelom "Klijenti".

Ova tabela prikazuje relacije između tri tabele ("Klijenti", "Popusti za kupce"i "Porudžbine"):

Relacija

Tip

Kolona za pronalaženje

Kolona

Kupci-Popusti za kupce

jedan-prema-jedan

Kupci.ID kupca

Popusti za kupce.ID kupca

Klijenti-Porudžbine

jedan-prema-više

Kupci.ID kupca

Porudžbine.ID kupca

Napomena: Relacije više-prema-više nisu podržane u modelu podataka. Primer relacije više-prema-više je direktna relacija između tabela „Proizvodi“ i „Klijenti“, u kojoj jedan klijent može da kupi više proizvoda i isti proizvod može da kupi više klijenata.

Nakon kreiranja bilo koje relacije, Excel mora ponovo da izračuna sve formule koje koriste kolone iz tabela u tek kreiranoj relacijama. Obrada može da potraje, u zavisnosti od količine podataka i složenosti relacija. Za više detalja pogledajte ponovo izračunavanje formula.

Model podataka može da sadrži više relacija između dve tabele. Da biste napravili tačna izračunavanja, programu Excel je potrebna jedna putanja od jedne tabele do sledeće. Zato je samo jedna relacija između svakog para tabela aktivna u datom trenutku. Iako su ostale neaktivne, možete da navedete neaktivnu relaciju u formulama i upitima.

U prikazu dijagrama aktivna relacija je puna linija, a neaktivne su iskošene linije. Na primer, za AdventureWorksDW2012, tabela DimDate sadrži kolonu DateKeykoja je povezana sa tri različite kolone u tabeli FactInternetSales:OrderDate, DueDatei ShipDate. Ako je aktivna relacija između kolona DateKey i OrderDate, to je podrazumevana relacija u formulama osim ako ne odredite drugačije.

Relacija se može kreirati kada se ispune sledeći zahtevi:

Kriterijumi

Opis

Jedinstveni identifikator za svaku tabelu

Svaka tabela mora da ima jednu kolonu koja jedinstveno identifikuje svaki red u tabeli. Kolona obično predstavlja primarni ključ.

Jedinstvene kolone za pronalaženje

Vrednosti podataka u koloni za pronalaženje moraju da budu jedinstvene. Drugim rečima, kolona ne može da sadrži duplikate. U modelu podataka, nule i prazne niske su jednake praznoj vrednosti, koja predstavlja posebnu vrednost podataka. To znači da ne možete da imate više nula u koloni za pronalaženje.

Kompatibilni tipovi podataka

Tipovi podataka u izvornoj koloni i koloni za pronalaženje moraju da budu kompatibilni. Više informacija o tipovima podataka potražite u temi Tipovi podataka podržani u modelima podataka.

U modelu podataka nije moguće kreirati relaciju tabela ako je ključ složen. Takođe ste ograničeni na kreiranje relacija jedan-prema-jedan i jedan-prema-više. Ostali tipovi relacija nisu podržani.

Složeni ključevi i kolone za pronalaženje

Sastavni ključ se sažima od više od jedne kolone. Modeli podataka ne mogu da koriste kompozicione ključeve: tabela uvek mora da ima tačno jednu kolonu koja na jedinstven način identifikuje svaki red u tabeli. Ako uvezete tabele koje imaju postojeću relaciju zasnovanu na kompozitivnom ključu, čarobnjak za uvoz tabele u programnom sistemu Power Pivot će zanemariti tu relaciju jer nije moguće kreirati u modelu.

Da biste kreirali relaciju između dve tabele koje sadrže više kolona sa definisanim primarnim i sporednim ključem, prvo kombinujte vrednosti tako da kreirate kolonu za jedan ključ pre nego što kreirate relaciju. To možete da uradite pre nego što uvezete podatke ili kreiranjem izračunate kolone u modelu podataka koristeći programski dodatak Power Pivot.

Relacije više-prema-više

Model podataka ne može da sadrži relacije više-prema-više. Ne možete prosto da dodate spojene tabele u model. Međutim, možete da koristite DAX funkcije za oblikovanje relacija više-prema-više.

Samospajanja i petlje

Samospajanja nisu dozvoljena u modelu podataka. Samospajanje je rekurzivna relacija tabele sa njom samom. Samospajanja se često koriste za definisanje hijerarhije nadređeno–podređeno. Na primer, možete da spojite tabelu „Zaposleni“ sa njom samom da biste proizveli hijerarhiju koja prikazuje lanac upravljanja u preduzeću.

Excel ne dozvoljava kreiranje petlji između relacija u radnoj svesci. Drugim rečima, sledeći skup relacija je zabranjen.

Tabela 1, kolona a   i   Tabela 2, kolona f

Tabela 2, kolona f   i   Tabela 3, kolona n

Tabela 3, kolona n   i   Tabela 1, kolona a

Ako pokušate da kreirate relaciju koja bi prouzrokovala kreiranje petlje, generiše se greška.

Jedna od prednosti uvoza podataka pomoću programskog dodatka Power Pivot jeste to što Power Pivot ponekad može da otkrije relacije i kreira nove relacije u modelu podataka koje kreira u programu Excel.

Kada uvozite više tabela, Power Pivot automatski otkriva sve postojeće veze između tabela. Osim toga, kada kreirate izvedenu tabelu, Power Pivot analizira podatke u tabelama. On otkriva moguće relacije koje nisu definisane i predlaže da se odgovarajuće kolone obuhvate tim relacijama.

Algoritam za otkrivanje koristi statističke podatke o vrednostima i metapodacima kolona da bi izveo podatke o mogućim relacijama.

  • Tipovi podataka u svim povezanim kolonama bi trebalo da budu kompatibilni. Za automatsko otkrivanje su podržani samo celi brojevi i tekstualni podaci. Više informacija o tipovima podataka potražite u članku Tipovi podataka podržani u modelima podataka.

  • Da bi relacija bila uspešno otkrivena, broj jedinstvenih ključeva u koloni za pronalaženje mora da bude veći od vrednosti u tabeli na strani „više“. Drugim rečima, kolona ključa na strani „više“ u okviru relacije ne može da sadrži vrednosti koje se ne nalaze u koloni ključa tabele za pronalaženje. Na primer, recimo da imate tabelu koja sadrži listu proizvoda sa njihovim ID-ovima (tabela za pronalaženje) i tabelu prodaje koja sadrži listu prodaje za svaki proizvod (strana „više“ u okviru relacije). Ako zapisi o prodaji sadrže ID proizvoda koji nema odgovarajući ID u tabeli proizvoda, nije moguće automatsko kreiranje relacije, ali možete ručno da je kreirate. Da bi program Excel otkrio relaciju, morate prvo da ažurirate tabelu za pronalaženje sa listom proizvoda i unesete ID-ove proizvoda koji nedostaju.

  • Uverite se da je ime kolone ključa na strani „više“ slično imenu kolone ključa u tabeli za pronalaženje. Imena ne moraju da budu potpuno ista. Na primer, u poslovnom okruženju često imate varijacije imena kolona koje sadrže suštinski iste podatke: Emp ID, EmployeeID, Employee ID, EMP_IDi tako dalje. Algoritam otkriva slična imena i dodeljuje veću mogućnost onim kolonama koje imaju slično ili isto ime. Zbog toga, da biste povećali verovatnoću kreiranja relacije, možete da preimenujete kolone u podacima koje uvozite u ime slično kolonama u postojećoj tabeli. Ako program Excel pronađe više mogućih relacija, u tom slučaju ne kreira relaciju.

Ove informacije mogu da vam pomognu da razumete zašto se ne otkrivaju sve relacije ili kako promene u metapodacima, kao što su ime polja i tipovi podataka, mogu da poboljšaju rezultate automatskog otkrivanja relacija. Više informacija potražite u članku Rešavanje problema sa relacijama.

Automatsko otkrivanje imenovanih skupova

Relacije se ne otkrivaju automatski između imenovanih skupova i povezanih polja u izvedenoj tabeli. Ove relacije možete da kreirate ručno. Ako želite da koristite automatsko otkrivanje relacija, uklonite svaki imenovani skup i dodajte pojedinačna polja iz imenovanog skupa direktno u izvedenu tabelu.

Izvođenje relacija

U nekim slučajevima relacije između tabela se automatski povezuju. Na primer, ako kreirate relaciju između prva dva skupa tabela ispod, pretpostavlja se da postoji relacija između druge dve tabele i ona se automatski uspostavlja.

Proizvodi i kategorija – kreirano ručno

Kategorija i potkategorija – kreirano ručno

Proizvodi i potkategorija – relacija se izvodi

Da bi relacije bile automatski ulančane, moraju da budu u jednom smeru, kao što je prikazano iznad. Ako su početne relacije bile između, na primer, tabela „Prodaja“ i „Proizvodi“ i još „Prodaja“ i „Klijenti“, relacija se ne izvodi. To je zato što je relacija između tabela „Proizvodi“ i „Klijenti“ tipa više-prema-više.

Potrebna vam je dodatna pomoć?

Razvijte Office veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Izgleda da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×