Den relationelle model Matematisk baggrund for relations-databaser 3. Den relationelle model
ER vs. relationelle model, 61 ER-modellen sprog Entity sets Relationships Attributes Sub-klasser Systemudvikling Analyse ("hvad") Relationelle model sprog Relationer med Attributter Tupler Passer til relations-databaser Solidt matematisk fundament: Mængdelære Systemudvikling Design ("hvordan") 3. Den relationelle model
3. Den relationelle model Terminologi, 61 Relation (ikke d.s.s. relationship) 2-dimensional tabel Attribut Kolonne i en tabel Skema Navn på relation + alle attributterne Tupel Række i en relation Relation består af en mængde af tupler Domæne En mængde af atomiske værdier for en attribut 3. Den relationelle model
Relationelt skema vs. instans, 64 Strukturen på relationen. Defineres [principielt] en gang for alle. Relationel instans Indholdet (data) i relationen til et bestemt tidspunkt. Skifter over tid - data kommer og går. 3. Den relationelle model
Konvertering fra ER-diagram til relationel model, 65 Entity set → relation, inkl. attributter Relationships a. N-M → relation, inkl. attributter + nøgler fra deltagende entity sets b. 1-N → integrer attributter + nøgle fra N i 1 relationen c. 1-1 → integrer (vælg selv i hvilken) eller slå de 2 entity sets helt sammen. 3. Den relationelle model
3. Den relationelle model Konvertering II, 71 Svage entity types → relation inkl. attributter + nøgle i tilhørende "stærke" entity type. Sub-klasser: Kan ikke udtrykkes direkte i den relationelle model Flere "hacks" (ikke-perfekte løsninger) 3. Den relationelle model
3. Den relationelle model Arv ER-metoden, 77 Super-typen → 1 relation Alle generelle data 1 relation for hver af sub-typerne Specifikke data Nøglen på super-typen Eksempel Person (cpr, navn, adr) Studerende (cpr, semester) Lærer (cpr, løn) 3. Den relationelle model
3. Den relationelle model Arv, OO metoden78 En relation for hver type med alle attributter Data fra sub-typen (specifikke) Data fra super-typen (generelle) Eksempel Person (cpr, navn, adresse) Studerende (cpr, navn, adresse, semester) Lærer (cpr, navn, adresse, løn) 3. Den relationelle model
3. Den relationelle model Arv, null metoden 79 Lav én STOR relation alle attributter fra super-typen + alle sub-typerne mange af attributterne vil have værdien null værdien findes ikke Eksempel Person (cpr, navn, adresse, semester, løn) semester eller løn er altid null, med mindre man kan være både studerende og lærer! 3. Den relationelle model