Fra ER til RM. Databaser, efterår 2002. Troels Andreasen. Efterår 2002



Relaterede dokumenter
ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002

ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002

Spørgsmål 2 Givet at R indeholder 3 tupler (d,f,a,b,c), (d,f,b,d,e), (e,g,a,b,c). Hvilke tupler må R da også indeholde?

E00 (% af 2 timer) En database til registrering af produkter i en produktionsvirksomhed har følgende skema, hvor primærnøgler er understreget:

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 4: Mere om E-R modellering. 24. februar Forelæser: Rasmus Pagh

Funktionel afhængighed

Design ved normalisering

Begrænsninger i SQL. Databaser, efterår Troels Andreasen

Normalisering, del 2

Information Integration

Skriftlig eksamen i. Databaser. Vinter 2002/2003. Vejledende løsninger

Variabel- sammenhænge

Skriftlig eksamen i. Datalogi. Databaser. Sommer 2001

Grafteori, Kirsten Rosenkilde, september Grafteori

AU-HR Sharepoint Vejledning Medarbejder indplacering

Manual til teams forsømmelseshåndtering

Skriftlig dansk 2016 HF. Karakter- og opgavestatistik

Forståelse af sig selv og andre

geografi Evaluering og test i Faglighed, test og evalueringskultur

Opgaver. Henrik Bulskov Styltsvig. Efterår 2003

Jobsøgning og kompetenceafklaring. Chefkonsulent i Djøf rådgivningscenter, Lykke Fehmerling

I dette forløb arbejder eleverne med de forskellige led, der kan være i en sætning. De faglige mål med forløbet er, at eleverne skal:

Det er altså muligt at dele lige på to kvalitativt forskellige måder: Deling uden forståelse af helheden Deling med forståelse af helheden

1. Send Digitalt knappen anvendes til at afsende meddelelsen til de valgte modtagere. (Alt- S)

Uddannelsesordning for uddannelsen til Tandklinikassistent

IntoWords ipad Tjekliste

Vejledning til Uddannelsesplan for elever i 10. klasse til ungdomsuddannelse eller anden aktivitet

Læsning og skrivning i 3. og 4. klasse

Nyhedsbrev til a-kasserne om ny bekendtgørelse om ophør med drift af selvstændig virksomhed (ny regel om udtræden på tro og love for medarbejdende

Skriftlig eksamen i. Databaser. Vinter 2002/2003

Et spring af dimensioner GYMNASTIKEFTERSKOLEN STEVNS

Versionsbrev LUDUS Web version LUDUS Web J. nr: V

GLS forsendelses modul til Magento

Tilbud til Ældre Kvalitetsstandarder 2010

Danske Vandværker på vej mod 2020

Skriftlig dansk 2015 HF. Karakter- og opgavestatistik

Spørgeskema vedrørende Herning kommunes værdighedspolitik.

Sæt ord pa sproget. Indhold. Mål. November 2012

Brug af Discoverer. 6. Herved bliver feltet Hvilket navn vil du give denne procentdel? tilgængeligt, og der kan angives et navn efter ønske

Matematik D. Almen voksenuddannelse. Skriftlig prøve. Fredag den 11. december 2015 kl AVU151-MAT/D. (4 timer)

TALTEORI Wilsons sætning og Euler-Fermats sætning.

Opgave 1 Alle tallene er reelle tal, så opgaven er at finde den mindste talmængde, som resultaterne tilhører.

Henrik Bulskov Styltsvig

Tal, funktioner og grænseværdi

Statsgaranteret udskrivningsgrundlag

Velkommen til 2. omgang af IT for let øvede

Fanebladene. Slide 1 - logo. Side 1 af 18

Release note R Mandag den 23. marts Autocore Salg

BILAG 1. BESKRIVELSE AF OBSERVATIONER. Vi forsøger at undersøge fremkommelighed og effektivitet af 8A ved stoppestederne;

Forslag til løsning af Opgaver til ligningsløsning (side172)

Henrik Bulskov Styltsvig

SRO på MG, åpril-måj 2016 (redigeret april 2016/LV)

Guide: Sådan søger du om folkepension

Introduktion til programmering

Det skal I vide, når I planlægger jeres barsel

BROBYGNING. 10. klasse. Lærer- / Elevhæfte. UU-Aalborg, Kayerødsgade 37, 3. sal, 9000 Aalborg,

Gøgl i hverdagen sådan!

Greve Kommune Nøgletal for bustrafikken Januar marts 2010

Kært barn har mange navne

Kryptografi Anvendt Matematik

Vejledning om mulighederne for genoptagelse efter såvel lovbestemte som ulovbestemte regler. 10. april 2013

SERVICEDEKLARATION FOR LEDERE OG MELLEMLEDERE

Sprogcenter Aalborgs årsrapport 2013.

Arbejdsmiljøgruppens problemløsning

Lønsikring dit sikkerhedsnet under hverdagen. Du kan trække dine indbetalinger fra i skat. Sikrer økonomisk stabilitet, hvis du bliver arbejdsløs

Faglig læsning og skrivning

Minutnormer og puljetimer Sidst opdateret /version 1.0/UNI C/Jytte Michelsen og Steen Eske Christensen

Kaninfører i Brøndby Golfklub 2016

SDB. MySQL Installation Guide

Highlights Epos HR VERSION 3.2 SP 0

ÅRHUS KOMMUNE - Magistratens 5. Afdeling Århus Sporveje - Bryggervej Risskov

De små læser 2013 Lena Bülow-Olsen

Oversigt Særlige forløb og skriftlige opga aver på Vesthimmerlands Gymnasium og HF /2013

Evaluering af Kandidatuddannelsen i generel pædagogik

Inverse funktioner. John V Petersen

Et program til undervisning

Årsplan matematik 7 kl 2015/16

- hvor går de hen? Herning Gymnasium Stx

VERSION JULI 2013

GoTime Grundlæggende vejledning Om denne brugervejledning

Objektorientering og databaser

MANGLER BØRN GRÆNSER eller mangler de voksne? Foredrag, Skole og Forældre Foråret 2015, nogle hovedpointer

ServiceNyt maj 2016

havstrygerne.dk Vi har derfor fundet det passende, at tilbyde træning som sikrer, at disse grupper er i den nødvendige gode form til deres løb.

Udsættelse af skolestart 2016/17. Udsættelse af skolestart 2010/11

Kurset. Udbytte. Styrk teamsamarbejdet. Hvem deltager? På kurset arbejder du med:

Nyheder og vejledning til version

Indholdsfortegnelse. Systembeskrivelse kapitel 3 Forretningslogik

TILBUDS OG AFREGNINGSGRUNDLAG (TAG)

Funktionalligninger - løsningsstrategier og opgaver

Kom godt i gang med Fronter

Bybusser: Primært nej. I nogle tilfælde er det dog muligt. Landevejsbusser: Nej X-busser: Nej

Der er i de senere år kommet mere opmærksomhed på barnets sprogudvikling. Sprogudviklingen har indflydelse på barnets kommunikation med andre og

Læring som duelig livsform

Aktionslæring i Børneområdet

Induktion: fra naturlige tal til generaliseret skønhed Dan Saattrup Nielsen

Bestyrelserne i front for kvaliteten. - Regionale møder 2016

Rybners Gymnasium STX

Kommuneplantillæg 1. til Kommuneplan Klimatilpasningsplan

Transkript:

Databaser, efterår 2002 Fra ER til RM Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Fra ER til RM Fra ER til RM-skema Generelt princip en relation for hver Entitets-type en relation for hver Sammenhæng evt. modificeret yderligere ved sammenlægning af fremkomne relations-skemaer Troels Andreasen 2

Fra ER til RM-skema Entitets-type E med attributter A 1,, A k RM-skema: E (A 1,, A k ) Sammenhæng S mellem E 1,, E k alle nøgle-attributter i E 1,, E k : N 1,, N n RM-skema: S(N 1,, N n ) "omdøbning" af attributter kan være nødvendig Svag Entitets-type E med A 1,, A k "lånte" nøgle-attributter N 1,, N n Subtype E med attributter A 1,, A k Supertypes nøgler N 1,, N n RM-skema : E (N 1,, N n, A 1,, A k ) den svage sammenhæng forsvinder, influerer også andre sammenhænge med E RM-skema: E (N 1,, N n, A 1,, A k ) Troels Andreasen 3

Fra ER til RM-skema Person RM-skema: Person(, ) Person Husnr Hus Fag RM-skema: Person(, ) Hus(Husnr, Fag) Tilhører(, Husnr) Tilhører Lnr RM-skemaer: Land(Lnr, ) Person(, Lnr, ) Person Borger-i Land Troels Andreasen 4

Fra ER til RM-skema, Subtype Person Relations-skemaer: Person(, ) Studerende(, Fag) isa Studerende Fag Troels Andreasen 5

Fra ER til RM-skema, Subtype Alternativ 1: Bevar abstraktion fra ER model SKEMA: Person(, ) ansat(, Løn) studerende(, Status) Person FOREKOMST Løn isa Ansat isa Studerende Status person pnr navn 7 Lisa 17 Peter 35 Hans ansat pnr løn 7 22000 studerende pnr status 17 10 Troels Andreasen 6

Fra ER til RM-skema, Subtype, Alternativ 2: Sammenlæg til enkelt relation Subtype alternativ 1 een relation for supertypen og alle dens subtyper SKEMA: Person(,, Løn, Status) FOREKOMST Person isa isa person pnr navn løn status 7 Lisa 22000 null 17 Peter null 10 35 Hans null null Løn Ansat Studerende Status Troels Andreasen 7

Fra ER til RM-skema, Subtype Alternativ 3: OO-stil - totalt brud med ER model Subtype alternativ 2 en relation for supertypen en relation for alle subtyper hver med alle nedarvede attributter SKEMA: Person(, ) ansat(, Løn, ) studerende(, Status, ) FOREKOMST Person person pnr navn 7 Lisa ansat pnr løn 7 22000 navn Lisa isa isa studerende pnr status 17 10 navn Peter Løn Ansat Studerende Status Troels Andreasen 8

Fra ER til RM-skema, nøgler... NØGLER FRA ER-DIAGRAMMET Entitets-type Sammenhæng Subtype Svag entitetstype Troels Andreasen 9

Fra ER til RM-skema, nøgler... Entitets-type relations-nøgle: nøglen fra Entitets-typen Person Person(, ) Troels Andreasen 10

Fra ER til RM-skema, nøgler Sammenhæng relations-nøgle: nøgler fra mange-siderne f.eks. mange af: E 1,, E k-1 en af: E k relations-nøgle: nøglerne fra E 1,, E k-1 specielt En-til-en: nøgle vælges som nøglen fra een af Entitets-typerne Bnr Model Person ejer Bil ejer(pnr,bnr) mor Person gift-med mor(pnr1,pnr2) gift-med(pnr1,pnr2) Troels Andreasen 11

Fra ER til RM-skema, nøgler Subtype relations-nøgle (uanset princip for oversættelse til relation): nøglen fra supertypen isa Person isa Supertype Person(, ) Subtyper ansat(, Løn, ) studerende(, Status, ) Løn Ansat Studerende Status Troels Andreasen 12

Fra ER til RM-skema, nøgler Svag entitets-type relations-nøgle: nøglen fra Entitets-typen + lånte nøgler Lnr Person Borger-i Land Person(pnr, lnr, navn) Troels Andreasen 13

Eksempel isa Person isa Status Studerende Lærer Løn Deltager Vejleder Læser Underviser Pronr Projekt Fag Fagkode Modul Troels Andreasen 14

Eksempel Eksempel Relationsskemaer: Person(, ) studerende(, Status) Lærer(, Løn) Projekt(Pronr,, Modul) Fag(Fagkode, ) Deltager(, Pronr) Vejleder(Pronr, ) Læser(, Fagkode) Underviser(, Fagkode) Troels Andreasen 15

Modifikationer i RM-skemaet Relationer med en fælles nøgle kan kombineres. Resultat-relation attributter: foreningen af attributterne i de to relationer (omdøbning kan være nødvendig) relations-nøgle: den fælles nøgle Fordele kan være: pladsbesparelse, idet nøgleværdier ikke gentages tidsbesparelse, ved forespørgsler vedrørende aktuelle relationer Ulemper kan være introducerede "null"-værdier og dermed ekstra pladsforbrug et uoverskueligt design Null-værdi: ikke-specificeret værdi, (dvs. ikke kendt eller ikke defineret værdi) Troels Andreasen 16

Modifikationer i RM-skemaet Eksempel, modifikation af RMskema. Relationsskemaer: Person(, ) studerende(, Status) Lærer(, Løn) Projekt(Pronr,, Modul) Fag(Fagkode, ) Deltager(, Pronr) Vejleder(Pronr, ) Læser(, Fagkode) Underviser(, Fagkode) Nye relationsskemaer: Person(, ) studerende(, Status, Pronr) Lærer(, Løn, Fagkode) Projekt(Pronr,, Modul, ) Fag(Fagkode, ) Læser(, Fagkode) Hvad går tabt ved konvertering fra ER til RM? Troels Andreasen 17

Forenkling i oversættelsen Bemærk dog at mange-til-en sammenhænge ofte umiddelbart slås sammen med entitetstypen på mange-siden således at Fnr oversættes direkte til studerende(pnr,navn,fnr) fag(fnr,navn) Studerende Studerer Fag Troels Andreasen 18

Eksempel Hvilket relationelt skema giver en oversættelse? typenavn typeid sæder Bustype af start-tid pnr navn Bus i Tur med Chauffør busid på Busrute rutested Stoppested stedid navn ruteid køre-tid Troels Andreasen 19

Eksempel... ER-skema til et relationelt databaseskema bustype(typeid,typenavn,sæder) bus(busid, typeid) tur(start-tid, ruteid, busid, pnr) chauffør(pnr, navn) busrute(ruteid) rutested(ruteid, stedid, køre-tid) stoppested(stedid, navn) Troels Andreasen 20

"Ækvivalente" ER-skemaer Ofte har vi flere muligheder til at modellere i ER-notation, hvor valget imellem disse muligheder blot er et individuelt skøn om hvad der fremtræder mest overskueligt. Vi kan definere "Ækvivalens": To ER-skemaer er "ækvivalente" hvis oversættelsen af disse fører til samme relationelle skema (begrebet "ækvivalens" for ER er ikke etableret) Troels Andreasen 21

Eksempel Udsnittet start-tid pnr navn Bus i Tur med Chauffør busid på Busrute ruteid har relationelt skema bus(busid) tur(start-tid, ruteid, busid, pnr) chauffør(pnr, navn) busrute(ruteid) hvad nu hvis vi vil modellere tur som en sammenhæng? Troels Andreasen 22

Eksempel... start-tid pnr navn Bus tur Chauffør busid Busrute ruteid Troels Andreasen 23

Eksempel... eller hvad med rutested som entitetstype? Busrute ruteid rutested køre-tid Stoppested stedid navn Troels Andreasen 24

Eksempel... stedid Busrute for rutested har Stoppested navn ruteid køre-tid Troels Andreasen 25