Avatar billede janani Nybegynder
10. maj 2004 - 22:58 Der er 9 kommentarer

Referential integrity

Hej,

Jeg vil gerne have forklaret, hvad referential integrity er. Jeg er nybegynder, så håber du/I vil svare på et forståeligt sprog :)
Og hvordan angiver man det i en E/R model?
Avatar billede arne_v Ekspert
10. maj 2004 - 23:01 #1
Hvis du laver en postnrby tabel med to felter postnr og by og en anden
tabel person med fire felter navn, gade, nr og postnr - så vil tvungen
referentiel integritet gøre at du ikke kan gemme i person tabellen
hvis postnummer ikke findes i postnrby tabellen.

Man kræver at en fremmed nøgle skal refrere til noget.

Og det er en måde at validere data på.
Avatar billede ldanielsen Nybegynder
10. maj 2004 - 23:07 #2
Referentiel intregitet betyder at du siger, at to tabeller afhænger af hinanden. Hvis der findes en post i den ene tabel skal der findes én i den anden tabel der svarer til den.

Et almindeligt eksempel er kunder i en internetbutik. Du vil så vælge at der ikk kan være en ordre, dvs en post i tabellen Ordrer, uden der er en Post i Tabellen Kunder der svarer til den, idet KundeID i Ordrer er lig KundeID i Ordrer.

Det vil betyde at det ikke kan lade sig gøre at slette en kunde hvis han har købt noget, en eller flere gange, i butikken. det kan heller ikke lade sig gøre at lave en ordre, uden at man angiver et KundeID, der faktisk findes.
Avatar billede arne_v Ekspert
10. maj 2004 - 23:11 #3
Det kan ikke lade sig gøre at oprette en ordre uden at der er en kunde, men du
kan kan godt slette en kunde - det vil bare betyde at de tilhørende odrer også
bliver slettet (cascade delete).
Avatar billede ldanielsen Nybegynder
10. maj 2004 - 23:13 #4
Det giver dels den sikkerhed, at disse helt simple regler ALTID vil blive overholdt. Noget du ellers ville være nødt til at programmere i din applikation på anden måde

Dels letter det faktisk serverens arbejde, idet den "bliver klogere" til at finde data hurtigt frem, når du fortæller den hvordan data hænger sammen. Når du angiver foreign key som arne v ganske rigtigt siger, så laver du samtidig et index på tabellen, der fremmer performance.
Avatar billede humpfrey Nybegynder
11. maj 2004 - 01:55 #5
man kan også forklare det på den her måde: INGEN BØRN UDEN EN MOR, dvs som Idanielsen skriver, at under tabeller SKAL kunne referere opad. Mvh. Humpfrey
Avatar billede arne_v Ekspert
24. maj 2004 - 23:48 #6
Lukke tid ?

(og et svar fra mig)
Avatar billede arne_v Ekspert
16. juni 2004 - 23:26 #7
??
Avatar billede arne_v Ekspert
25. juli 2004 - 22:56 #8
??
Avatar billede arne_v Ekspert
22. august 2004 - 23:17 #9
?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester