Relacije između tabela u modelu podataka

Napomena: Želimo da vam što pre pružimo najnoviji sadržaj pomoći čim na vašem jeziku. Ova stranica je prevedena automatski i može da sadrži gramatičke greške ili netačnosti. Naš cilj je da ovaj sadržaj bude koristan. Možete li nam na dnu ove stranice saopštiti da li su vam informacije bile od koristi? Ovo je članak na engleskom jeziku za brzu referencu.

Pregledač ne podržava video zapis. Instalirajte Microsoft Silverlight, Adobe Flash Player ili Internet Explorer 9.

Dodajte više power analizu podataka tako što ćete napraviti relacije amogn različitih tabela. Veza je vezu 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. Bi pratili sve podatke u jednu tabelu strukture ovako:

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

Postoje relacije u modelu podataka – koji su eksplicitno kreirate ili neko koje Excel automatski kreira za vas 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že se odnose " kupci " sa " porudžbine " Ako svaki sadrži kolonu koja skladišti ID kupca. 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“.

Relacione baze podataka, postoji nekoliko tipova tasteri. Ključ je obično kolona sa posebna svojstva. 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 su mnoge tipove ključeva, ovo su najvažnije u našem svrhu:

  • Primarni ključ: jedinstveno identifikuje red u tabeli, kao što je CustomerID u tabeli " klijenti ".

  • Alternativne šifru (ili šifre kandidat): kolone 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.

  • 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 definisati bi relacije između CustomerID u tabeli " porudžbine " (kolona) i 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.

Odnos između klijenta i nalog je jedan-prema-više veza. Svaki klijent može da ima više porudžbina, ali porudžbina ne može da ima više klijenata. Važne relacije je jedan. U našem primeru tabele popusti za klijente koji definiše jedan diskontna stopa za svakog klijenta, ima relaciju sa tabela "Kupci".

Ova tabela prikazuje odnose između tri tabele (klijenti popusti za klijentei 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.

Kada se kreira bilo koju vezu, Excel mora obično ponovo izračunajte sve formule koje koriste kolone iz tabele u relaciji novokreirani. 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.

Model podataka može da sadrži više relacija između dve tabele. Da biste napravili tačnošću izračunavanja, Excel mora jednom putanju iz jedne tabele u drugu. Zato je samo jedna relacija između svakog para tabela aktivna u datom trenutku. Iako su ostale neaktivan, možete da navedete neaktivne relacije u formulama i upita.

U prikazu dijagrama, aktivne relacije je puna linija i one neaktivne su isprekidane linije. Na primer, u AdventureWorksDW2012, u tabeli DimDate sadrži kolonu, "Šifradatuma", koje se odnose na tri različite kolone u tabeli FactInternetSales: DatumPorudžbine krajni roki DatumIsporuke. 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 članku 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

Složeni ključ sastoji se od više od jedne kolone. Modeli podataka ne možete da koristite složeni ključevi: tabele uvek moraju da sadrže tačno jednu kolonu koja jedinstveno identifikuje svaki red u tabeli. Ako ste uvezli tabele koje imaju postojećoj relaciji na osnovu kompozitnog ključa, tabela čarobnjaka za uvoz u programskom dodatku PowerPivot će zanemari tu relaciju zato što on 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. Možete da uradite ovo pre nego što uvezete podatke, ili tako što ćete kreirati izračunate kolone u modelu podataka koristeći Power Pivot programski dodatak.

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 smislu, često imate varijacije na imena kolona koje sadrže u suštini iste podatke: Emp ID ", IDZaposlenog" "," ID zaposlenog "," 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.

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.

×