Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Mapning af 1 til mange forbindelser

Lignende præsentationer


Præsentationer af emnet: "Mapning af 1 til mange forbindelser"— Præsentationens transcript:

1 Mapning af 1 til mange forbindelser

2 Mapning af 1 til mange forbindelser
Ved 1 til 1 forbindelser må man beslutte hvilken klasse der skal oprettes først og så definere forbindelsen som en 1 til 0:1 forbindelse Hver klasse mappes til en tabel med alle klassens attributter som felter og et nyt ID-felt som nøglefelt. Associeringen / aggregeringen ordnes ved at indsætte ID-nøglefeltet fra tabellen på 1-siden i tabellen på *-siden som fremmednøgle.

3 Mapning af mange til mange forbindelser

4 Mapning af mange til mange forbindelser
Hver klasse mappes til en tabel med alle klassens attributter som felter og et nyt ID-felt som nøglefelt. Associeringen ordnes ved at optette en ny "connection"-tabel der indeholder nøglerne fra de to tabeller der forbindes som fremmednøgler. Nøglen i den nye tabel laves enten som en sammensat nøgle af de to fremmednøgler eller der oprettes en et nyt ID-nøglefelt for "connection"-tabellen. Den sidste løsning giver mulighed for at have samme forbindelse mellem 2 elementer flere gange, hvorimod den første kun giver mulighed for at have den samme forbindelse een gang. Ved 0:1 forbindelse skal fremmed-nøglen i "connection"-tabellen fra 0:1 siden sikres mod duplikater (unique) - i ovenstående er det A-ID i "connection"-tabellen der skal være unique.

5 Mapning af arv Løsning med een tabel pr. klasse

6 Mapning af arv Løsning med een tabel pr. klasse
Superklassen (Class-A) mappes til en tabel med alle klassens attributter som felter og et nyt ID-felt som nøglefelt, samt evt. et typefelt. Subklasserne (Class-B og Class-C) mappes til en tabel med alle klassens attributter som felter og et nyt ID-felt som nøglefelt, idet der bruges samme navn som for nøglefeltet på superklassen (Class-A). Nøglefeltet i subklasserne gøres samtidig til fremmednøgle til superklassen (Class-A). Der kan med fordel envidere etableres et View, der alene omfatter superklassens felter, samt et View for hver subklasse, der omfatter såvel superklassens som subklassens felter idet nøglen fra subklassen (Class-B og Class-C) udelades. Disse View for subklasserne kan bruges til oprettelse og sikre mod at der oprettes en række i flere tabeller med samme nøgle til en super-tabel række.

7 Mapning af arv Løsning med een tabel pr. subklasse

8 Mapning af arv Løsning med een tabel pr. subklasse
I denne løsning afspejler tabellerne ikke arvestukturen, men denne elimineres. Suberklassene (Class-B og Class-C) mappes til hvar til en tabel med såvel superklassens attributter som egne atributter som felter og et nyt ID-felt som nøglefelt. Der kan ikke i databasen umiddelbart sikres mod at der anvendes samme nøgle-vørdi i de 2 tabeller Der kan etableres et View med UNION, der afspejler superklassen, men et sådan kan ikke anvendes til oprettelse og opdatering.

9 Mapning af arv Løsning med een tabel pr. superklasse

10 Mapning af arv Løsning med een tabel pr. superklasse
I denne løsning afspejler tabellerne ikke arvestukturen, men denne elimineres. Der er endvidere problemer med tomme felter. Der laves en tabel med alle attributter fra såvel super som subklasserne og desuden et typefelt og et nyt ID-felt som nøglefelt. Der kan etableres et Views der afspejler såvel superklasse som subklasserne.


Download ppt "Mapning af 1 til mange forbindelser"

Lignende præsentationer


Annoncer fra Google