Kontoutdelning EFTER dagens föreläsning (WinXP/FC/Daisy/Unix) Programvaror på kursen: MySQL MS Access 2003 Rational Rose

Relevanta dokument
Introduktion till informationssystem Från verklighet till relationsdatabas Konceptuell modellering och databasmodellering Modelleringsmönster

Konceptuell modellering

IT i organisationer och databasteknik

Informationssystem och databasteknik, 2I Från verklighet till system

Relationsdatabasdesign, 2I-4067

(Data)Modellering. nikos dimitrakas rum 2423

Konceptuell modellering. Formalisering, automatisering och effektivisering

Objektorientering. Grunderna i OO

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

Databasdesign. E-R-modellen

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

Informationssystem och Databasteknik

Lite om databasdesign och modellering

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Objektorienterad analys och design

Introduktion. Byggstenar TDBA

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.

Objektorientering Klasser

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

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

IT i organisationer och databasteknik

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

Databaser. Vad du ska lära dig: Ordlista

Tentamen EIT:DB Databastmetodik 11/ kl Lösningsförslag

Databaser design och programmering. Design processen ER- modellering

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Relationsmodellen och syntetisk databasdesign

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram

TDP005. Föreläsning 3 - UML. Filip Strömbäck

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Abstraktion. Objektorientering. Kartor. Kartor. Hus. Generalisering

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram

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

Objektorienterad analys och design

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU

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

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

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

NVDB - Översiktlig informationsmodell

Klasser och objekt. Henrik Johansson. August 20, 2008

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

Objektorienterad programmering, allmänt

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Objektorienterad programmering. Grundläggande begrepp

Objektorienterad Programmering DAT043. Föreläsning 10 13/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT / 33

Objektorienterad Systemutveckling 1 (7,5 hp)

Föreläsning 15: Repetition DVGA02

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar

Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser

Objektorientering Användning

Databaser och Datamodellering Foreläsning IV

GIS, databasteknik och kartografi. Databasmodellering

Karlstads Universitet, Datavetenskap 1

Objektorienterad analys och design

Informationssystem och databasteknik

Tentamen för DD1370 Databasteknik och informationssystem

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

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU

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

Tentamen för DD1370 Databasteknik och informationssystem

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

IT i organisationer och databasteknik

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

Bilaga A. Klassdiagram i OMT (klasser och dess relationer) Klassdiagram i UML (klasser och dess relationer) 1 st

Objektorienterad Programmering (TDDC77)

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

Vad är en databas? Databasutveckling Med MySQL/MariaDB

Informationssystem och databasteknik, 2I-1100

Minifakta om djurungar hemma

Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts.

Relationsdatabasdesign

25/11/14. Databasteknik och informationssystem DD1370. Påminnelse inför Lab 1 redovisningen. Repetition: ER modellering (gammalt + nytt)

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Företagsmodellering i UML

TDP005 Projekt: objektorienterade system

TDDE10 TDDE11, 725G91/2. Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.

Information. Computer

Föreläsningsmaterial (Arv) Skrivet av Andreas Lund

Tentamen i Objektorienterad modellering och diskreta strukturer

VAD GÖR DU / VEM ÄR DU?

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

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik

Grunderna för relationsmodellen!

Exempel-tentamen 1. + Lösningsförslag. Inga hjälpmedel är tillåtna.

Arkitektur och Regelverk Definition av kodverk och klassifikation. Version 1.0

Frågor och svar till tentamen i Kravhantering

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

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder

Ett objekt... Exempel: Om ni tittar er runt i föreläsningssalen ser in många olika fysiska föremål:

VAD GÖR DU / VEM ÄR DU?

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

Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser

Transkript:

Konceptuell modellering och Databasmodellering Kontoutdelning EFTER dagens föreläsning (WinXP/FC/Daisy/Unix) Programvaror på kursen: MySQL MS Access 2003 Rational Rose 2006-10-25 1 Konceptuell modellering och Databasmodellering Från verklighet till system Konceptuell modellering Modelleringsmönster 2006-10-25 2 1

Från verklighet till system Verklighet Urval Modell Produkt Order Kund Informationssystem 3 Arkitektur hos ett informationssystem Presentation Användargränssnitt via en browser Applikationslogik Data Java servlets som exekverar på en server Data från en databashanterare 4 2

Relationsdatabaser KUND Namn Gatuadress Postnummer Postadress Telefon Kontokort Giltighetstid Pia Eriksson Storg. 12 171 55 Torget 88 77 66 155 666 777 11/01 Ulf Eriksson Storg. 12 171 55 Torget 88 77 66 234 555 678 11/00 Ola Hansson Lillg. 2 218 43 Landet 55 44 11 666 222 111 09/01 Bo Eriksson Storg. 12 171 55 Torget 88 77 66 432 654 221 11/01 Bo Johnsson Eriksg. 45 171 55 Torget 99 77 21 123 444 321 11/01 My Hansson Lillg. 2 218 43 Landet 55 44 11 666 222 111 09/01 5 Frågespråk Hur kommer applikationsprogrammen åt data i databasen? Genom ett frågespråk. SELECT Namn FROM PRODUKT WHERE Typ = Stol 6 3

Presentation Hur kommer (slut-) användare åt information i databasen? Gränssnittet ger möjlighet att nå applikationsprogrammen och därmed data i databasen. 7 Modeller Modell: Struktur som avbildar vissa aspekter av någon del av verkligheten Exempel: Kartor Differentialekvationer Konceptuella modeller Syfte med modeller: Studera verkligheten indirekt genom att studera modellen Underlätta kommunikation Utgöra underlag för vidare implementering 8 4

Building the right system Universe of Discourse Conceptual Model (CM) Use of CM? = < > ANIMAL Weight 1 my_animal MEMBERSHIP Date belongs_to 1 myflock 1 SPECIES Mean_weight FLOCK Number Contract Database System Education, Reverse Engineering 9 Grafiska modelleringsspråk Exempel på grafiska modelleringsspråk: UML, E(A)R diagram, Petri nets, Event-Process Chain (EPC), IDEF0, IDEF3, dataflödesdiagram, Role-activity diagrams (RAD), databasdiagram Några grafiska modelleringsspråk är mer expressiva (uttrycksfulla) än andra. Ett skäl till det är att vissa innehåller fler modelleringselement (symboler). De kan då representera fler begrepp, det vill säga fler aspekter av verkligheten (systemet). En nackdel är att ett sådant språk har fler modelleringstermer för användaren att lära sig 10 5

Varför använda grafiska modeller? - Analysredskap underlättar analys av en verksamheten - Designbeskrivningar ritningar över systemet som ska byggas eller förändras - Valideringsinstrument det vill säga validera systemet mot användare och uppdragsgivare med hjälp av grafiska modeller så att systemet får rätt egenskaper innan det byggs klart - Kontrakt mellan beställare och utförare 11 Modeller: Struktur och beteende Strukturella modeller / strukturdiagram - specificerar statiska aspekter av systemet, det vill säga statiska relationer / förhållanden mellan termer Beteendemodeller / beteendediagram - specificerar dynamiska (beteendemässiga) aspekter av systemet, det vill säga specificerar själva manipuleringen / förändringen av de statiska relationerna och i vilken ordning det sker 12 6

Konceptuell modellering En konceptuell modell beskriver data och datasamband på ett representationsoberoende sätt. Vad modellen sen ska implementeras som/i får inte påverka modellens utformning! 13 Modeller problem? Modell: En struktur som avbildar vissa aspekter av någon del av verkligheten Ex på modell - KARTA Modeller förenklar Modeller förvanskar - Grönland, Afrika Modeller fokuserar - topografisk, politisk Modelleringsspråk: Komplexa språk med många symboler versus enklare språk som är lättare att förstå/förklara/validera av lekmän som kan domänen men inte språket 14 7

Modellering fortsättning Kontroll av data skall ske så tidigt (så nära källan) som möjligt! Systemet ska inte kontrollera att data inte är fel, utan undanröja möjligheterna till att det blir fel. Lättare sagt än gjort: Man måste modellera RÄTT (inte bara på rätt sätt) och modelleringsspråket måste kunna representera alla typer av sakförhållanden. 15 Ogdens triangel TERM EXTENSION INTENSION 16 8

Samma ord - olika begrepp (homonymer) På vilka sätt används ordet bok i meningarna nedan? Jules Verne skrev många böcker, en har boktiteln Kapten Grants barn Biblioteket i Vällingby har många böcker Om Kapten Grants barn trycks i A4-format blir antalet sidor i en tryckt bok 100. Bokhandlaren i Jönköping sålde många böcker 17 Samma begrepp - olika ord (synonymer) Avskeda - Friställa Arbetsgivare Arbetsköpare Student Elev? 18 9

Modeller och modelleringsspråk Modell är skrivet i ett Språk beskrivs av System 19 UML klassdiagram Klass Association 20 10

Klassdiagram centralt i UML Klassdiagrammen är i majoritet har blivit nästan synonymt med UML. Klassdiagram beskriver klasser som finns i en domän eller ett system, och statiska associationer mellan klasserna. Klassdiagram visar också klassernas attribut (och operationer). Student personnr namn epostadress registreraförkurs() Kurs kursid kursnamn Notera här, att man kan se följande ord användas som synonymer : typ och klass, relation och association, strukturell och statisk, 21 Klasser notationsvarianter Klassnamn Student personnr namn epostadress registreraförkurs() begärautökatkonto() Student personnr namn epostadress Student Operationer Attribut 22 11

Klassdiagram och objektdiagram Klass Student personnr namn bostadsadress epostadress Objekt (instans) nilshall:student personnr = 850302-XXXX namn = Nils Erik Hall bostadsadress = Rågstigen 3 epostadress = hal@dsv.su.se Objekt (instans) annasvan:student personnr = 770102-XXXX namn = Anna Cecilia Svan bostadsadress = Ekvägen 10 epostadress = sva@dsv.su.se Klassdiagram Objektdiagram Kallas ofta instansdiagram. Utökad notation för namngivning. Attribut tilldelas värden. Alla associationer från klassdiagrammet följer med till objekten. Kan ses som en stillbild av ett eller fler objekt vid en viss, given tidpunkt. Varför? Attributens värden kan ändras under objektens livscykel. 23 Egenskaper har multiplicitet (så kallade avbildningsregler) Student personnr namn epostadress 1..* Registrering registreringsid datum Kurs kursid kursnamn 0..1 Multipliciteten för en egenskap (attribut eller association) indikerar hur många olika objekt (eller värden) som kan uppfylla egenskapen. Multiplicitet för associationer anges vid de associerade klasserna var för sig. För fullständighet när vi anger multiplicitet gäller att: - det minsta antalet anges först - det största antalet anges sist - två punkter skrivs ut mellan antalen 24 12

Multiplicitet vanliga kombinationer Student personnr namn epostadress 1..* Registrering registreringsid datum Kurs kursid kursnamn 0..1 Minst 1 och högst 1. Exempel: En student har ett, och endast ett, värde på attributet personnr. 1..* Minst 1 och obegränsat övre antal. Exempel: En student har alltid en epostadress sig tilldelad, men kan ha hur många som helst fler. 0 är giltigt och obegränsat övre antal. Exempel: En student behöver inte ha någon registrering på någon kurs, men kan ha registreringar på ett godtyckligt antal. 0..1 0 är giltigt och högst 1 Exempel: En kurs behöver inte ha fått ett kursnamn, och kan ha högst ett. 25 Avbildningsregler för ATTRIBUT i UML vad identifierar en klass? Student personnr namn epostadress 1..* Student personnr, UNIK namn epostadress 1..* 26 13

Att namnge associationer Tre sätt att namnge associationer: 1) med ett verb vid vardera klassen. bilmärke Bil gäller genomgår Bilregistrering datum Identifiera, eller härled, lämpliga verb ur domänbeskrivningen som uttrycker associationens semantiska betydelse vid var och en av de associerade klasserna. Exemplet uttyds: - en bil genomgår noll-till-många bilregistreringar - en bilregistrering gäller exakt en bil 27 Att namnge associationer, forts. Tre sätt att namnge associationer: 2) med ett enda verb vid associationsstrecket. bilmärke Bil genomgår Bilregistrering bilregistreringsdatum Identifiera, eller härled, ett verb ur domänbeskrivningen som uttrycker associationens semantiska betydelse bäst. Ange vid associationsstrecket. Markera läsriktningen. Görs med en fylld pilspets. Exemplet uttyds: - en bil genomgår noll-till-många bilregistreringar 28 14

Att namnge associationer, sista Tre sätt att namnge associationer: 3) med ett substantiv vid vardera klassen. studregnr Student exjobbare handledare Lärare 1..* anstnr Identifiera, eller härled, ur domänbeskrivningen vilken respektive roll de associerade klasserna har i just den aktuella associationen. Rollerna är substantiv. Ange de två substantiven vid respektive klass. Exemplet uttyds: - en student kan, när den är exjobbare, ha en-till-många lärare som handledare - en lärare kan vara handledare till noll-till-många studenter som är exjobbare 29 Multiplicitet för associationer Student personnr namn epostadress Registrering registreringsid datum Kurs kursid kursnamn Multiplicitet beskriver hur många olika objekt som kan delta i en association mellan två klasser. Exempel: Ett Studentobjekt associeras till noll-till-många Registreringar. Ett Registreringobjekt associeras till en-till-en, d.v.s. exakt en, Student. 30 15

Multiplicitet - regler i systemet vs common sense BIL Regno: Sträng UNIK Märke Sträng ägs_av PERSON Pnr: Sträng UNIK 31 Multiplicitet - en övning PERSON har_mor Vilka avbildningsregler gäller för associationen har_mor? 32 16

Så hur gör man då? I en verklig situation intervjuas användare, manualer läses, eventuella existerande system studeras, verksamheten studeras, etc Ibland har man bara tillgång till textuella beskrivningar av det system man ska modellera Hur angripa dessa? Verb, substantiv, adjektiv? Modelleringsmönster, så kallade data-abstractions, tumregler, med mera... 33 Att göra urvalet Ett företag önskar sälja sina produkter, som är möbler, genom en webbutik. Kunderna skall kunna lägga beställningar på möblerna med hjälp av webbutiken. Produkterna levereras sedan med lastbil till kunderna. För att kunderna skall få en bra bild av möblerna så behöver de veta deras vikt, typ, storlek och det material de är tillverkade av; det behövs också foton på möblerna. Utöver kostnaderna för de enskilda möblerna måste kunden också betala för fraktkostnaden som baseras på den sammanlagda vikten. Kunden kan begära att få leverans inte bara till sin egen adress utan också till andra adresser. Kunden kan önska en tid då leveransen skall ske - det inträffar dock ibland att den verkliga leveranstiden avviker från den önskade. För att kunden skall veta om en leverans gått iväg eller inte behövs information om avgångstider för leveranser. Företaget eftersträvar att samtidigt skicka iväg alla de produkter som ingår i en beställning men man lyckas inte alltid med det, och då kan det behövas flera leveranser för en beställning. Kunden betalar med kontokort. 34 17

PRODUKT Namn Typ Höjd Bredd Djup Material Vikt Pris Bild-liten Bild-stor BESTÄLLNINGS- 1..* RAD Antal 1..* KUND Namn Gatuadress Postnummer Postadress Telefon Kontokort Giltighetstid BESTÄLLNING Best-nummer Gatuadress Postnummer Postadress Datum Fraktkostnad 0..1 LEVERANS Leveransbil Avtalatdatum Avtaladtid Avgångsdatum Avgångstid Leveransdatum Leveranstid 35 Multiplicitet som mått på en modells kvalitet? Tumregel: Alla attribut i en klass bör vara totala (= ha minvärde 1) Ett stort antal partiella attribut (attribut med minvärde = 0) betyder att inte alla instanser (objekt) av klassen har något värde på attributen/egenskaperena ifråga vilket tyder på att man blandat flera fenomen i en och samma klass. DJUR Namn: Skatt_betald: 0..1 Adress: 0..1 Vikt: Medelvikt: 0..1 Utbredningsområde: 0..1 DJUR Namn: Adress: Vikt: ART Utbredningsområde Medelvikt HUND Skatt_betald: 36 18

Modelleringsmönster- Analysmönster - Data abstractions Vilken verklighet man än vill avbilda så förekommer hierarkiska strukturer. Det betyder att vi måste fånga dessa strukturer i vår modell av samma verklighet. Däggdjur Djur Fåglar Gräsätare Rovdjur Pingvin Hovdjur Gnagare Tax Gnu Kanin 37 Arv forts. Klasschema med så kallade isa -associationer: DJUR DÄGG- DJUR isa isa FÅGLAR HOVDJUR GRÄS- ÄTARE isa isa isa GNAGARE isa ROV- DJUR TAX isa isa PINGVIN GNU isa isa HARE 38 19

Arv PERSON Namn: String UNIK isa isa MAN KVINNA Militärtjänstort: String: isa HUND Skatt: Integer DJUR Namn: String UNIK isa KATT MAN och KVINNA är ömsesidigt uteslutande och uttömmande map PERSON HUND och KATT är ömsesidigt uteslutande men inte uttömmande map DJUR En arvs-hierarki består av sub- och supertyper. Subtyperna utgör en delmängd av supertypen. Om subtyperna täcker upp hela supertypen säger man att de är uttömmande (eng. exhaustive). Om en och samma instans inte kan tillhöra till flera subtyper säger man att subtyperna är ömsesidigt uteslut ande (eng. mutually independent). 39 Arv Kund Kontohavare Konto 1 1..* Kundnr: Integer Kontonr: Integer UNIK UNIK Namn : String Företag Börsnoterad: String Person 1..* Arbetar_hos Bankbok Saldo: Integer Lån Lånesumma : Integer Hur hade schemat blivit om isa-relationer inte använts? 40 20

Arv arbetar_hos 0..1 Person Kundnr: Integer UNIK Namn : String Börsnoterad: String 0..1 Kontohavare 1 1..* Konto Kontonr: Integer Saldo: Integer 0..1 Lånesumma: Integer 0..1 41 Arv forts. Om subtyper har alla attribut och relationer gemensamma: Överväg att kombinera dem till en subtyp. Lägg ev. till ett extra attribut i entiteten som tjänas som typ-beteckning. Om en subtyp är uttömmande map supertypen: Låt subtypen uppgå i supertypen. Om flera subtyper inte har några egna attribut eller relationer: Överväg att slå samman dem till en subtyp. 42 21

Reifiering SJUKDOM 1..* botar blir: botas SJUKDOM 1 BOT Procent: Float BEHANDLING 1..* botmedel 1 BEHAND- LING Relationen botar är M:M. Om man vill lagra information som berör relationen botar måste relationen reifieras, dvs göras till ett objekt. Övriga M:M kan lämnas som de är på modelleringsnivå, men måste brytas upp när man skapar en relationsdatabas! 43 Övning reifiering PERSON Namn: Sträng UNIK är_medlem_i KLUBB Klubb_namn: Sträng UNIK Uttöka det konceptuella schemat ovan så att det klarar av att representera att en viss person gick in i en viss klubb vid ett visst tillfälle! 44 22

Template-Copy strukturer (power types) Vissa objekt kan ses som mallar för andra objekt, kopior. En mall beskriver de generella dragen hos kopiorna som i sin tur kan innehålla ett antal idividuella drag. Mallar är ofta abstrakta objekt medan kopior är konkreta objekt. Kopior kan ses som materialiseringar av mallar. BOK är ett typiskt exempel på en mall, boken som ett litterärt verk. BOK:en har en titel, en författare osv. De individuella kopiorna är de fysiska exemplaren av det litterära verket som kan ha egenskaper som vikt, antal sidor etc. Observera att KOPIA inte utgör en delmängd av BOK. Template- Copies är inte samma sak som supertyp-subtyp. BOK Författare: titel String UNIK Titel: String 1 av_typ KOPIA Vikt: String Antal_sidor 45 Samma ord - olika begrepp På vilka sätt används ordet bok i meningarna nedan? Jules Verne skrev många böcker, en heter Kapten Grants barn Biblioteket i Vällingby har många böcker Om Kapten Grants barn trycks i A4-format blir antalet sidor i en tryckt bok 100. Bokhandlaren i Jönköping sålde många böcker Författare Titel Vikt Antal_sidor BOK Författare Titel tillhör KOPIA Vikt Antal_sidor 46 23

24 47 PRODUKT Namn Typ Höjd Bredd Djup Material Vikt Pris Bild-liten Bild-stor KUND Namn Gatuadress Postnummer Postadress Telefon Kontokort Giltighetstid BESTÄLLNING Best-nummer Gatuadress Postnummer Postadress Datum Fraktkostnad LEVERANS Leveransbil Avtalatdatum Avtaladtid Avgångsdatum Avgångstid Leveransdatum Leveranstid 1..* 1..* 48 PRODUKT Namn Typ Höjd Bredd Djup Material Vikt Pris Bild-liten Bild-stor KUND Namn Gatuadress Postnummer Postadress Telefon Kontokort Giltighetstid BESTÄLLNING Best-nummer Gatuadress Postnummer Postadress Datum Fraktkostnad LEVERANS Leveransbil Avtalatdatum Avtaladtid Avgångsdatum Avgångstid Leveransdatum Leveranstid 1..* 1..* BESTÄLLNINGS- RAD Antal: l

PRODUKT Namn Typ Höjd Bredd Djup Material Vikt Pris Bild-liten Bild-stor KUND Namn Gatuadress Postnummer Postadress Telefon Kontokort Giltighetstid 1..* LEVERANS Leveransbil Avtalatdatum Avtaladtid Avgångsdatum Avgångstid Leveransdatum Leveranstid 0..1 1..* BESTÄLLNINGS- RAD Antal: l 1..* BESTÄLLNING Best-nummer Gatuadress Postnummer Postadress Datum Fraktkostnad 49 25