Opomba
Diagram modela zbirke podatkov je na voljo le v določenih različicah Visia. Če želite več informacij, si oglejte Ne najdete funkcij za modeliranje zbirke podatkov?
Razumevanje pravil referenčne integritete
Pravila referenčne integritete uporabnikom zbirke podatkov pomotoma preprečuje, da bi poškodovali preslikavo med povezanimi stolpci.
Recimo, da imate zbirko podatkov, imenovano Knjige z dvema tabelama »Naslovi« in »Avtorji«. V tem primeru ima vsak naslov le enega avtorja, vendar ima lahko vsak avtor več naslovov, kar se imenuje odnos »ena proti mnogo«. Tabela na strani »ena« relacije se imenuje nadrejena tabela. Tabela na strani »mnogo« se imenuje podrejena tabela.
Če želite zbrati informacije o posamezni knjigi in njenem avtorju, poizvedba uporabi ključe za ujemanje posameznih zvezkov v tabeli »Naslovi« s svojim avtorjem v tabeli »Avtorji«. Nadrejena tabela (Avtorji) mora imeti primarni ključ, ki enolično prepozna vsako vrstico. V tabeli »Naslovi« mora biti stolpec, v katerem je id avtorja za vsak naslov. Ta stolpec se imenuje tuji ključ. Primarni ključ določa vsakega avtorja, tuji ključ pa določa, katere knjige je avtor napisal.
Če uporabnik spremeni avtorjev ID avtorja v nadrejeni tabeli, ne da bi posodobil ID avtorja v tabeli »Naslovi«, knjige v tabeli »Naslovi« nimajo več veljavnega avtorja.
Namesto da bi morali spremeniti ID avtorja v obeh tabelah, lahko nastavite pravila referenčne integritete, da izvedete želeno dejanje. Izberete lahko, da model zbirke podatkov izvede določena dejanja, ko spremenite ali izbrišete ključ v nadrejeni tabeli.
Opomba
Izraza »nadrejeni« in »podrejeni« v kategorijah pomenita nekaj zelo drugačnega, kar se ustvari z oblikami »Nadrejeno v«, »Kategorija« in »Kategorija«. Če želite več informacij o kategorijah, glejte Določanje kategorij v diagramu modela zbirke podatkov.
Nastavitev dejanj za referenčno integriteto
Dvokliknite relacijo, za katero želite nastaviti referenčno dejanje.
V oknu Lastnosti zbirke podatkov v razdelku Kategorije kliknite Referenčno dejanje.
Kliknite dejanje, za katerega želite, da zbirka podatkov prevzame ustrezno vrednost v podrejeni tabeli. Izbirate lahko med temi dejanji:
- Brez dejanja Ko spremenite ali izbrišete vrednost v primarnem ključu nadrejene tabele, ostane ustrezna vrednost v tujem ključu podrejene tabele nespremenjena.
- Kaskado Ko spremenite ali izbrišete vrednost v primarnem ključu nadrejene tabele, se spremeni ali izbriše ustrezna vrednost v tujem ključu podrejene tabele, da se ujema s primarnim ključem.
- Nastavi ničelno vrednost Ko spremenite ali izbrišete vrednost v primarnem ključu nadrejene tabele, je ustrezna vrednost v tujem ključu podrejene tabele nastavljena na NULL.
- Nastavi privzeto Ko spremenite ali izbrišete vrednost v primarnem ključu nadrejene tabele, je ustrezna vrednost v tujem ključu podrejene tabele nastavljena na privzeto vrednost, ki jo izberete.
- Ne vsili S tem dejanjem izklopite pravila referenčne integritete za to relacijo.
Opomba
Če sta možnosti Nastavi NULL in Nastavi privzeto onemogočeni, je relacija verjetno nastavljena na Izbirno na zavihku Razno v oknu Lastnosti zbirke podatkov za relacijo.
Nastavitev privzete vrednosti za stolpec
Če želite uporabiti privzeto dejanje Nastavi, morate vnesti privzeto vrednost za stolpec.
- Dvokliknite tabelo v diagramu, da odprete okno Lastnosti zbirke podatkov.
- V razdelku Kategorije kliknite Stolpci, kliknite stolpec, za katerega želite ustvariti privzetega, in nato kliknite Uredi.
- Na zavihku Definicija v pogovornem oknu Lastnosti stolpca vnesite vrednost za privzeto vrednost.
Prikaz referenčne integritete z uporabo notacije
Možnosti dokumenta lahko nastavite tako, da skrijete ali prikažete zapis referenčne integritete ob črtah relacij v modelu.
Kaj pomenijo črke v referenčnem posnetku integritete?
Notation referenčne integritete pokaže relacije z dvema črkama, ločenima z dvopičjem, v obrazcu [dejanje, izvedeno v nadrejeni tabeli]:[rezultat v podrejeni tabeli]. D:C na primer pomeni, da se ob brisanjem elementa v nadrejeni tabeli sprememba stopni v podrejeno tabelo.
Dejanja v nadrejeni tabeli so označena z malo črko:
- u Podatki v nadrejeni tabeli so posodobljeni.
- d Podatki v nadrejeni tabeli so izbrisani.
Rezultati v podrejeni tabeli so označeni z veliko črko:
- R Brez dejanja Ne spreminjaj podrejene tabele.
- C Cascade Podvojite spremembo v podrejeni tabeli.
- D Nastavi privzeto Vstavite privzeto vrednost, ki ste jo predhodno nastavili za ta stolpec, v podrejeno tabelo.
- N Nastavi vrednost Null Podrejeno tabelo nastavite na NULL.
- (Prazno) Za to relacijo ne vsilite referenčne integritete.
Opomba
Te nastavitve vplivajo na to, kaj se zgodi v dejanski zbirki podatkov in ne v modelu. V modelu, ki ga obratno inženirinite iz obstoječe zbirke podatkov, si lahko ogledate, kako je zbirka podatkov načrtovana glede na referenčno integriteto. V modelu, ki ga ustvarite povsem na novo, lahko s temi nastavitvami prikažete, kako želite, da zbirka podatkov deluje.
Prikaz referenčne integritete v programu Visio 2010
- Na zavihku Zbirka podatkov v skupini Upravljaj kliknite Možnosti prikaza.
- Na zavihku Relacije v razdelku Pokaži potrdite potrditveno polje Referenčna dejanja.
Ne najdete funkcij za modeliranje zbirke podatkov?
Nekatere različice Visia nimajo predloge diagrama modela zbirke podatkov.
Visio Standard ne vključuje predloge »Diagram modela zbirke podatkov«.
Izdaji Visio Professional in Premium podpirata funkcije obratnega inženirstva za predlogo »Diagram modela zbirke podatkov« (tj. uporabo obstoječe zbirke podatkov za ustvarjanje modela v Visiu), vendar ne podpira vnaprejšnjega inženirstva (tj. uporabe Visiovega modela zbirke podatkov za ustvarjanje kode SQL).
Opomba
Polno zbirko funkcij za modeliranje zbirke podatkov, vključno z obratnim in vnaprejšnjim inženirstvom, lahko najdete v aplikaciji Visio for Enterprise Architects. Aplikacija Visio for Enterprise Architects je vključena v naročnino na MSDN Premium, ki je na voljo v izdajah, temelječih na vlogah, Visual Studio Professional in Visual Studio Team System.
Če uporabljate aplikacijo Visio (paket 2) želite izvedeti več o inženirstva obstoječe zbirke podatkov v model zbirke podatkov, si oglejte temo Obratno inženirstvo za obstoječo zbirko podatkov.