Relacije između tabela u modelu podataka

Pregledač ne podržava video zapis. Instalirajte Microsoft Silverlight, Adobe Flash Player ili Internet Explorer 9.
Video zapis: relacije u programskim dodacima Power View i PowerPivot

Povećajte moć analize podataka kreiranjem veza između podataka u različitim tabelama. Relacija je veza između dve tabele sa podacima koja se zasniva na jednoj koloni u svakoj tabeli. 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 koja ima sledeću 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

Javorski

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 koje eksplicitno kreirate ili koje Excel kreira u vaše ime kada uvezete više tabela istovremeno. 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.

Vrh stranice

U ovom članku

Kolone i ključevi

Tipovi relacija

Relacije i performanse

Više relacija između tabela

Zahtevi za relacije tabela

Nepodržano u relaciji tabela

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

Relacije više-prema-više

Samospajanja i petlje

Automatsko otkrivanje i izvođenje relacija u programskom dodatku PowerPivot

Automatsko otkrivanje imenovanih skupova

Izvođenje relacija

Kolone i ključevi

Relacije se zasnivaju na kolonama u svakoj tabeli koja sadrži iste podatke. Na primer, tabele „Klijenti“ i „Porudžbine“ mogu da budu međusobno povezane jer obe sadrže kolonu koja sadrži 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 relacionoj bazi podataka postoji nekoliko tipova ključeva koji su obično samo kolone 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.

Sledeći ključevi su najzanimljiviji za nas:

  • Primarni ključ: jedinstveno identifikuje red u tabeli, kao što je „ID klijenta“ u tabeli „Klijenti“.

  • Alternativni ključ (ili ključ kandidat): još jedna kolona, pored 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.

  • Sporedni 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.

Tipovi relacija

Relacija između tabela „Klijenti“ 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. Ostali tipovi relacija su jedan-prema-jedan i više-prema-više. Tabela “Popusti za klijente“, koja definiše jedinstvenu stopu popusta za svakog klijenta, u relaciji je jedan-prema-jedan sa tabelom „Klijenti“.

Sledeća tabela prikazuje relacije između tri tabele:

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.

Relacije i performanse

Nakon što se kreira relacija, Excel obično mora ponovo da izračuna svaku formulu koja koristi kolone iz tabela u nedavno kreiranoj relaciji. Obrada može da potraje, u zavisnosti od količine podataka i složenosti relacija. Više detalja potražite u članku Ponovno izračunavanje formula.

Više relacija između tabela

Model podataka može da sadrži više relacija između dve tabele. Programu Excel je potrebna samo jedna putanja od jedne tabele do druge da bi obavio tačna izračunavanja. Zato je samo jedna relacija između svakog para tabela aktivna u datom trenutku. Ostale relacije nisu aktivne, ali možete da navedete neaktivnu relaciju u formulama i upitima. U dijagramskom prikazu aktivna relacija je predstavljena kao linija, dok su neaktivne predstavljene kao isprekidane linije. Na primer, za AdventureWorksDW2012, tabela DimDate sadrži kolonu DateKey koja je povezana sa tri različite kolone u tabeli FactInternetSales: OrderDate, DueDate i ShipDate. Ako je aktivna relacija između kolona DateKey i OrderDate, to je podrazumevana relacija u formulama osim ako ne odredite drugačije.

Vrh stranice

Zahtevi za relacije tabela

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 članku Tipovi podataka podržani u modelima podataka.

Nepodržano u relaciji tabela

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

Složeni ključ se sastoji od više kolona. Modeli podataka ne mogu da koriste složene ključeve. Tabela mora uvek da ima tačno jednu kolonu koja na jedinstven način identifikuje svaki red u tabeli. Ako uvozite tabele koje imaju postojeću relaciju zasnovanu na složenom ključu, čarobnjak za uvoz tabele u programskom dodatku Power Pivot će zanemariti tu relaciju jer njeno kreiranje nije moguće 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.

Vrh stranice

Automatsko otkrivanje i izvođenje relacija u programskom dodatku Power Pivot

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, za preduzeće često imate varijacije imena kolona koje sadrže suštinski iste podatke: Emp ID, EmployeeID, Employee ID, EMP_ID itd. 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.

Vrh stranice

Unapredite 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! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×