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

Storlek: px
Starta visningen från sidan:

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

Transkript

1 Idag Modellering Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

2 Varför modellera? Modellering I all ingenjörsverksamhet där man hanterar komplicerade system behöver man vara överens om många saker DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

3 Varför modellera? Modellering I all ingenjörsverksamhet där man hanterar komplicerade system behöver man vara överens om många saker Då behöver man bygga modeller som DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

4 Varför modellera? I all ingenjörsverksamhet där man hanterar komplicerade system behöver man vara överens om många saker Då behöver man bygga modeller som a. kan förstås av alla inblandade och DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

5 Varför modellera? I all ingenjörsverksamhet där man hanterar komplicerade system behöver man vara överens om många saker Då behöver man bygga modeller som a. kan förstås av alla inblandade och b. inte kan missförstås DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

6 Varför modellera? I all ingenjörsverksamhet där man hanterar komplicerade system behöver man vara överens om många saker Då behöver man bygga modeller som a. kan förstås av alla inblandade och b. inte kan missförstås Punkt a säger oss att verktyget ska vara enkelt och DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

7 Varför modellera? I all ingenjörsverksamhet där man hanterar komplicerade system behöver man vara överens om många saker Då behöver man bygga modeller som a. kan förstås av alla inblandade och b. inte kan missförstås Punkt a säger oss att verktyget ska vara enkelt och punkt b att det ska vara stringent (noggrannt) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

8 sverktyget Modellering Alla sådana verktyg bygger på matematik men DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

9 Modelleringsverktyget Alla sådana verktyg bygger på matematik men tack och lov finns oftast begriplig grafisk notation DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

10 Modelleringsverktyget Alla sådana verktyg bygger på matematik men tack och lov finns oftast begriplig grafisk notation Varje disciplin har sina verktyg och det är oftast inte lyckat att använda modellverktyg som egentligen är avsett för annat ändamål DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

11 Modelleringsverktyget Alla sådana verktyg bygger på matematik men tack och lov finns oftast begriplig grafisk notation Varje disciplin har sina verktyg och det är oftast inte lyckat att använda modellverktyg som egentligen är avsett för annat ändamål därför kan det vara bra med mer än ett verktyg DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

12 Modelleringsverktyget Alla sådana verktyg bygger på matematik men tack och lov finns oftast begriplig grafisk notation Varje disciplin har sina verktyg och det är oftast inte lyckat att använda modellverktyg som egentligen är avsett för annat ändamål därför kan det vara bra med mer än ett verktyg Här fokuserar vi för tillfället på databasbyggande enligt relationsmodellen DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

13 Modelleringsverktygets egenskaper 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 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

14 Modelleringsverktygets egenskaper 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 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

15 Modelleringsverktygets egenskaper 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 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

16 Modelleringsverktygets egenskaper 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 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

17 Modelleringsverktygets egenskaper 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 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

18 Modelleringsverktygets egenskaper 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 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

19 Databasmodellering Modellering Det verktyg som finns i boken duger bra DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

20 Databasmodellering Det verktyg som finns i boken duger bra Vi kan tillåta oss en viss frihet i användningen. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

21 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 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

22 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: DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

23 Databasmodellering Modellering 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 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

24 Databasmodellering Modellering 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 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

25 Databasmodellering Modellering 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 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

26 Databasmodellering Modellering 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 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

27 Databasmodellering Modellering 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 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

28 Databasmodellering... Modellering Informationssystemplanering Systemdefinition Kravanalys Databasdesign Konceptuell design DBMS-val Logisk design Applikationsdesign Fysisk design Utveckling av prototyp Implementation Datakonvertering och Laddning Testning Operationellt underhåll DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

29 Databasmodellering... Modellering Vi kommer nästan bara bekymra oss om den streckade boxen med titeln Databasdesign och anta att det övriga är klart. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

30 Databasmodellering... Modellering Vi kommer nästan bara bekymra oss om den streckade boxen med titeln Databasdesign och anta att det övriga är klart. På labbarna kommer vi testa SQL både för att söka i databaser ocg för att manipulera dem och vi kommer snegla lite på implementation DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

31 Vad modellerar man? Modellering Traditionellt väljer man att representera objekt och samband mellan dessa DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

32 Vad modellerar man? Modellering Traditionellt väljer man att representera objekt och samband mellan dessa Objektklasser representerar alla objekt av samma typ DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

33 Vad modellerar man? Modellering Traditionellt väljer man att representera objekt och samband mellan dessa Objektklasser representerar alla objekt av samma typ Sambandsklasser representerar alla tänkbara kopplingar mellan objekt ur objektklasserna DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

34 Vad modellerar man? Modellering Traditionellt väljer man att representera objekt och samband mellan dessa Objektklasser representerar alla objekt av samma typ Sambandsklasser representerar alla tänkbara kopplingar mellan objekt ur objektklasserna Alltså modellerar man möjligheter, tänkbara scenarier, inte faktiska kopplingar mellan enheter i modellen DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

35 Vad modellerar man? Modellering Traditionellt väljer man att representera objekt och samband mellan dessa Objektklasser representerar alla objekt av samma typ Sambandsklasser representerar alla tänkbara kopplingar mellan objekt ur objektklasserna Alltså modellerar man möjligheter, tänkbara scenarier, inte faktiska kopplingar mellan enheter i modellen I tabellerna som man sedan skapar genom en kokboksmässig övergång mellan modell och databastabeller representerar raderna i tabellerna de faktiska förekomsterna DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

36 Vad modellerar man? Modellering Traditionellt väljer man att representera objekt och samband mellan dessa Objektklasser representerar alla objekt av samma typ Sambandsklasser representerar alla tänkbara kopplingar mellan objekt ur objektklasserna Alltså modellerar man möjligheter, tänkbara scenarier, inte faktiska kopplingar mellan enheter i modellen I tabellerna som man sedan skapar genom en kokboksmässig övergång mellan modell och databastabeller representerar raderna i tabellerna de faktiska förekomsterna Alltså är modellen en statisk representation av vad som kan förekomma medan databasen utgör en ögonblicksbild av vad som faktiskt förekommer vid en viss tidpunkt DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

37 Vad modellerar man? Modellering Traditionellt väljer man att representera objekt och samband mellan dessa Objektklasser representerar alla objekt av samma typ Sambandsklasser representerar alla tänkbara kopplingar mellan objekt ur objektklasserna Alltså modellerar man möjligheter, tänkbara scenarier, inte faktiska kopplingar mellan enheter i modellen I tabellerna som man sedan skapar genom en kokboksmässig övergång mellan modell och databastabeller representerar raderna i tabellerna de faktiska förekomsterna Alltså är modellen en statisk representation av vad som kan förekomma medan databasen utgör en ögonblicksbild av vad som faktiskt förekommer vid en viss tidpunkt Behöver man beskriva dynamik (förändring) måste man komplettera med flödesmodeller och interaktionsscenarier och till det duger inte det här verktyget DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

38 Vad modellerar man? Modellering Traditionellt väljer man att representera objekt och samband mellan dessa Objektklasser representerar alla objekt av samma typ Sambandsklasser representerar alla tänkbara kopplingar mellan objekt ur objektklasserna Alltså modellerar man möjligheter, tänkbara scenarier, inte faktiska kopplingar mellan enheter i modellen I tabellerna som man sedan skapar genom en kokboksmässig övergång mellan modell och databastabeller representerar raderna i tabellerna de faktiska förekomsterna Alltså är modellen en statisk representation av vad som kan förekomma medan databasen utgör en ögonblicksbild av vad som faktiskt förekommer vid en viss tidpunkt Behöver man beskriva dynamik (förändring) måste man komplettera med flödesmodeller och interaktionsscenarier och till det duger inte det här verktyget Eftersom modellen visar vilka möjligheter som finns kallas den konceptuell DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

39 Objekt och objektklasser Man börjar med att identifiera mängder av intressanta objekt i den verklighet man ska avbilda DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

40 Objekt och objektklasser Man börjar med att identifiera mängder av intressanta objekt i den verklighet man ska avbilda Dessa brukar man kalla objektklasser DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

41 Objekt och objektklasser Man börjar med att identifiera mängder av intressanta objekt i den verklighet man ska avbilda Dessa brukar man kalla objektklasser Det man avbildar i modellen är, som redan sagts, möjligheter DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

42 Objekt och objektklasser Man börjar med att identifiera mängder av intressanta objekt i den verklighet man ska avbilda Dessa brukar man kalla objektklasser Det man avbildar i modellen är, som redan sagts, möjligheter Det kan finnas sådana objekt som beskrivs i objektklasserna DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

43 Objekt och objektklasser Man börjar med att identifiera mängder av intressanta objekt i den verklighet man ska avbilda Dessa brukar man kalla objektklasser Det man avbildar i modellen är, som redan sagts, möjligheter Det kan finnas sådana objekt som beskrivs i objektklasserna Det är möjligt och troligt, men inte säkert DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

44 Objekt och objektklasser Man börjar med att identifiera mängder av intressanta objekt i den verklighet man ska avbilda Dessa brukar man kalla objektklasser Det man avbildar i modellen är, som redan sagts, 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 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

45 Objekt och objektklasser... Intressanta objektklasser brukar vara t.ex.: Objekt i egentlig mening: Flygplan, tåg, människor, hus, bilar, husgeråd kontor, fabriker, aktier, et.c. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

46 Objekt och objektklasser... Intressanta objektklasser brukar vara t.ex.: Objekt i egentlig mening: Flygplan, tåg, människor, hus, bilar, husgeråd kontor, fabriker, aktier, et.c. Roller: Läkare, lärare, husägare, bilist, hyresgäst, handledare, köpare, säljare, et.c. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

47 Objekt och objektklasser... Intressanta objektklasser brukar vara t.ex.: Objekt i egentlig mening: Flygplan, tåg, människor, hus, bilar, husgeråd kontor, fabriker, aktier, 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) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

48 Modellering Objekt och objektklasser... Ett objekt är en instans av en objektklass, och är entydigt identifierbar genom en I-term (identifikationsterm). DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

49 Modellering Objekt och objektklasser... 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. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

50 Modellering Objekt och objektklasser... 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 FörNamn EfterNamn Gatuadress Nr Kalle Andersson Karlavägen Mona Pettersson Månvägen Vera Lundström Verdandigatan 3 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

51 Objekt och objektklasser... Objektklassens egenskaper beskrivs av ett antal attribut. Grafiskt: Person Personnr FörNamn EfterNamn Gatuadress Nr Eftersom stora modeller gärna blir väl plottriga kan man istället ha egenskaperna i en egenskapsmatris och endast representera klassen med en rektangel med dess namn i i modellen DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

52 Objekt och objektklasser... Klass Namn I-termer E-termer Objekt Person Personnr FörNamn, EfterNamn, Gatuadress, Nr 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 (inte säkert unikt) värde ur attributets domän eller är värdet null ( ). DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

53 Databasmodellering... Modellering 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) samt objektens, och sambandens alla egenskaper (attribut). DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

54 Databasmodellering... 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) samt objektens, och sambandens alla egenskaper (attribut). Modellen kommer att bestå av ett antal objektklasser, deras egenskaper (attribut) och dessutom de associationer (samband) som kan finnas mellan objekten i objektklasserna. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

55 Databasmodellering... 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) samt objektens, och sambandens alla egenskaper (attribut). 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. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

56 Samband och sambandsklasser Intressanta sambandsklasser brukar vara t.ex.: Allt som utgör en association mellan objektklasser: Försäljning, banklån, boklån, boende, flight, resa, m.m. (!! det här är inte alltid så säkert, mycket kan vara objektklasser!!). DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

57 Samband och sambandsklasser Intressanta sambandsklasser brukar vara t.ex.: Allt som utgör en association mellan objektklasser: Försäljning, banklån, boklån, boende, flight, resa, m.m. (!! det här är inte alltid så säkert, mycket kan vara objektklasser!!). Allmänt: sambandsklasser definierar ett beroende mellan objektklasser. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

58 Samband och sambandsklasser Intressanta sambandsklasser brukar vara t.ex.: Allt som utgör en association mellan objektklasser: Försäljning, banklån, boklån, boende, flight, resa, m.m. (!! det här är inte alltid så säkert, mycket kan vara objektklasser!!). Allmänt: sambandsklasser definierar ett beroende mellan objektklasser. Identifieras med i-termerna från de objektklasser de associerar till varandra. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

59 Samband och sambandsklasser Intressanta sambandsklasser brukar vara t.ex.: Allt som utgör en association mellan objektklasser: Försäljning, banklån, boklån, boende, flight, resa, m.m. (!! det här är inte alltid så säkert, mycket kan vara objektklasser!!). 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. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

60 Samband och sambandsklasser Intressanta sambandsklasser brukar vara t.ex.: Allt som utgör en association mellan objektklasser: Försäljning, banklån, boklån, boende, flight, resa, m.m. (!! det här är inte alltid så säkert, mycket kan vara objektklasser!!). 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. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

61 Samband och sambandsklasser Intressanta sambandsklasser brukar vara t.ex.: Allt som utgör en association mellan objektklasser: Försäljning, banklån, boklån, boende, flight, resa, m.m. (!! det här är inte alltid så säkert, mycket kan vara objektklasser!!). 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 linjer dragna mellan de objektklasser som relateras till varandra. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

62 Samband och sambandsklasser Intressanta sambandsklasser brukar vara t.ex.: Allt som utgör en association mellan objektklasser: Försäljning, banklån, boklån, boende, flight, resa, m.m. (!! det här är inte alltid så säkert, mycket kan vara objektklasser!!). 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 linjer dragna mellan de objektklasser som relateras till varandra. Namnet skall helst vara ett substantiv i singularis. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

63 Sambandklassers grad Modellering Sambandsklasser som associerar två objekt ur samma klass med varandra kallas ibland (lite oegentligt) unära. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

64 Sambandklassers grad Modellering Sambandsklasser som associerar två objekt ur samma klass med varandra kallas ibland (lite oegentligt) unära. Sambandsklasser som associerar objekt ur två klasser med varandra kallas binära. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

65 Sambandklassers grad Modellering Sambandsklasser som associerar två objekt ur samma klass med varandra kallas ibland (lite oegentligt) unära. Sambandsklasser som associerar objekt ur två klasser med varandra kallas binära. Sambandsklasser kan associera objekt ur fler än två klasser med varandra (sambandsklassen kan ha högre ordning än 2). DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

66 Sambandklassers grad Modellering Sambandsklasser som associerar två objekt ur samma klass med varandra kallas ibland (lite oegentligt) unära. Sambandsklasser som associerar objekt ur två klasser 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 unär/binär sambandsklass. Den säges vara av typ DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

67 Sambandklassers grad Modellering Sambandsklasser som associerar två objekt ur samma klass med varandra kallas ibland (lite oegentligt) unära. Sambandsklasser som associerar objekt ur två klasser 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 unär/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. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

68 Sambandklassers grad Modellering Sambandsklasser som associerar två objekt ur samma klass med varandra kallas ibland (lite oegentligt) unära. Sambandsklasser som associerar objekt ur två klasser 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 unär/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. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

69 Sambandklassers grad Modellering Sambandsklasser som associerar två objekt ur samma klass med varandra kallas ibland (lite oegentligt) unära. Sambandsklasser som associerar objekt ur två klasser 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 unär/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. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

70 Modellering Samband och sambandsklasser Kvinna Gift_med Man 1:1 DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

71 Modellering Samband och sambandsklasser Kvinna Chef Gift_med Basar_över Man Anställd 1:1 1:N DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

72 Modellering Samband och sambandsklasser Kvinna Chef Författare Gift_med Basar_över Skrivit Man Anställd Bok 1:1 1:N M:N DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

73 Modellering Samband och sambandsklasser Projekt Beställning Material Leverantör DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

74 Modellering Samband och sambandsklasser Person Anställning Avdelning Projektmedverkan Projekt DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

75 Modellering Samband och sambandsklasser kan vara knepiga gift Person granne kollega motpart DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

76 Fördela egenskaper i modellen Oftast är det enkelt att bestämma var man ska representera en egenskap men man kan få lite huvudbry. person projanst projekt 1? 2? 3? Timpris Var timpriset ska representeras kan bero på många saker, här t.ex.: 1. man har samma lön oavsett vad man gör DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

77 Fördela egenskaper i modellen Oftast är det enkelt att bestämma var man ska representera en egenskap men man kan få lite huvudbry. person projanst projekt 1? 2? 3? Timpris Var timpriset ska representeras kan bero på många saker, här t.ex.: 1. man har samma lön oavsett vad man gör 2. man har lön efter sin roll (och sitt ansvar) i projektet DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

78 Fördela egenskaper i modellen Oftast är det enkelt att bestämma var man ska representera en egenskap men man kan få lite huvudbry. person projanst projekt 1? 2? 3? Timpris Var timpriset ska representeras kan bero på många saker, här t.ex.: 1. man har samma lön oavsett vad man gör 2. man har lön efter sin roll (och sitt ansvar) i projektet 3. alla på samma projekt har samma lön DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

79 När man anser sig vara klar När man anser sig vara klar har man en sammanhängande graf DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

80 När man anser sig vara klar När man anser sig vara klar har man en sammanhängande graf kan man diskutera sig igenom hur man får svar på sina frågor DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

81 När man anser sig vara klar När man anser sig vara klar har man en sammanhängande graf kan man diskutera sig igenom hur man får svar på sina frågor är alla inblandade överens om vad modellen betyder DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

82 När man anser sig vara klar När man anser sig vara klar har man en sammanhängande graf kan man diskutera sig igenom hur man får svar på sina frågor är alla inblandade överens om vad modellen betyder ska man få en rimlig databasstruktur, annars... DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

83 När man anser sig vara klar När man anser sig vara klar har man en sammanhängande graf kan man diskutera sig igenom hur man får svar på sina frågor är alla inblandade överens om vad modellen betyder ska man få en rimlig databasstruktur, annars... itererar man över modellen och databasstrukturen tills man är nöjd DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

84 När man anser sig vara klar När man anser sig vara klar har man en sammanhängande graf kan man diskutera sig igenom hur man får svar på sina frågor är alla inblandade överens om vad modellen betyder ska man få en rimlig databasstruktur, annars... itererar man över modellen och databasstrukturen tills man är nöjd Databasstruktur?? DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

85 När man anser sig vara klar När man anser sig vara klar har man en sammanhängande graf kan man diskutera sig igenom hur man får svar på sina frågor är alla inblandade överens om vad modellen betyder ska man få en rimlig databasstruktur, annars... itererar man över modellen och databasstrukturen tills man är nöjd Databasstruktur?? men först lite mer om hur man kan tänka DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

86 Exempel vårt (mycket enkela) varuhus 1. Det finns varor till försäljning Vara DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

87 Exempel ett (mycket enkelt) varuhus 2. Det finns avdelningar där man säljer varorna Avdelning Vara DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

88 Exempel ett (mycket enkelt) varuhus 3. Det finns anställda som sköter försäljningen Anställd Avdelning Vara DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

89 Exempel ett (mycket enkelt) varuhus 4. Det finns leverantörer som levererar varor Anställd Avdelning Leverantör Vara DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

90 Exempel ett (mycket enkelt) varuhus 5. Man håller reda på hur mycket varje avdelning säljer, Anställd Avdelning Försäljning Leverantör Vara DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

91 Exempel ett (mycket enkelt) varuhus 6. vilka som jobbar på avdelningarna Anställd Anställning Avdelning Försäljning Leverantör Vara DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

92 Exempel ett (mycket enkelt) varuhus 7. och vad som levereras av vem till resp.avdelning Anställd Leverantör Anställning Lager Avdelning Försäljning Vara DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

93 Exempel ett (mycket enkelt) varuhus Jag väljer en egenskapsmatris för att representera egenskaperna Typ Namn I-termer E-termer Obj Samb DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

94 Exempel ett (mycket enkelt) varuhus Jag väljer en egenskapsmatris för att representera egenskaperna Typ Namn I-termer E-termer Obj Vara varunr typ Samb DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

95 Exempel ett (mycket enkelt) varuhus Jag väljer en egenskapsmatris för att representera egenskaperna Typ Namn I-termer E-termer Obj Vara varunr typ Avdelning avd våning Samb DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

96 Exempel ett (mycket enkelt) varuhus Jag väljer en egenskapsmatris för att representera egenskaperna Typ Namn I-termer E-termer Obj Vara varunr typ Avdelning avd våning Anställd namn lön, chef Samb DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

97 Exempel ett (mycket enkelt) varuhus Jag väljer en egenskapsmatris för att representera egenskaperna Typ Namn I-termer E-termer Obj Vara varunr typ Avdelning avd våning Anställd namn lön, chef Leverantör företag adress Samb DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

98 Exempel ett (mycket enkelt) varuhus Jag väljer en egenskapsmatris för att representera egenskaperna Typ Namn I-termer E-termer Obj Vara varunr typ Avdelning avd våning Anställd namn lön, chef Leverantör företag adress Samb Försäljning avd, varunr volym DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

99 Exempel ett (mycket enkelt) varuhus Jag väljer en egenskapsmatris för att representera egenskaperna Typ Namn I-termer E-termer Obj Vara varunr typ Avdelning avd våning Anställd namn lön, chef Leverantör företag adress Samb Försäljning avd, varunr volym Anställd namn, avd DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

100 Modellering Exempel ett (mycket enkelt) varuhus Jag väljer en egenskapsmatris för att representera egenskaperna Typ Namn I-termer E-termer Obj Vara varunr typ Avdelning avd våning Anställd namn lön, chef Leverantör företag adress Samb Försäljning avd, varunr volym Anställd namn, avd Lager företag, avd, varunr volym DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

101 Variationer på modellverktyget (1) Anställd Leverantör Anställning Lager Avdelning Vara Försäljning DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

102 Variationer på modellverktyget (2) Anställd Leverantör Anställning Avdelning Försäljning Lager Vara DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

103 Från modell till databas Modellering När vi analyserat den värld vi vill representera i en databas har vi tagit med alla möjliga kopplingar och beskrivit dem i en modell. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

104 Från modell till databas Modellering När vi analyserat den värld vi vill representera i en databas har vi tagit med alla möjliga kopplingar och beskrivit dem i en modell. Inte allt är nödvändigt att representera i databasen, 1:1- och 1:N-samband kan vi få med utan att ha en speciell tabell för representationen. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

105 Från modell till databas Modellering När vi analyserat den värld vi vill representera i en databas har vi tagit med alla möjliga kopplingar och beskrivit dem i en modell. Inte allt är nödvändigt att representera i databasen, 1:1- och 1:N-samband kan vi få med utan att ha en speciell tabell för representationen. Hade vi en sådan tabell skulle den bli uppenbart onödig DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

106 Från modell till databas När vi analyserat den värld vi vill representera i en databas har vi tagit med alla möjliga kopplingar och beskrivit dem i en modell. Inte allt är nödvändigt att representera i databasen, 1:1- och 1:N-samband kan vi få med utan att ha en speciell tabell för representationen. Hade vi en sådan tabell skulle den bli uppenbart onödig Anställd Avdelning Kalle Eva Anders Sport Sport Mat DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

107 Från modell till databas När vi analyserat den värld vi vill representera i en databas har vi tagit med alla möjliga kopplingar och beskrivit dem i en modell. Inte allt är nödvändigt att representera i databasen, 1:1- och 1:N-samband kan vi få med utan att ha en speciell tabell för representationen. Hade vi en sådan tabell skulle den bli uppenbart onödig Anställd Avdelning Kalle Eva Anders Sport Sport Mat Kalle, Eva och Anders förekommer endast en gång var i Anställd så vi kan lägga till avd i Anställd istället för att ha en extra tabell DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

108 Från modell till databas När vi analyserat den värld vi vill representera i en databas har vi tagit med alla möjliga kopplingar och beskrivit dem i en modell. Inte allt är nödvändigt att representera i databasen, 1:1- och 1:N-samband kan vi få med utan att ha en speciell tabell för representationen. Hade vi en sådan tabell skulle den bli uppenbart onödig Anställd Avdelning Kalle Eva Anders Sport Sport Mat Kalle, Eva och Anders förekommer endast en gång var i Anställd så vi kan lägga till avd i Anställd istället för att ha en extra tabell Vi kan faktiskt använda ett antal kokboks -regler för övergång till DB-struktur DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

109 Från modell till databas... Jag kommer att använda följande notation: TabellNamn (i-termer, e-termer) för att beteckna en tabell (basrelation) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

110 Från modell till databas... Jag kommer att använda följande notation: TabellNamn (i-termer, e-termer) för att beteckna en tabell (basrelation) och följande regler finns i den utlovade kokboken DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

111 Från modell till databas... Jag kommer att använda följande notation: TabellNamn (i-termer, e-termer) för att beteckna en tabell (basrelation) och följande regler finns i den utlovade kokboken a. En objektklass som innehåller e-term(-er) bildar en tabell DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

112 Från modell till databas... Jag kommer att använda följande notation: TabellNamn (i-termer, e-termer) för att beteckna en tabell (basrelation) och följande regler finns i den utlovade kokboken a. En objektklass som innehåller e-term(-er) bildar en tabell b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

113 Från modell till databas... Jag kommer att använda följande notation: TabellNamn (i-termer, e-termer) för att beteckna en tabell (basrelation) och följande regler finns i den utlovade kokboken a. En objektklass som innehåller e-term(-er) bildar en tabell b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell c. En sambandsklass av högre ordning än 2 bildar en tabell DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

114 Från modell till databas... Jag kommer att använda följande notation: TabellNamn (i-termer, e-termer) för att beteckna en tabell (basrelation) och följande regler finns i den utlovade kokboken a. En objektklass som innehåller e-term(-er) bildar en tabell b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell c. En sambandsklass av högre ordning än 2 bildar en tabell d. En M:N-sambandsklass bildar en tabell DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

115 Från modell till databas... Jag kommer att använda följande notation: TabellNamn (i-termer, e-termer) för att beteckna en tabell (basrelation) och följande regler finns i den utlovade kokboken a. En objektklass som innehåller e-term(-er) bildar en tabell b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell c. En sambandsklass av högre ordning än 2 bildar en tabell d. En M:N-sambandsklass bildar en tabell e. En 1:N-sambandsklass försvinner men 1-sidans objektklass i-term blir e-term i tabellen som bildas av n-sidans objektklass DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

116 Från modell till databas... Jag kommer att använda följande notation: TabellNamn (i-termer, e-termer) för att beteckna en tabell (basrelation) och följande regler finns i den utlovade kokboken a. En objektklass som innehåller e-term(-er) bildar en tabell b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell c. En sambandsklass av högre ordning än 2 bildar en tabell d. En M:N-sambandsklass bildar en tabell e. En 1:N-sambandsklass försvinner men 1-sidans objektklass i-term blir e-term i tabellen som bildas av n-sidans objektklass f. En 1:1-sambandsklass hanteras antingen som en 1:N-sambandsklass där man godtyckligt väljer en sida som N-sida eller tar man bort den och slår samman objektklasserna som sambandsklassen binder samman DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

117 Från modell till databas... Jag kommer att använda följande notation: TabellNamn (i-termer, e-termer) för att beteckna en tabell (basrelation) och följande regler finns i den utlovade kokboken a. En objektklass som innehåller e-term(-er) bildar en tabell b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell c. En sambandsklass av högre ordning än 2 bildar en tabell d. En M:N-sambandsklass bildar en tabell e. En 1:N-sambandsklass försvinner men 1-sidans objektklass i-term blir e-term i tabellen som bildas av n-sidans objektklass f. En 1:1-sambandsklass hanteras antingen som en 1:N-sambandsklass där man godtyckligt väljer en sida som N-sida eller tar man bort den och slår samman objektklasserna som sambandsklassen binder samman Regel f komplicerar lite grand ger ett icke-deterministiskt inslag DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

118 Modellering Från modell till databas... testa reglerna på varuhusmodellen och senare, på övning, på större modeller Anställd Leverantör Anställning Lager Avdelning Försäljning Vara DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

119 Från varuhusmodell till varuhusdatabas DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

120 Från varuhusmodell till varuhusdatabas a. En objektklass som innehåller e-term(-er) bildar en tabell DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

121 Från varuhusmodell till varuhusdatabas a. En objektklass som innehåller e-term(-er) bildar en tabell Vara (varunr, typ) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

122 Från varuhusmodell till varuhusdatabas a. En objektklass som innehåller e-term(-er) bildar en tabell Vara (varunr, typ) Avdelning (avd, våning) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

123 Från varuhusmodell till varuhusdatabas a. En objektklass som innehåller e-term(-er) bildar en tabell Vara (varunr, typ) Avdelning (avd, våning) Anställd (namn, lön, chef) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

124 Från varuhusmodell till varuhusdatabas a. En objektklass som innehåller e-term(-er) bildar en tabell Vara (varunr, typ) Avdelning (avd, våning) Anställd (namn, lön, chef) Leverantör (företag, adress) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

125 Från varuhusmodell till varuhusdatabas a. En objektklass som innehåller e-term(-er) bildar en tabell Vara (varunr, typ) Avdelning (avd, våning) Anställd (namn, lön, chef) Leverantör (företag, adress) b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

126 Från varuhusmodell till varuhusdatabas a. En objektklass som innehåller e-term(-er) bildar en tabell Vara (varunr, typ) Avdelning (avd, våning) Anställd (namn, lön, chef) Leverantör (företag, adress) b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell Finns ingen DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

127 Från varuhusmodell till varuhusdatabas a. En objektklass som innehåller e-term(-er) bildar en tabell Vara (varunr, typ) Avdelning (avd, våning) Anställd (namn, lön, chef) Leverantör (företag, adress) b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell Finns ingen c. En sambandsklass av högre ordning än 2 bildar en tabell DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

128 Från varuhusmodell till varuhusdatabas a. En objektklass som innehåller e-term(-er) bildar en tabell Vara (varunr, typ) Avdelning (avd, våning) Anställd (namn, lön, chef) Leverantör (företag, adress) b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell Finns ingen c. En sambandsklass av högre ordning än 2 bildar en tabell Lager (företag, avd, varunr, volym) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

129 Från varuhusmodell till varuhusdatabas... Vi har... Vara (varunr, typ) Avdelning (avd, våning) Anställd (namn, lön, chef) Leverantör (företag, adress) Lager (företag, avd, varunr, volym) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

130 Från varuhusmodell till varuhusdatabas... Vi har... Vara (varunr, typ) Avdelning (avd, våning) Anställd (namn, lön, chef) Leverantör (företag, adress) Lager (företag, avd, varunr, volym) d. En M:N-sambandsklass bildar en tabell DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

131 Från varuhusmodell till varuhusdatabas... Vi har... Vara (varunr, typ) Avdelning (avd, våning) Anställd (namn, lön, chef) Leverantör (företag, adress) Lager (företag, avd, varunr, volym) d. En M:N-sambandsklass bildar en tabell Försäljning (avd, varunr, volym) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

132 Från varuhusmodell till varuhusdatabas... Vi har... Vara (varunr, typ) Avdelning (avd, våning) Anställd (namn, lön, chef) Leverantör (företag, adress) Lager (företag, avd, varunr, volym) d. En M:N-sambandsklass bildar en tabell Försäljning (avd, varunr, volym) e. En 1:N-sambandsklass försvinner... DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 39

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 Modellering Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen DD1370 (Föreläsning 3) Databasteknik och informationssystem

Läs mer

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

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget Idag Varför modellera? Varför modellera? Konceptuell modell sverktyg Objektklasser Sambandsklasser Knepiga attribut sprocessen I all ingenjörsverksamhet där man hanterar komplicerade system behöver man

Läs mer

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

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget Idag Varför modellera? Varför modellera? Konceptuell modell sverktyg Objektklasser Sambandsklasser Knepiga attribut sprocessen I all ingenjörsverksamhet där man hanterar komplicerade system behöver man

Läs mer

GIS, databasteknik och kartografi. Databasmodellering

GIS, databasteknik och kartografi. Databasmodellering 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:

Läs mer

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

Idag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL) Idag 1. Från modell till databasstruktur 2. Prata med databaser (frågepsråket SQL) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten 2008 1 / 22 Från verklighet via modell till

Läs mer

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

Från verklighet via modell till databas. Idag. Testa reglerna på varuhusmodellen. Från verklighet via modell till databas Idag 1. Från modell till databasstruktur Från verklighet via modell till databas När vi analyserat den värld vi vill representera i en databas har vi tagit med alla möjliga kopplingar och beskrivit dem

Läs mer

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

Lösningsförslag till tentamen för DD1370 Databasteknik och informationssystem Lösningsförslag till tentamen för DD1370 Databasteknik och informationssystem Torsdag 11 dec 2008 1. a) Jag använder kokbokens regler a. En objektklass som innehåller e-term(-er) bildar en tabell b. En

Läs mer

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

Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem Hösten 2011 1. a) Jag följer kokboken (förel 3, bild 34) a. Regeln säger att alla objektklasser med e-termer ska bilda

Läs mer

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

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

Läs mer

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

SQLs delar. Idag. Att utplåna en databas. Skapa en databas Idag SQLs delar Hur skapar vi och underhåller en databas? Hur skapar man tabeller? Hur får man in data i tabellerna? Hur ändrar man innehållet i en tabell? Index? Vad är det och varför behövs de? Behöver

Läs mer

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

Databaser och databasdesign. Den relationella modellen, normalisering och modellering (2) Databaser och databasdesign Den relationella modellen, normalisering och modellering (2) Varför databaser (DB)? Vi vill och måste kunna lagra data på sätt som motsvarar olika verksamheters behov Vad är

Läs mer

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

Introduktion till databaskursen. Välkomna. till kursen. Databasteknik och informationssystem. DD1370 (kursomgång dbtinf12) Välkomna Introduktion till databaskursen Välkomna till kursen Databasteknik och informationssystem DD1370 (kursomgång dbtinf12) En kurs om grunderna i databasteknik DD1370 (Föreläsning 1) Databasteknik

Läs mer

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

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem till databaskursen Varför ska man lära sig sånt? till databaskursen till kursen Databasteknik och informationssystem Nästan alla större system idag innehåller eller använder data lagrad i en databas Så

Läs mer

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

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem till databaskursen Varför ska man lära sig sånt? till databaskursen till kursen Databasteknik och informationssystem Nästan alla större system idag innehåller eller använder data lagrad i en databas Så

Läs mer

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

Idag. Exempel. Exempel modellen (1) Exempel... Idag Exempel Knyta ihop säcken Repetition av hela processen från värld till databas Kontroll av resultatet Exempel på frågor mot varuhusdatabasen Man börjar alltid med att bestämma vad man måste hålla

Läs mer

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

Idag. Exempel. Exempel modellen (1) Exempel... Idag Exempel Knyta ihop säcken Repetition av hela processen från värld till databas Kontroll av resultatet Man börjar alltid med att bestämma vad man måste hålla reda på, de s.k. objektklasserna. Ofta

Läs mer

Databaser design och programmering. Design processen ER- modellering

Databaser design och programmering. Design processen ER- modellering Databaser design och programmering Design processen ER- modellering 2 Programutveckling Förstudie, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign Databasdesign

Läs mer

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen Webprogrammering och databaser Konceptuell datamodellering med ER-modellen 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

Läs mer

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

Tentamen för 1E1601. Måndag 10 mars 2003, kl 08.00 13.00. Alla hjälpmedel tillåtna Tentamen för 1E1601 Måndag 10 mars 2003, kl 08.00 13.00 Alla hjälpmedel tillåtna Totalt kan tentan ge 45p + max 10p för gjorda övningsuppgifter 27p ger säkert betyget 3, 35p ger säkert betyget 4 och 43p

Läs mer

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

Idag. Databaskvalitet(??) Databaskvalitet... Databaskvalitet... Idag Databaskvalitet(??) Hur vet vi att vår databas är tillräckligt bra? Vad är ett beroende? Vad gör man om det blivit fel? Vad är en normalform? Hur når man de olika normalformerna? Det finns metoder

Läs mer

Databasdesign. E-R-modellen

Databasdesign. E-R-modellen Databasdesign Kapitel 6 Databasdesign E-R-modellen sid Modellering och design av databaser 1 E-R-modellen 3 Grundläggande begrepp 4 Begränsningar 10 E-R-diagram 14 E-R-design 16 Svaga entitetsmängder 19

Läs mer

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen Webprogrammering och databaser Konceptuell datamodellering med ER-modellen 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

Läs mer

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

Databasteknik. Vad är. Vad är databaser bra till? data? föreläsare: Kjell Lindqvist. och NADA. databaser? och. vad är de bra för? Databasteknik Vad är data? föreläsare: Kjell Lindqvist och NADA databaser? och vad är de bra för? och varför ska ni kunna något om dem? Copyright c NADA, KTH DBT, bild 1 Copyright c NADA, KTH DBT, bild

Läs mer

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

Fiktiv tentamen för DD1370 Databasteknik och informationssystem Fiktiv tentamen för DD1370 Databasteknik och informationssystem Torsdag 4 dec 2008 Hjälpmedel: Allt inklusive kursbok, försläsningsanteckningar, gamla tentor och egna anteckningar, men inte tentalösningar

Läs mer

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

Fiktiv tentamen för DD1370 Databasteknik och informationssystem Fiktiv tentamen för 1370 atabasteknik och informationssystem Hösten 2011 Hjälpmedel: Allt man kan tänka sig, men ingen kontakt med hjälpsamma kamrater och inga elektroniska hjälpmedel. Tänk på: Skriv högst

Läs mer

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

Databaser design och programmering. Fö 2: Design processen, ER-modellering Databaser design och programmering Fö 2: Design processen, ER-modellering 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

Läs mer

Lite om databasdesign och modellering

Lite om databasdesign och modellering Lite om databasdesign och modellering Konceptuell databasdesign Med konceptuell databasdesign avses processen att konstruera en datamodell för en verksamhet, oberoende av fysiska villkor. Modelleringen

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 10 April 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje

Läs mer

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

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem Webprogrammering och databaser! Idag: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Start på ER-modellering! Webprogrammering Kursöversikt! Databasteori och praktik! Fö, le, la + projekt!

Läs mer

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

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

(Data)Modellering. nikos dimitrakas rum 2423

(Data)Modellering. nikos dimitrakas rum 2423 (Data)Modellering nikosd@kth.se 08-161295 rum 2423 Connolly/Begg (3rd edition) Kapitel 11, 12 och 14 (4th edition) Kapitel 11, 12 och 15 (5th edition) Kapitel 12, 13 och 16 (6th edition) Kapitel 12, 13

Läs mer

GIS, databasteknik och kartografi. Kursmaterial för databasdelen

GIS, databasteknik och kartografi. Kursmaterial för databasdelen GIS, databasteknik och kartografi Kursmaterial för databasdelen Våren 2004 Innehåll Objekt och objektklasser......................... 3 Samband och sambandsklasser...................... 4 Övningsuppgifter:

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 16 Januari 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje

Läs mer

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

Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året 729G28 Webprogrammering och databaser Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Webprogrammering och databaser Personal: Examinator Jalal Maleki, jalma@ida.liu.se

Läs mer

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

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion. Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Programdesign, databasdesign Databasdesign Konceptuell design Förstudie, behovsanalys

Läs mer

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

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag 729G28 Webprogrammering och Kursansvarig: Eva Ragnemalm, IDA eva.ragnemalm@liu.se Kursassistent: Anders Märak Leffler anders.marak.leffler@liu.se Webprogrammering och Föreläsning 1: Diverse praktiskt om

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem Exempeltenta för kursen ht2013 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan

Läs mer

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

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser? Databaser Design och programmering! Diverse praktiskt! Varför databaser?! Vad är en databas?! Andra viktiga begrepp Kursöversikt! Teori och praktik! Samläsning! Olika projekt! Examination (tenta, labb

Läs mer

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

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi 729G28 Webprogrammering och databaser Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi 2 Personal Examinator, Ansvarig databasteori: Eva Ragnemalm, eva.ragnemalm@liu.se

Läs mer

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

Tentamen. i Databasteknik. lördagen den 13 mars 2004. Tillåtna hjälpmedel: Allt upptänkligt material Tentamen i lördagen den 13 mars 2004 Tillåtna hjälpmedel: Allt upptänkligt material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig

Läs mer

Databaser - Design och programmering

Databaser - Design och programmering Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Fö 1; introduktion Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp 2 Kursöversikt

Läs mer

732G16: Databaser - Design och programmering

732G16: Databaser - Design och programmering 732G16: Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Johan Falkenjack, IDA (johan.falkenjack@liu.se) Fö 1 Introduktion 2 Kursöversikt Teori och praktik Kursbok, lektionshäfte,

Läs mer

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

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU Databaser Design och programmering, IDA Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp Kursöversikt Teori och praktik Fö och bok lektioner, labbar i projekt (3,5hp=100h)

Läs mer

Konceptuell modellering. Formalisering, automatisering och effektivisering

Konceptuell modellering. Formalisering, automatisering och effektivisering Konceptuell modellering. Formalisering, automatisering och effektivisering LUSP. HT2012. Föreläsning 7. Övning 7 Erik Perjons perjons@dsv.su.se Modeller och modellering 1 Verksamheten två nivåer Människor

Läs mer

Tentamen i. Databasteknik

Tentamen i. Databasteknik Tentamen i Databasteknik Torsdagen den 10/3 2005 14.00-19.00 Tillåtna hjälpmedel: Allt tänkbart material Använd bara framsidan på varje blad Skriv max en uppgift per blad. Skriv tydligt. Motivera allt.

Läs mer

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

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2014-08-20 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

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

Del 2: ER-modellering och överföring till Databasstruktur v0.9 DD1370: Databaser och Informationssystem Hösten 2014 Del 2: ER-modellering och överföring till Databasstruktur v09 Petter Ögren 1:e December Disclaimer: Dessa anteckningar har producerats under viss tidspress,

Läs mer

Grunderna för relationsmodellen!

Grunderna för relationsmodellen! Grunderna för relationsmodellen! 1 Varför behöver jag lära mig relationsmodellen?! Relationsmodellen är den totalt dominerande datamodellen i moderna databassystem Beskriver databaser som en mängd tabeller

Läs mer

Objektorientering. Grunderna i OO

Objektorientering. Grunderna i OO Objektorientering Grunderna i OO 1 Systemutveckling Tre systemnivåer: Verksamhet Informationssystem Datasystem Huvuduppgifterna i ett systemutvecklingsarbete: Verksamhetsanalys Informationsbehovsanalys

Läs mer

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

08/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Kursens (återstående) mål Dagens föreläsning 08/12/14 Behövs Föreläsning 8? Databasteknik och informationssystem DD1370 Idag F7 - (sista nyheterna & repetition) F8 (?) - (repetition, repetition, repetition ) Föreläsning 7 Svara med knapptryckning

Läs mer

Modul DB1-1 Databasmodellering

Modul DB1-1 Databasmodellering Modul DB1-1 Databasmodellering Antal föreläsningar: 2 Antal laborationer: 1 Förkunskapskrav: Databasintroduktion Kurslitteratur: Referenslitteratur: Praktisk datamodellering ISBN: 91-44-38001-1 1 Innehållsförteckning

Läs mer

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

16/11/14. Databasteknik och informationssystem DD1370. Information. Dagens föreläsning: ERmodeller Dagens föreläsning. Påminnelse: Kursens mål 6//4 Information Vi har ingen kursbok Kanske ändå användbart med sammanhängande text inför Seminarieuppgift och Lab? Utkast: Databasteknik och informationssystem DD370 - Introduktion till SQL (2 sidor)

Läs mer

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

Lösningsförslag till tentamen för 1E1601 Lösningsförslag till tentamen för 1E1601 Måndag 20 augusti 2001 1. a) Student Studiemerit Prio.Kö Kö Område LägenhetsTyp Kontrakt Datum Husbestånd ÄrAvTyp Hus LghBestånd Lägenhet InvBestånd Inventarie

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem Exempeltenta för kursen ht2013 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan

Läs mer

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

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2014-12-18 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

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

25/11/14. Databasteknik och informationssystem DD1370. Påminnelse inför Lab 1 redovisningen. Repetition: ER modellering (gammalt + nytt) 25//4 Påminnelse inför Lab redovisningen Databasteknik och informationssystem DD370 Föreläsning 5: ER-modellenà Databas Påminnelse: Kursens mål. Förklara ett databashanteringssystems funktioner och uppbyggnad

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 2003-01-20 DAV B04 - Databasteknik 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 26 Relationsmodellen En formell teori som baserar sig på (främst) mängdlära predikatlogik Föreslogs av E.F Codd 1970 i

Läs mer

02/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Dagens föreläsning. Om Lab 1. De 11 Stegen (Kokbok)

02/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Dagens föreläsning. Om Lab 1. De 11 Stegen (Kokbok) 02/2/4 Behövs Föreläsning 8? Databasteknik och informationssystem DD370 Idag F6 ästa vecka: F7 (sista nyheterna & repetition) Föreläsning 6: ER-modellenà Databas (del 2) F8 (?) (repetition, repetition,

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 24 Augusti 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje

Läs mer

Objektorientering Användning

Objektorientering Användning Objektorientering Användning Samt repetition av klasser Suzana Ramadani 1 Repetition Objektorientering bygger på Abstraktion Hierarkisk strukturering Inkapsling Klassificering Generalisering specialisering

Läs mer

11/11/13. Databasteknik och informationssystem DD1370. Dagens föreläsning. Dagens föreläsning: ERmodeller Jmf: Relationer i Base

11/11/13. Databasteknik och informationssystem DD1370. Dagens föreläsning. Dagens föreläsning: ERmodeller Jmf: Relationer i Base //3 Dagens föreläsning Databasteknik och informationssystem DD370 ER-modellen - Entiteter - Samband :, :, : Loopar Fullständigt deltagande Flervägs-samband Föreläsning 4: ER-modellen - Attribut yckelattribut

Läs mer

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

Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Relationsmodellen Introducerades av Edward Codd 970 Mycket vanlig Stödjer kraftfulla

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 13 Mars 2014 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje blad.

Läs mer

04/11/14. Välkomna till kursen: Databasteknik och informationssystem DD1370. Kursanvarig. Dagens föreläsning. Vad är en Databas?

04/11/14. Välkomna till kursen: Databasteknik och informationssystem DD1370. Kursanvarig. Dagens föreläsning. Vad är en Databas? Kursanvarig Välkomna till kursen: Databasteknik och informationssystem DD1370 Petter Ögren Petter Ögren petter@kth.se Kontor: Teknikringen 14 Kontakt: - Kurswebben (något många vill veta) - Email (något

Läs mer

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ Föreläsning 7 OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram - Kravspecifikationer, användningsfall, systemarkitektur - Analysfas vad är analys?

Läs mer

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

Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. Inga hjälpmedel är tillåtna Databasteknik 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen NDA01G Öppen för alla Tentamenskod: Tentamensdatum: 2017-11-02 Tid: 14:00-19:00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

Ett arbetsexempel Faktureringsrutin

Ett arbetsexempel Faktureringsrutin Ett arbetsexempel Faktureringsrutin Detta dokument är skrivet för att i första hand förstå den process som äger rum och vilka steg som man ska genomföra och att förstå vad som utförs i de tre viktiga stegen

Läs mer

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

Normalisering. Varför? För att åstadkomma en så bra struktur i databasen som möjligt med minimalt med dubbellagrad info. Normalisering Varför? För att åstadkomma en så bra struktur i databasen som möjligt med minimalt med dubbellagrad info. Tillbaka i modelleringsfasen. 1NF: Vad menas med ett sammansatt attribut? Exempel:

Läs mer

Databaser. Vad du ska lära dig: Ordlista

Databaser. Vad du ska lära dig: Ordlista Databaser Vad du ska lära dig: Ordlista Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda en

Läs mer

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

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information. Vad är en databas? Exempel på databaser: Kortregister på kontor Sjukvårdsjournal Bokregister på bibliotek Medlemsregister i en förening Kundregister på företag Telefonkatalogen Databas = Organiserad samling

Läs mer

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

DVA234 Databaser. Dag Nyström, Introduktion till databaser och MS SQL Server DVA234 Databaser 1(6) Kurs: DVA234 Databaser Version: 4, uppdaterad 2016-03-21 Utvecklad av: Dag Nyström, dag.nystrom@mdh.se Laboration 1: Introduktion till databaser och MS SQL Server I den här laborationen

Läs mer

Relationsdatabasdesign

Relationsdatabasdesign Vad är Relationsdatabasdesign? Relationsdatabasdesign nikosd@kth.se 08-7904460 rum 8522 Connolly/Begg (3rd edition) Kapitel 4., 4.2 och 5 (4th edition) Kapitel 5., 5.2 och 6 (5th edition) Kapitel 6., 6.2

Läs mer

ER-Diagram. Databasutveckling Diagram

ER-Diagram. Databasutveckling Diagram Databasutveckling Diagram Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se ER-Diagram En vanlig konceptuell datamodell är den så kallade ER-modellen. "ER" står för "Entity-Relationship",

Läs mer

Webbprogrammering, grundkurs 725G54

Webbprogrammering, grundkurs 725G54 Webbprogrammering, grundkurs 725G54 Bootstrap jquery SEO RWD MuddyCards. Tidigare Muddycards Många positiva kommentarer Ibland för högt tempo på föreläsning Lägg ut labbar tidigare Mer föreläsningar (2

Läs mer

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

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Idag. Hur skapar vi och underhåller en databas? Index? Vad är det och varför behövs de? Behöver jag bry mig om index?

Idag. Hur skapar vi och underhåller en databas? Index? Vad är det och varför behövs de? Behöver jag bry mig om index? Idag Hur skapar vi och underhåller en databas? Hur skapar man tabeller? Hur får man in data i tabellerna? Hur ändrar man innehållet i en tabell? Index? Vad är det och varför behövs de? Behöver jag bry

Läs mer

16/12/14. Databasteknik och informationssystem DD1370. Dagens föreläsning (den sista!) Motivera med kokbok! Idag: Inga knappar L. Dagens föreläsning

16/12/14. Databasteknik och informationssystem DD1370. Dagens föreläsning (den sista!) Motivera med kokbok! Idag: Inga knappar L. Dagens föreläsning Dagens föreläsning (den sista!) Databasteknik och informationssystem DD1370 Allmän information Information om tentan Repetition - Från text till SQL-fråga Föreläsning 8 (info om tentan och repetition)

Läs mer

Tentamen i Databasteknik

Tentamen i Databasteknik Tentamen i Onsdagen den 7 mars 2007 Tillåtna hjälpmedel: Allt skrivet material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig

Läs mer

TDDC74 Programmering, abstraktion och modellering DUGGA 2

TDDC74 Programmering, abstraktion och modellering DUGGA 2 AID-nummer: Datum: 2011-02-18 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering DUGGA 2 Fredag 18 feb 2011

Läs mer

Databasteknik NADA, KTH & SU

Databasteknik NADA, KTH & SU Databasteknik Kjell Lindqvist, (08) 790 62 76 Sid 1 Objekt/Objektklasser Samband / Sambandsklasser Ett objekt är ett föremål eller ett begrepp som kan identifieras entydigt med ett identifikationsbegrepp

Läs mer

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

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2013-12-12 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Design och underhåll av databaser

Design och underhåll av databaser Design och underhåll av databaser 1. Modell av verkligheten 2. Normalformer 3. Introduktion till DDL 4. Skapa databaser 5. Skapa tabeller 6. Skapa index 7. Restriktioner 8. Ta bort databaser, tabeller

Läs mer

TDDC74 Programmering, abstraktion och modellering. Tentamen

TDDC74 Programmering, abstraktion och modellering. Tentamen AID-nummer: Datum: 2012-01-10 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering Tentamen Tisdag 10 januari

Läs mer

Relationsmodellen och syntetisk databasdesign

Relationsmodellen och syntetisk databasdesign Relationsmodellen och syntetisk databasdesign Den teoretiska grunden för relationsdatabaser Från konceptuellt schema till databas Relationsmodellen Bil Ägare En relationsdatabas är en databas som uppfattas

Läs mer

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

Föreläsning 3 Dagens föreläsning går igenom Databasbaserad publicering Föreläsning 3 1 Föreläsning 3 Dagens föreläsning går igenom E/R-modellen & Läs om E/R-diagram i kapitel 2-3 i boken "Databasteknik" eller motsvarande avsnitt på http://www.databasteknik.se/webbkursen/er/index.html

Läs mer

TDDD12 och TDDD46 Databasteknik. Lena Strömbäck

TDDD12 och TDDD46 Databasteknik. Lena Strömbäck TDDD12 och TDDD46 Databasteknik Lena Strömbäck http://www.ida.liu.se/~tddd12 http://www.ida.liu.se/~tddd46 Vad är en databas? Ett sätt att lagra data på elektroniskt format. Används i dagliga livet, banker,

Läs mer

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 LiTH, Tekniska högskolan vid Linköpings universitet 1(5) IDA, Institutionen för datavetenskap Juha Takkinen Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 Lokal T2 och

Läs mer

Operatörer och användargränssnitt vid processtyrning

Operatörer och användargränssnitt vid processtyrning Operatörer och användargränssnitt vid processtyrning Domänanalyser och uppgiftsanalyser Uppsala universitet @ 2003 Anders Jansson Sammanfattning kap.1 Sociotekniska system Många olika grupper av användare

Läs mer

Tentamen i Datorteknik och - kommunikation, 2D1522/4K1522. Läs detta innan du börjar:

Tentamen i Datorteknik och - kommunikation, 2D1522/4K1522. Läs detta innan du börjar: Tentamen i Datorteknik och - kommunikation, 2D1522/4K1522 2002-05-30 Läs detta innan du börjar: Tid: 14.00-18.00. Du får gå tidigast 15.00 Hjälpmedel Utdelade databashäften. Anteckningar i häftet får finnas

Läs mer

Företagsmodellering i UML

Företagsmodellering i UML Företagsmodellering i UML En kort-kort introduktion av Ambjörn Naeve http://kmr.nada.kth.se Modellering En modell är en förenklad beskrivning av ett komplext område En modell är motiverad av mål (= har

Läs mer

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

D0004N 2008-11-24 Databaser I. Greenline. Petter Hedlin / epeehi-4 Rikard Stenmark / rikste-8 Markus Almberg / maralm-5 D0004N 2008-11-24 Databaser I Greenline Petter Hedlin / epeehi-4 Rikard Stenmark / rikste-8 Markus Almberg / maralm-5 Inledning Det här är en mindre rapport om datamodellering. Vi blev tilldelade en kravspecifikation

Läs mer

Databas över Land Rover

Databas över Land Rover Stockholm 2001-05-08 Databas över Land Rover (Projekt i kursen Programutvecklingsprojekt, 2D 1954) Handledare: Lars Kjelldahl Uppdragsgivare: Krister Bergknut Gruppmedlemmar: Robert Klintbom Malin Forsgren

Läs mer

Introduktion till frågespråket SQL (v0.91)

Introduktion till frågespråket SQL (v0.91) DD1370: Databaser och Informationssystem Hösten 2014 Petter Ögren Introduktion till frågespråket SQL (v0.91) 13:e November Disclaimer: Dessa anteckningar har producerats under viss tidspress, och kan därför

Läs mer

Modul DB1-2 Datamodellering

Modul DB1-2 Datamodellering Modul DB- Datamodellering Antal föreläsningar: Antal laborationer: Förkunskapskrav: Grundläggande kännedom om databaser (Modul DB-) Kurslitteratur: Referenslitteratur: Praktisk datamodellering ISBN: 9-44-800-

Läs mer

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

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2014-11-07 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Idag. Hur vet vi att vår databas är tillräckligt bra?

Idag. Hur vet vi att vår databas är tillräckligt bra? Idag Hur vet vi att vår databas är tillräckligt bra? Vad är ett beroende? Vad gör man om det blivit fel? Vad är en normalform? Hur når man de olika normalformerna? DD1370 (Föreläsning 6) Databasteknik

Läs mer

Databaser och Datamodellering Foreläsning IV

Databaser och Datamodellering Foreläsning IV Webbprogrammering - 725G54 Databaser och Datamodellering Foreläsning IV Agenda Databaser ERD SQL MySQL phpmyadmin Labb 4 Databaser Databas - samling med data Databashanterare Enkelt Kraftfullt Flexibelt

Läs mer

Objektorienterad programmering. Grundläggande begrepp

Objektorienterad programmering. Grundläggande begrepp Objektorienterad programmering Grundläggande begrepp Hur beskriver vi objekt? Vill ha en representationsoberoende beskrivning Abstrakta datatyper! Data Operationer Objekt Representerar en verklig eller

Läs mer

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP Skrivtid: 14.30-18.30 Hjälpmedel: papper, penna och radergummi Betygsgränser: G = 36p (60 %), VG = 48p (80

Läs mer