GIS, databasteknik och kartografi. Databasmodellering

Relevanta dokument
Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Databasteknik. Vad är. Vad är databaser bra till? data? föreläsare: Kjell Lindqvist. och NADA. databaser? och. vad är de bra för?

Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem

Databaser och databasdesign. Den relationella modellen, normalisering och modellering (2)

Lösningsförslag till tentamen för DD1370 Databasteknik och informationssystem

Lite om databasdesign och modellering

Databasdesign. E-R-modellen

Databaser design och programmering. Design processen ER- modellering

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Idag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL)

Databaser design och programmering. Fö 2: Design processen, ER-modellering

Från verklighet via modell till databas. Idag. Testa reglerna på varuhusmodellen. Från verklighet via modell till databas

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema

Idag. Exempel. Exempel modellen (1) Exempel...

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

Introduktion till databaskursen. Välkomna. till kursen. Databasteknik och informationssystem. DD1370 (kursomgång dbtinf12)

Normalisering. Varför? För att åstadkomma en så bra struktur i databasen som möjligt med minimalt med dubbellagrad info.

Modul DB1-1 Databasmodellering

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

GIS, databasteknik och kartografi. Kursmaterial för databasdelen

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

Karlstads Universitet, Datavetenskap 1

Ett arbetsexempel Faktureringsrutin

Lösningsförslag till tentamen för 1E1601

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

D0004N Databaser I. Greenline. Petter Hedlin / epeehi-4 Rikard Stenmark / rikste-8 Markus Almberg / maralm-5

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

Grunderna för relationsmodellen!

Tentamen för DD1370 Databasteknik och informationssystem

Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. Inga hjälpmedel är tillåtna

Databasapplikationen HYR AKS. Vers 1.0 6, AKS har framtagits av ApplData AB på uppdrag av TillSaluGrejorAB

Idag. Exempel. Exempel modellen (1) Exempel...

(Data)Modellering. nikos dimitrakas rum 2423

Föreläsning 3 Dagens föreläsning går igenom

Objektorienterad konstruktion

Databashantering och Beslutsstöd

Tentamen för DD1370 Databasteknik och informationssystem

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Databaser - Design och programmering

Logisk databasdesign

732G16: Databaser - Design och programmering

Karlstads Universitet, Datavetenskap 1

Idag. Databaskvalitet(??) Databaskvalitet... Databaskvalitet...

Tentamen. i Databasteknik. lördagen den 13 mars Tillåtna hjälpmedel: Allt upptänkligt material

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

Del 2: ER-modellering och överföring till Databasstruktur v0.9

Föreläsning 5: Relationsmodellen

Lösningsförslag till. tentamen för 1E1601

Tentamen för 1E1601. Måndag 10 mars 2003, kl Alla hjälpmedel tillåtna

Det är fullt tillåtet att göra laborationen innan laborationstillfället.

Konceptuell modellering. Formalisering, automatisering och effektivisering

Tentamen i. Databasteknik

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

Mitthögskolan ITM Telefon Access. Laborationskompendium för grunderna i databasen Microsoft Access. Detta exemplar tillhör:

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

Tentamen för DD1370 Databasteknik och informationssystem

1.Lär känna MS SQL Observera. Tips. Förberedelse

Objektorientering. Grunderna i OO

Konceptuella datamodeller

Laboration 2, MS SQL. Observera. Tips. Förberedelse. Genomförande

TENTAMEN För kursen. Databasteknik. Ansvarig för tentamen: Anna Palmquist. Förfrågningar: Anslås inom 3 veckor

Tentamen DATABASTEKNIK - 1DL116

Tentamen för DD1370 Databasteknik och informationssystem

Objektorienterad analys och design

Objektorientering Användning

Tentamen NDA01G Öppen för alla. Tentamenskod: Inga hjälpmedel är tillåtna

Relationsmodellen och syntetisk databasdesign

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

E-R-modellen, E-R-diagram E-R-diagram. representerar entitetsmängder

Introduktion till MySQL

16/11/14. Databasteknik och informationssystem DD1370. Information. Dagens föreläsning: ERmodeller Dagens föreläsning. Påminnelse: Kursens mål

ER-Diagram. Databasutveckling Diagram

DVA234 Databaser. Dag Nyström, Introduktion till databaser och MS SQL Server

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram

Databasteknik NADA, KTH & SU

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Avvikelserapport. Avvikelserapport. Fantastic Four Page 1

Relationsdatabasdesign

08/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Kursens (återstående) mål Dagens föreläsning

JHS 193 Unik identifierare för geografisk information Bilaga 1. Process för att bilda URI

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

Laboration 1, Datamodellering. Observera. Tips. Förberedelse. Genomförande

Databaser och Datamodellering Foreläsning IV

INFORMATIONSMODELLERING

Transkript:

Databasmodellering 1. När vi studerar verkligheten för att beskriva (en del av) den i ett system (inte bara datorer), måste vi göra en modell. 2. Modelleringsverktyget ska ha egenskaper som gör att vi: inte behöver kunskap om de verktyg som senare krävs för att realisera systemet. lätt får överblick över modellen. har tillgång till detaljer när vi vill kan bortse från detaljer om vi vill slipper beroende av den dator som senare skall användas. lätt kommer vidare från modell till databasstruktur. Föreläsning 2 Bild 1 av 44

Databasmodellering... Det verktyg som finns i boken duger bra. Vi kan tillåta oss en viss frihet i användningen. Databasen är endast en del av det system som krävs för att täcka informationsbehovet hos en organistation. Normalt måste man undersöka och analysera alla informationssystemets komponenter: Applikationsprogram Databashanteringssystem Databas Hårdvara Personal Föreläsning 2 Bild 2 av 44

Databasmodellering... Informationssystemplanering Systemdefinition Kravanalys Konceptuell design Databasdesign DBMS-val Logisk design Applikationsdesign Fysisk design Utveckling av prototyp Implementation Datakonvertering och Laddning Testning Operationellt underhåll Föreläsning 2 Bild 3 av 44

Databasmodellering... Vi kommer i teorimomentet bara bekymra oss om den streckade boxen med titeln Databasdesign och anta att det övriga är klart. Praktiskt blir det lite annorlunda: I labb1 kommer vi att testa SQL det språk som blivit en de facto standard för att dels bygga databaser, dels undersöka och ändra innehållet i en databas. I labb 2 och 3 kommer vi att snegla lite på implementation det som följer på design. Föreläsning 2 Bild 4 av 44

Objekt objektklasser Alla modelleringsverktyg för relationsdatabaser bygger på att man identifierar mängder av intressanta objekt i den del av världen man vill avbilda. Dessa brukar man kalla objektklasser. Det man avbildar i modellen är möjligheter. Det kan finnas sådana objekt som beskrivs i objektklasserna. Det är möjligt och troligt, men inte säkert. Grafiskt brukar man markera objektklasserna som rektanglar med klassens namn i. Namnet är i singularis och ska vara beskrivande. Person Föreläsning 2 Bild 5 av 44

Objektklasser... Intressanta objektklasser(objektmängder) brukar vara: Objekt i egentlig mening: Flygplan, tåg, människor, hus, bilar, husgeråd, kontor, fabriker, et.c. Roller: Läkare, lärare, husägare, bilist, hyresgäst, handledare, köpare, säljare, et.c. Händelser: Händelse, olycka, systemkrasch, födelsedag, et.c. (!! kanske!!) Specifikationer: Modellbeskrivningar, transaktionstyper, m.m. Föreläsning 2 Bild 6 av 44

Objekt... Ett objekt är en instans av en objektklass, och är entydigt identifierbar genom en I-term (identifikationsterm). Informellt: ett objekt är en förekomst i en tabell med ett entydigt nyckelvärde som identifierar objektet. Ex.: Person Personnr Namn Gatuadress Gatunr 640111-0010 Kalle Karlavägen 12 640212-0028 Mona Månvägen 7 640313-0046 Vera Verdandig 3 Föreläsning 2 Bild 7 av 44

Objekt och objektklasser... Objektklassens egenskaper beskrivs av ett antal attribut. Grafiskt: Personnr Namn Person Gatuadress Gatunr För ett enskilt objekt har ett av dessa attribut, I-termen, ett för tabellkolumnen unikt värde ur motsvarande domän, medan övriga attribut (E-termer, egenskapstermer) har ett värde ur attributets domän eller är värdet null ( ). Föreläsning 2 Bild 8 av 44

Objekt och objektklasser... Om modellen blir plottrig av alla attribut kan man bryta ut dem och antingen redovisa dem i ett speciellt diagram eller i en s.k. egenskapsmatris Klass Namn I-termer E-termer Objekt Person Personnr Namn, Gatuadress, Gatunr Föreläsning 2 Bild 9 av 44

Databasmodellering... Modellen kommer att bestå av ett antal objektklasser, deras egenskaper (attribut) och dessutom de associationer (samband) som kan finnas mellan objekten i objektklasserna. Sambanden samlas i sambandsklasser som utgör kopplingen mellan objektklasserna. Så kommer hela modellen att utgöra en sammanhållen graf. Föreläsning 2 Bild 10 av 44

Samband och sambandsklasser Allt som utgör en association mellan objektklasser: Försäljning, Lån (i bank eller på bibliotek), boende, flight, resa, m.m. (!! det här är inte alltid så säkert!!). Allmänt: sambandsklasser definierar ett beroende mellan objektklasser. Identifieras med i-termerna från de objektklasser de associerar till varandra. Ett samband utgörs då av en förekomst i en tabell och identifieras entydigt av en nyckel bestående av flera i-termer. Samband samlas alltså i tabeller som motsvarar sambandsklassen. Sambandsklasser ritas som namngivna romber med linjer dragna till de objektklasser som relateras till varandra. Namnet skall helst vara ett substantiv i singularis. Föreläsning 2 Bild 11 av 44

Sambandsklassers grad... Sambandsklasser som associerar objekt ur två klasser eller två objekt ur samma objektklass med varandra kallas binära. Sambandsklasser kan associera objekt ur fler än två klasser med varandra (sambandsklassen kan ha högre ordning än 2). Man kan lägga på restriktioner på en binär sambandsklass. Den säges vara av typ 1:1 om ett objekt från den ena objektklassen associeras med max ett objekt från den andra och vice versa. 1:N om ett objekt från den ena objektklassen kan associeras med mer än ett objekt från den andra medan objekt från den andra klassen kan associeras med max ett objekt från den första. M:N om ett objekt från den ena objektklassen kan associeras med mer än ett objekt från den andra och vice versa. Föreläsning 2 Bild 12 av 44

Samband och sambandsklasser... Kvinna Gift med Man Chef Över Anställd Författare Skrivit Bok 1:1 1:N M:N Föreläsning 2 Bild 13 av 44

Samband och sambandsklasser... Projekt Beställn. Material Leverantör Föreläsning 2 Bild 14 av 44

Samband och sambandsklasser... Person Anställning Avdelning Projektmedverkan Projekt Föreläsning 2 Bild 15 av 44

Samband och sambandsklasser... Sambandsklasser kan vara lite knepiga: Gifta med varandra? Kolleger? Motparter (i rätten)? Grannar? Föreläsning 2 Bild 16 av 44

Samband och sambandsklasser... Vi måste bestämma - situationen avgör. Vad vill vi med modellen?? Två personer kan ha alla dessa samband med varandra. gift Person granne kollega motpart Föreläsning 2 Bild 17 av 44

Samband och sambandsklasser... Fördelningen av egenskaper går oftast bra men det finns fall då man måste noga analysera egenskaper som knyts till sambandsklasser. Ex: person projanst projekt??? Timpris Föreläsning 2 Bild 18 av 44

Samband och sambandsklasser... Idén med informationssystemsmodeller är att beskriva de logiska elementen i den del av världen som vi vill representera, d.v.s. att finna alla kopplingar mellan alla objekt, (= alla samband mellan dem) och objektens alla egenskaper (attribut). För att man initalt ska vara nöjd med en modell ska den till slut utgöra en graf utan disjunkta delar, d.v.s. en sammanhängande struktur utan några lösa "öar". Föreläsning 2 Bild 19 av 44

Samband och sambandsklasser... Ett varuhus säljer en viss artikel. 1. Det finns en artikel artikel 2. Det finns en kund artikel kund Föreläsning 2 Bild 20 av 44

3. Det finns ett samband (försäljning) artikel försäljning kund 4. Köpet ägde rum ett viss datum artikel försäljning kund datum Föreläsning 2 Bild 21 av 44

5. eller... Det finns ett samband (beställning) artikel beställning kund datum 6. eller... Kunden har gjort en beställning och har en viss rabatt Leveransen kan gå till ngn annan än beställaren Betalaren kan vara ngn annan En artikel kan vara ett set av artiklar Föreläsning 2 Bild 22 av 44

beställare kund leverans order betalare beställning består av artikel Föreläsning 2 Bild 23 av 44

Hantera roller order handläggare chef person avdelning anställd Föreläsning 2 Bild 24 av 44

Generalisera ibland besiktning tillstånd ansökan rektorsområde social- drift- område område Föreläsning 2 Bild 25 av 44

Generalisera ibland... ärende ärendetyp område områdestyp Föreläsning 2 Bild 26 av 44

Ett lite större exempel En ny hamburgerrestaurangkedja strävar efter att snabbt nå marknadsdominans genom att tillhandahålla produkter av färskaste kvalitet. Därför vill man att så lite som möjligt ligger kvar i lager vid stängningstid varje dag. Man försöker ta hem precis de mängder av allting som kommer att gå åt under dagen. Hänsyn tas till att åtgången varierar olika typer av dagar (fredagar, andra vardagar, lördagar och helgdagar). Personalpoolen måste vara flexibel. En person kan tjänstgöra i olika restauranger olika dagar beroende av var behovet är störst. Du får i uppdrag av ledningen för restaurangkedjan att, som ett led i den nödvändiga datoriseringen innefattande bl.a. skapandet av en databas, göra en informationsstruktur (datamodell) som representerar hela restaurangkedjan (ett tiotal restauranger), där följande data skall ingå: Föreläsning 2 Bild 27 av 44

Ett lite större exempel... Restaurangdata (antal sittplatser, adress mm.) Lagersaldon och priser för alla produkter Beräknad åtgång av produkter och personal olika typer av dagar för de olika restaurangerna Personaldata : namn, adress, lön etc, arbetad tid / restaurang (dvs hur mycket och var) Kalenderdata (typ för varje dag) osv Indata till systemet blir: Sålda produkter (direkt via kassaterminal) Ändrade priser och lagersaldokorrektioner Ändrade arbetsscheman för personalen Föreläsning 2 Bild 28 av 44

Kalenderdatainmatning (t.ex. att 17/5 är en helgdag) osv Utdata: Beställningslistor och personalbesättning för nästa dag / restaurang Lönelistor osv Börja med att hitta objekten Föreläsning 2 Bild 29 av 44

exempel... Personalpoolen måste vara flexibel. En person kan tjänstgöra i olika restauranger olika dagar beroende av var behovet är störst. Följande data skall ingå: Restaurangdata (antal sittplatser, adress mm.) Lagersaldon och priser för alla produkter Beräknad åtgång av produkter och personal olika typer av dagar för de olika restaurangerna Personaldata: namn, adress, lön etc, arbetad tid / restaurang (dvs hur mycket och var) Kalenderdata (typ för varje dag) osv Indata till systemet blir: Sålda produkter (direkt via kassaterminal) Ändrade priser och lagersaldokorrektioner Ändrade arbetsscheman för personalen Kalenderdatainmatning (t.ex. att 17/5 är en helgdag) osv Föreläsning 2 Bild 30 av 44

exempel... produkt dagtyp restaurang befattning datum person Föreläsning 2 Bild 31 av 44

exempel... Personalpoolen måste vara flexibel. En person kan tjänstgöra i olika restauranger olika dagar beroende av var behovet är störst. Följande data skall ingå: Restaurangdata (antal sittplatser, adress mm.) Lagersaldon och priser för alla produkter Beräknad åtgång av produkter och personal olika typer av dagar för de olika restaurangerna Personaldata: namn, adress, lön etc, arbetad tid / restaurang (dvs hur mycket och var) Kalenderdata (typ för varje dag) osv Indata till systemet blir: Sålda produkter (direkt via kassaterminal) Ändrade priser och lagersaldokorrektioner Ändrade arbetsscheman för personalen Kalenderdatainmatning (t.ex. att 17/5 är en helgdag) osv Föreläsning 2 Bild 32 av 44

exempel... produkt ber.prod dagtyp restaurang ber.pers är befattning har datum prodstrukt lagersaldo arbetsschema person Föreläsning 2 Bild 33 av 44

exempel... Sedan måste man lägga till alla egenskaper. Här ges endast ett exempel pnr namn adress telnr produkt Föreläsning 2 Bild 34 av 44

Alternativet är en T-matris: exempel... Typ Namn I-termer E-termer Obj Produkt Pnamn Pris Obj Resturang Rnamn Platsantal,Adress,Telnr Obj Dagtyp Typbet Obj Personal Pnr Namn,Adress,Telnr Obj Datum Datum Obj Befattning Befbet Arbetsbeskrivning Samb Produktåtg Pnamn,Rnamn,Typbet Kvantitet Samb Personalåtg Rnamn,Typbet,Befbet Antal Samb Lagersaldo Pnamn,Rnamn Mängd Samb Arbetsschema Rnamn,Pnr,Datum,Befbet Starttid,Sluttid Samb Är Typbet,Datum Samb Produktstruktur Pnamn-I,Pnamn-B Kvantitet Samb Harbef Pnr, Befbet Lön Föreläsning 2 Bild 35 av 44

Hur får vi in detta i datorn? Basrelationer del av världen rel1 (a1, b1, c1,..) rel2 (a2, b2, c2,..) rel3 (a3, b3, c3,..) rel4 (a4, b4, c4,..) rel5 (a5, b5, c5,..)... Vad betyder detta? BasrelationsNamn (primärnyckel, attributlista); Där primärnyckeln består av ett eller flera attribut. Föreläsning 2 Bild 36 av 44

Modell Struktur 1. Objektklass som innehåller e-term(er) bildar en egen basrelation. 2. Objektklass som bara består av en i-term och dessutom finns på N- sidan av någon sambandsklass av typ 1:N bildar egen basrelation. Objektklass som bara består av en i-term och inte finns på N-sidan av någon sambandsklass av typ 1:N försvinner. 3. Sambandsklass av högre ordning än 2 bildar egen basrelation. 4. Sambandsklass av typ M:N bildar egen basrelation. Föreläsning 2 Bild 37 av 44

5. Sambandsklass av typ 1:N försvinner men I-termen i objektklassen som finns på 1-sidan blir E-term i objektklassen på N-sidan. Eventuella E-termer i sambandsklassen blir E-termer i objektet på N-sidan. 6. Sambandsklass av typ 1:1 behandlas som om den vore av typen 1:N (föregående regel) med godtyckligt val av N-sida. Alternativt slås de objektklasser, som sambandet förbinder, samman till en basrelation. Eventuella E-termer i sambandsklassen blir E-termer i objektet på den sida man valt till N-sida. Föreläsning 2 Bild 38 av 44

Modell Struktur... Alla objektklasser som innehåller E-termer bildar en egen basrelation. Produkt Resturang Personal Befattning (Pnamn, Pris) (Rnamn, Platsantal, Adress, Telnr) (Pnr, Namn, Adress, Telnr) (Befbet, Arbetsbeskrivning) Föreläsning 2 Bild 39 av 44

Modell Struktur... Alla objektklasser som bara består av en I-term och som inte finns på N-sidan i ett 1:N-samband försvinner. Dagtyp (Typbet) De andra som endast har I-term kommer med: Produkt (Pnamn, Pris) Resturang (Rnamn, Platsantal, Adress, Telnr) Personal (Pnr, Namn, Adress, Telnr) Befattning (Befbet, Arbetsbeskrivning) Datum (Datum) Föreläsning 2 Bild 40 av 44

Modell Struktur... Sambandsklasser av högre ordning än 2 bildar basrelationer. Produkt Resturang Personal Befattning Datum Produktåtg Personalåtg Arbetsschema (Pnamn, Pris) (Rnamn, Platsantal, Adress, Telnr) (Pnr, Namn, Adress, Telnr) (Befbet, Arbetsbeskrivning) (Datum) (Pnamn, Rnamn, Typbet, Kvantitet) (Rnamn, Typbet, Befbet, Antal) (Rnamn, Pnr, Datum, Befbet, Starttid, Sluttid) Föreläsning 2 Bild 41 av 44

Modell Struktur... Alla binära sambandsklasser av typ M:N bildar egna basrelationer. Produkt Resturang Personal Befattning Datum Produktåtg Personalåtg Arbetsschema Lagersaldo Produktstruktur (Pnamn, Pris) (Rnamn, Platsantal, Adress, Telnr) (Pnr, Namn, Adress, Telnr) (Befbet, Arbetsbeskrivning) (Datum) (Pnamn, Rnamn, Typbet, Kvantitet) (Rnamn, Typbet, Befbet, Antal) (Rnamn, Pnr, Datum, Befbet, Starttid, Sluttid) (Pnamn, Rnamn, Mängd) (Pnamn-I, Pnamn-B, Kvantitet) Föreläsning 2 Bild 42 av 44

Modell Struktur... Sambandsklasser av typ 1:N försvinner men I-termen i objektklassen som finns på 1-sidan blir E-term i objekt på N-sidan. Produkt Resturang Personal Befattning Datum Produktåtg Personalåtg Arbetsschema Lagersaldo Produktstruktur (Pnamn, Pris) (Rnamn, Platsantal, Adress, Telnr) (Pnr, Namn, Adress, Telnr, Befbet, Lön) (Befbet, Arbetsbeskrivning) (Datum, Typbet) (Pnamn, Rnamn, Typbet, Kvantitet) (Rnamn, Typbet, Befbet, Antal) (Rnamn, Pnr, Datum, Befbet, Starttid, Sluttid) (Pnamn, Rnamn, Mängd) (Pnamn-I, Pnamn-B, Kvantitet) Föreläsning 2 Bild 43 av 44

Modell Struktur... Sambandsklasser av typ 1:1 försvinner och objektklasserna som det förbinder kan slås samman till en basrelation (Men måste inte). Finns inga sambandsklasser av typ 1:1. KLART Föreläsning 2 Bild 44 av 44