Relacije između tabela

Relacije između tabela definišu kako se redovi mogu međusobno povezati u bazi podataka. Na najjednostavnijem nivou, dodavanje kolone za pronalaženje u tabelu kreira novu relaciju 1:N (jedan prema više) između dve tabele i omogućava vam da postavite tu kolonu za pronalaženje u obrazac. Pomoću kolone za pronalaženje, korisnici mogu da povežu više podređenih redova te tabele sa jednim nadređenim redom tabele.

Pored toga što jednostavno definišu kako se redovi mogu povezati sa drugim redovima, relacije između tabela tipa 1:N takođe pružaju podatke za rešavanje sledećih pitanja:

  • Kada izbrišem red, da li neki redovi povezani sa tim redom takođe treba da budu izbrisani?
  • Kada dodelim red, da li novom vlasniku treba takođe da dodelim sve redove povezane sa tim redom?
  • Kako mogu da pojednostavim proces unosa podataka kada kreiram novi povezani red u kontekstu postojećeg reda?
  • Kako bi ljudi koji pregledaju red trebalo da budu u mogućnosti da vide povezane redove?

Tabele takođe mogu da učestvuju u relaciji tipa N:N (više prema više) u kojoj bilo koji broj redova za dve tabele može biti povezan jedan sa drugim.

Procena upotrebe relacija između tabela ili veza

Relacije između tabela su metapodaci koji prave izmene u bazi podataka. Ove odnosi omogućavaju da upiti efikasno preuzimaju povezane podatke. Koristite relacije između tabela za definisanje formalnih relacija koje definišu tabelu ili koje većina redova može da koristi. Na primer, prilika bez potencijalnog kupca ne bi bila korisna. Tabela mogućnosti za poslovanje takođe ima relaciju N:N sa tabelom konkurenata. To omogućava dodavanje više konkurenata u mogućnost za poslovanje. Možda ćete želeti da prikupite ove podatke i kreirate izveštaj koji pokazuje konkurente.

Postoje i druge manje formalne vrste relacija između redova koje se zovu veze. Na primer, možda bi bilo korisno da znate da li su dva kontakta u braku ili su možda prijatelji van posla ili je možda kontakt nekada radio za drugi nalog. Većina preduzeća neće generisati izveštaje koristeći ovu vrstu informacija ili zahtevati da se unesu, tako da se verovatno ne isplati kreirati odnosi. Još informacija: Konfigurisanje uloga veza

Tipovi relacija između tabela

Kada pogledate istraživač rešenja, mogli biste pomisliti da postoje tri tipa relacija između tabela. Zapravo postoje samo dva, kao što je prikazano u sledećoj tabeli.

Tip relacije Opis
1:N (jedan-prema-više) Relacija između tabela gde jedan red tabele za primarnu tabelu može se povezati sa mnogim drugim redovima povezane tabele zbog kolone za pronalaženje u povezanoj tabeli.

Prilikom prikazivanja reda primarne tabele možete da vidite listu povezanih redova tabele koji su povezani sa njim.

U Power Apps portalu, Trenutna tabela predstavlja primarnu tabelu.
N:N (više prema više) Relacija između tabela koja zavisi od posebne tabele relacije ponekad se naziva tabela ukrštanja, tako da mnogo redova jedne tabele može biti povezano sa mnogo redova druge tabele.

Prilikom prikazivanja redova bilo koje tabele u relaciji N:N, možete da vidite listu svih redova druge tabele koji su povezani sa njim.

Tip relacije N:1 (više prema jedan) postoji u korisničkom interfejsu zato što dizajner prikazuje prikaz grupisan po tabelama. Relacije tipa 1:N zapravo postoje između tabela i odnose se na svaku tabelu kao Primarna/aktuelna tabela ili Povezana tabela. Povezana tabela, koja se ponekad naziva podređena tabela, ima kolonu pronalaženja koja omogućava čuvanje reference na red iz primarne tabele, koja se ponekad naziva nadređena tabela. Relacija N:1 je samo relacija 1:N viđena iz perspektive povezane tabele.

Ponašanje relacije između tabela

Ponašanje za povezane tabele je važno jer pomaže da osigurate integritet podataka i može da automatizuje poslovne procese preduzeća.

Čuvanje integriteta podataka

Neke tabele postoje da bi podržale druge tabele. Oni nemaju smisla sami za sebe. Obično će imati potrebnu kolonu za pronalaženje da bi se povezali sa primarnom tabelom koju podržavaju. Šta bi trebalo da se desi kada se izbriše primarni red?

Ponašanje relacije možete da koristite da biste definisali šta se dešava sa srodnim redovima u skladu sa pravilima za vaše poslovanje. Više informacija:Dodavanje naprednog ponašanja relacije

Automatizovanje poslovnog procesa

Recimo da imate novog prodavca i želite da mu dodelite određeni broj postojećih poslovnih kontakata koji su trenutno dodeljeni drugom prodavcu. Svaki red poslovnog kontakta može imati niz radnih aktivnosti povezanih sa sobom. Lako možete pronaći aktivne poslovne kontakte koje želite ponovo da dodelite i dodeliti ih novom prodavcu. Ali šta će se desiti sa radnim aktivnostima povezanim sa poslovnim kontaktima? Da li želite da otvorite svaki zadatak i odlučite da li on takođe treba da se dodeli novom prodavcu? Verovatno ne želite. Umesto toga, možete da pustite da relacija automatski primeni neka standardna pravila. Ova pravila se primenjuju samo na redove zadataka povezane sa nalozima koje ponovo dodelite. Imate sledeće opcije:

  • Ponovo dodelite sve aktivne zadatke.
  • Ponovo dodelite sve zadatke.
  • Ne dodeljujte ponovo nijedan zadatak.
  • Ponovo dodelite sve zadatke trenutno dodeljene bivšem vlasniku poslovnih kontakata.

Relacija može da kontroliše način na koji će obavljanje radnji na redu za red primarne tabele kaskadno uticati na sve redove povezane tabele.

Ponašanja

Evo nekoliko vrsta ponašanja koje je moguće primeniti kada dođe do određenih radnji.

Ponašanje Opis
Rasporedi kaskadno aktivne Izvršava ovu radnju na svim aktivnim redovima povezane tabele.
Rasporedi kaskadno sve Izvršava ovu radnju na svim redovima povezane tabele.
Ne raspoređuj kaskadno nijedan Ne čini ništa.
Ukloni vezu Uklanja vrednost za pronalaženje za sve povezane redove.
Ograniči Sprečava brisanje redova primarne tabele kada postoje redovi povezane tabele.
Rasporedi kaskadno u vlasništvu korisnika Izvršava radnju na svim redovima srodne tabele koja je u vlasništvu istog korisnika koji je vlasnik reda primarne table.

Akcije

Ove radnje mogu da aktiviraju određena ponašanja:

Column Opis Opcije
Dodela Šta treba da se dogodi kada je red primarne tabele dodeljen nekom drugom? Kaskadno rasporedi sve
Kaskadni raspored je aktivan
Rasporedi kaskadno u vlasništvu korisnika
Ne raspoređuj kaskadno nijedan
Ponovo učini nadređenim Šta treba da se dogodi kada se promeni vrednost za pronalaženje povezane tabele u nadređenoj relaciji?
Još informacija: Nadređene relacije između tabela
Kaskadno rasporedi sve
Kaskadni raspored je aktivan
Rasporedi kaskadno u vlasništvu korisnika
Ne raspoređuj ništa kaskadno
Deli Šta treba da se dogodi kada se red primarne tabele deli? Kaskadno rasporedi sve
Kaskadni raspored je aktivan
Rasporedi kaskadno u vlasništvu korisnika
Ne raspoređuj ništa kaskadno
Izbriši Šta treba da se dogodi kada se red primarne tabele izbriše? Kaskadno rasporedi sve
Ukloni vezu
Ograniči
Opozovi deljenje Šta treba da se dogodi kada se onemogući deljenje reda primarne tabele? Kaskadno rasporedi sve
Kaskadni raspored je aktivan
Rasporedi kaskadno u vlasništvu korisnika
Ne raspoređuj ništa kaskadno
Objedini Šta treba da se dogodi kada se red primarne tabele objedini? Kaskadno rasporedi sve
Ne raspoređuj ništa kaskadno
Prikaz zbirne vrednosti Šta je željeno ponašanje prikaza zbirne vrednosti povezanog sa ovom relacijom? Rasporedi kaskadno sve
Rasporedi kaskadno aktivne
Rasporedi kaskadno u vlasništvu korisnika
Ne raspoređuj kaskadno nijedan

Napomena

Radnje Dodeli, Izbriši, Objedini i Ponovo nadredi se neće izvršavati u sledećim situacijama:

  • Ako originalni nadređeni red i tražena radnja sadrže iste vrednosti. Primer: Pokušaj pokretanja dodeljivanja i odabir kontakta koji je već vlasnik reda
  • Pokušaj izvođenja radnje nad nadređenim redom koji već izvodi kaskadnu radnju

Napomena

Pri izvršavanju dodele, svi tokovi posla ili poslovna pravila koja su trenutno aktivna u redovima automatski će se deaktivirati kada dođe do preraspodele. Novi vlasnik reda moraće ponovo da aktivira tok posla ili poslovno pravilo ako želi da ga i dalje koristi.

Nadređene relacije između tabela

Svaki par tabela koje su kvalifikovane za relaciju 1:N mogu da imaju više relacija 1:N između sebe. Ipak, obično samo jednu od tih relacija možemo smatrati nadređenom relacijom između tabela.

Nadređena relacija između tabela je bilo koja relacija između tabela tipa 1:N gde jedna od kaskadnih opcija u koloni Nadređeno u sledećoj tabeli ima vrednost tačno.

Akcija Nadređeni Nije nadređeno
Dodela Rasporedi kaskadno sve
Rasporedi kaskadno u vlasništvu korisnika
Rasporedi kaskadno aktivne
Ne raspoređuj kaskadno nijedan
Izbriši Rasporedi kaskadno sve RemoveLink
Ograniči
Ponovo učini nadređenim Rasporedi kaskadno sve
Rasporedi kaskadno u vlasništvu korisnika
Rasporedi kaskadno aktivne
Ne raspoređuj kaskadno nijedan
Deli Rasporedi kaskadno sve
Rasporedi kaskadno u vlasništvu korisnika
Rasporedi kaskadno aktivne
Ne raspoređuj kaskadno nijedan
Opozovi deljenje Rasporedi kaskadno sve
Rasporedi kaskadno u vlasništvu korisnika
Kaskadni raspored je aktivan
Ne raspoređuj ništa kaskadno

Na primer, ako kreirate novu prilagođenu tabelu i dodate relaciju između tabela tipa 1:N sa tabelom poslovnog kontakta gde je prilagođena tabela povezana tabela, možete da konfigurišete da radnje za tu relaciju između tabela koriste opcije u koloni Nadređeno. Ako kasnije dodate drugu relaciju između tabela tipa 1:N sa prilagođenom tabelom kao tabelom na koju se upućuje, možete samo da konfigurišete da radnje koriste opcije u koloni Nije nadređeno.

To obično znači da za svaki par tabele postoji samo jedan roditeljski odnos. Ovo su neki slučajevi kada pronalaženje za povezanu tabelu može da dozvoli relaciju sa više tipova tabela.

Na primer, ako tabela ima pronalaženje klijenta koje može da se odnosi na tabelu kontakta ili tabelu poslovnog kontakta. Postoje dve zasebne nadređene relacije između tabela tipa 1:N.

Svaka tabela aktivnosti ima sličan skup nadređenih relacija između tabela za tabele koje mogu biti povezane korišćenjem kolone za pronalaženje na koju se odnosi.

Ograničenja ponašanja koja se mogu podesiti

Zbog nadređenih relacija postoje neka ograničenja koja bi trebalo imati na umu kada definišete relacije između tabela.

  • Prilagođena tabela ne može biti primarna tabela u relaciji sa povezanom sistemskom tabelom koja je kaskadno raspoređena. To znači da ne možete imati relaciju kada je bilo koja radnja između primarne prilagođene tabele i povezane sistemske tabele podešena na opciju Rasporedi kaskadno sve, Rasporedi kaskadno aktivne ili Rasporedi kaskadno kada je korisnik vlasnik.
  • U novoj relaciji nijedna radnja ne može biti podešena na opciju Rasporedi kaskadno sve, Rasporedi kaskadno aktivne ili Rasporedi kaskadno kada je korisnik vlasnik ukoliko srodna tabela u toj relaciji već postoji kao srodna tabela u drugoj relaciji gde je neka radnja podešena na opciju Rasporedi kaskadno sve, Rasporedi kaskadno aktivne ili Rasporedi kaskadno kada je korisnik vlasnik. To sprečava relacije koji stvaraju relaciju sa više nadređenih instanci.

Čišćenje nasleđenih prava pristupa

Korišćenje kaskadnih ponašanja reparent i deljenje su korisni kada želite da obezbedite pristup redovima u povezanim tabelama. Ali može doći do promene procesa ili dizajna koja zahteva promenu postavki kaskadnog ponašanja.

Kada relacija između tabela koristi ponovni raspored ili deljenje , a kaskadno ponašanje se menja u "Kaskadno nijedno", relacija između tabela sprečava nove promene dozvola od kaskadnog kaskadnog kaskadnog u povezane podređene tabele . Pored toga, nasleđene dozvole koje su dodeljene dok je kaskadno ponašanje bilo aktivno moraju biti opozvane.

Nasleđeno čišćenje prava pristupa je sistemski posao koji čisti nasleđena nasleđena prava pristupa koja ostaju nakon što se kaskadno ponašanje promeni u Kaskadno nijedno. Ovo čišćenje neće uticati ni na jednog korisnika kome je direktno odobren pristup tabeli, ali će ukloniti pristup svima koji su dobili pristup samo putem nasleđivanja.

Evo kako funkcioniše čišćenje nasleđenih prava pristupa:

  1. Identifikuje i prikuplja sve tabele koje su bile u kaskadnoj relaciji sa ažuriranim nadređenim elementom.
  2. Identifikuje i prikuplja korisnike kojima je odobren pristup povezanim tabelama putem nasleđenog pristupa.
  3. Proverava korisnike kojima je dat direktan pristup povezanoj tabeli i uklanja ih iz kolekcije.
  4. Uklanja nasleđeni pristup za prikupljene korisnike na prikupljenim tabelama.

Nakon čišćenja, korisnici koji su mogli da pristupe samo povezanim tabelama zbog kaskadne funkcije više ne mogu da pristupe redovima, obezbeđujući veću sigurnost. Postoje slučajevi kada čišćenje možda neće biti uspešno. Saznajte više o tome kako da očistite nasleđeni pristup

Pogledajte i ovo

Nadgledanje sistemskih poslova
Kreiranje i uređivanje relacije 1:N (jedan prema više) ili N:1 (više prema jedan)
Kreiranje relacija između tabela tipa N:N (više prema više)

Napomena

Možete li nam reći o svojim željenim postavkama jezika u dokumentaciji? Ispunite kratku anketu. (imajte na umu da je ova anketa na engleskom jeziku)

Anketa će trajati oko sedam minuta. Ne prikupljaju se lični podaci (izjava o privatnosti).