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

Storlek: px
Starta visningen från sidan:

Download "Introduktion till informationssystem Från verklighet till relationsdatabas Konceptuell modellering och databasmodellering Modelleringsmönster"

Transkript

1 Databasteknik, 2I-1075 Introduktion till informationssystem Från verklighet till relationsdatabas Konceptuell modellering och databasmodellering Modelleringsmönster Kursens mål Momentet ger grundläggande kunskaper och färdigheter i databasteknik, inklusive kunskaper om begrepp, metoder och verktyg som används vid utformning och implementering av relationsdatabaser. Målet med kursen är att förmedla kunskaper om logisk och fysisk design av databaser för relationsmodellen. Givet användarkrav ska en normaliserad relationsdatabasmodell kunna definieras och senare implementeras i ett relationsdatabashanteringssystem. 1

2 Databasteknik Tre kursfordringar: Seminarier Projektuppgift Tentamen All information hittas i kurskompendiet och på kursens hemsida: 2i1075 Kursen har även en FCkonferens: DBTEKNIK Databasteknik Försäljning av kompendier, utdelning av diskar EFTER dagens föreläsning Konton (WinXP/FC/Daisy /Unix) hämtas hos Lotta Arnbom, lotta@dsv.su.se, rum 6607, plan 6 Programvaror på kursen: DB2 v8.2 MS Access 2003 Rational Rose och/eller argouml (argouml.tigris.org) 2

3 Vad är ett informationssystem? Informationssystem: datoriserat system som stödjer en organtions informationsförsörjning VERKSAMHET avbildar INFORMATIONS SYSTEM ANVÄNDARE presenterar Exempel på informationssystem Ordermottagning Lagerhantering Fakturering Platsbokning Flygresor Medicinska behandlingar Personaladministration Banksystem Informations system 3

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

5 Relationsdatabaser KUND Namn Gatuadress Postnummer Postadress Telefon Kontokort Giltighetstid Pia Eriksson Storg Torget /01 Ulf Eriksson Storg Torget /00 Ola Hansson Lillg Landet /01 Bo Eriksson Storg Torget /01 Bo Johnsson Eriksg Torget /01 My Hansson Lillg Landet /01 Relationsdatabasstruktur 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, Kund, Gatuadress, Postnummer, Postadress, Datum, Fraktkostnad) BESTÄLLNINGSRAD(Best-nummer, Produktnamn, Antal) LEVERANS(Best-nummer, Produktnamn, Leveransbil, Avtalatdatum, Avtaladtid, Avgångsdatum, Avgångstid, Leveransdatum, Leveranstid) 5

6 Frågespråk Hur kommer applikationsprogrammen åt data i databasen? Genom ett frågespråk. SELECT Namn FROM PRODUKT WHERE Typ = Stol Presentation Gränssnittet ger möjlighet att nå applikationsprogrammen och därmed data i databasen. 6

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 Building the right system Universe of Discourse Conceptual Model (CM) Use of CM? = < > ANIMAL belongs_to Weight 1 1 my_animal MEMBERSHIP 1 Date myflock SPECIES Mean_weight FLOCK Number Contract Database System Education, Reverse Engineering 7

8 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 Modellering fortsättning Kontroll av data skall ske så tidigt (så nära källan) som möjligt! Systemet skall 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), modelleringsspråket måste vara rikt nog för att kunna representera alla sakförhållanden. 8

9 Samma ord - olika begrepp (homonymer) På vilka sätt används ordet bok i meningarna nedan? Jules Verne skrev många böcker Biblioteket i Vällingby har många böcker Nazi Tyskland förbjöd många böcker Bokhandlaren i Jönköping sålde många böcker Samma begrepp - olika ord (synonymer) Avskeda - Friställa Arbetsgivare Arbetsköpare Städerska - Lokalvårdare 9

10 Ogdens triangel TERM EXTENSION INTENSION 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! Vanliga sätt att beskriva konceptuella scheman: via UML klasschema Via ER-scheman, etc. 10

11 Grafiskt språk för konceptuella modeller: ER-scheman (Entity-Relationship schemas) Entitet Relation Entitet APA ÄTER BANAN Annat notation: APA 0 äter 1 BANAN Namn: Sträng Grafisk notation för konceptuella scheman: UML-klassschema Vi kommer att använda UML-klasscheman som ER-scheman Klass association (relation) APA Namn : Sträng 0..1 äter BANAN attribut Avbildningsregel (för associationen, attributet) 11

12 Avbildningsregler för associationer i UML BIL Regno : Sträng ägs_av 1 PERSON Namn: Sträng En association ( pil ) har avbildningsregler (kardinalitetsregler). Man kan sas läsa pilen i två riktningar och för varje riktning måste vi avgöra vilka avbildningsregler som gäller. Vi använder oss av en Minimum..Maximum -notation (alternativ finns...). I minimum-posistionen kan vi skriva värdet 0 eller 1. I maximimum -positionen kan vi skriva värdet 1 eller *, där * står för många. Det ger oss fyra möjliga avbildningsregler: 0..1,, och. I praktiken brukar man förkorta till 1. För att förstå vad de olika max..min-värdena står för kan vi börja med att betrakta relations-pilen från BIL:ens synvinkel. Om en BIL kan ägas av HÖGST EN PERSON så skriver vi en 1:a i max-positionen (annars *). Om en BIL måste ägas av NÅGON PERSON sätter vi en 1:a i min-positionen (annars 0). I just detta fall fattades beslutet att en BIL kan ägas av högst en person och att alla bilar ägas av någon. Dvs avbildningsregeln blev, vilket vi förkortade till 1. Om en PERSON kan äga HÖGST EN BIl skriv en 1:a i max-position (annars *). Om en PERSON måste äga minst en BIL, skriv en 1:a i min-position (annars 0). Här tyckte vi att en PERSON kan äga många BIL:ar men inte nödvändigvis måste äga någon BIL,! Associationer i UML forts. Navigabilitet vs konceptuell riktning BIL Regno: String ägs_av PERSON Pnr: String Envärd? Om en bil kan ägas av högst en person så ja, annars nej. Total? Om en bil måste ägas av minst en person så ja, annars nej. Injektiv? Om en person kan äga högst en bil så ja, annars nej. Surjektiv? Om en person måste äga minst en bil så ja, annars nej. Vad betyder associationen? Namngivning i funktionell riktning? Namngivning av både associationen och båda rollerna? 12

13 Avbildningsregler Avbildningsregler för ATTRIBUT i UML... BIL Regno : Sträng ägs_av 1 PERSON Namn: Sträng Även attribut (som t ex Regno och Namn) behöver få sina avbildningsregler bestämda. Detta kan i vissa notationer vs grafiskt i det konceptuella schemat (vilket har många fördelar). Ett sätt är att explicit rita ut relationen (via en pil) mellan entiteten i fråga och attributet: Regno BIL 0..1 Ska utläsas varje BIL har högst ett registreringsnummer, Ett givet värde i mängden av text-strängar (t ex ABC123 ) kan vara relaterad till högst en BIL via attributet Regno. En BIL måste ha ett registreringnummer och, slutligen, det finns text-strängar (t ex Maria Bergholtz ) som inte utgör registreringsnummer. 1 Som synes används samma princip som för avbildningsregler Sträng för relationer mellan entiteter. BIL Regno: Sträng UNIK Ett alternativ är att använda notationen ovan, den har nästan samma informationskapacitet som notationen till vänster ( en BIL kan ha högst ett värde på registreringsnummer, och minst ett värde på registreringsnummer (dvs Regno är totalt ). Med UNIK avses att ingen annan kan använda ett Regno som en viss BIL använder). Däremot vr inte notationen ovan om det finns sträng-värden som inte utgör reg.nummer. Multiplicitet - regler i systemet vs common sense BIL Regno: Sträng ägs_av PERSON Pnr: Sträng 13

14 Multiplicitet - en övning PERSON har_mor Envärd? Total? Injektiv? Surjektiv? Avbildningsregler som mått på en modells kvalitet? Tumregel: Alla attribut i en klass bör vara totala (= ha minvärde 1) Ett stort antal attribut med 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: Tumregel: Associationer bör vara åtminstone totala eller surjektiva! BIL Regno: Sträng ägs_av PERSON Pnr: Sträng 14

15 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... 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. 15

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

17 Modelleringsmönster- Analysmönster - Data abstractions Modelleringsmönster: Arv Arv 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. Djur Gräsätare Däggdjur Rovdjur Fåglar Pingvin Hovdjur Gnagare Tax Gnu Kanin Konceptuell modell av en hierarkisk struktur: DJUR DÄGG- DJUR FÅGLAR HOVDJUR GRÄS- ÄTARE GNAGARE ROV- DJUR TAX PINGVIN GNU HARE 17

18 Arv MAN Militärtjänstort: String: PERSON Namn: String UNIK KVINNA Arv HUND Skatt: Integer DJUR Namn: String UNIK 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 uteslutande (eng. mutually independent). Arv forts. En objekttyp kan ärva en annan objekttyp En objekttyp som ärver kallas subtyp Den objekttyp som ärvs från kallas supertyp Subtypen har samma attribut och samband som supertypen Subtypen kan ha ytterligare attribut och samband En supertyp kan vara abstrakt, dvs den kan inte instansieras 18

19 Arv Kund Kontohavare Konto Kundnr: Integer 1 Kontonr: Integer UNIK UNIK Namn : String Företag Börsnoterad: String Person Arbetar_hos Bankbok Saldo: Integer Lån Lånesumma : Integer Hur hade schemat blivit om -relationer inte använts? arbetar_hos 0..1 Person Kundnr: Integer UNIK Namn : String Börsnoterad: String 0..1 Kontohavare 1 Konto Kontonr: Integer Saldo: Integer 0..1 Lånesumma: Integer 0..1 Annat sätt? 19

20 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 göra dem till en subtyp. Reifiering Reifiering SJUKDOM botar blir: botas SJUKDOM BOT 1 Procent: Float BEHANDLING 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! 20

21 21 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 0..1 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 BESTÄLLNINGS- RAD Antal: l 0..1

22 22 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 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 BESTÄLLNING Best-nummer Gatuadress Postnummer Postadress Datum Fraktkostnad LEVERANS Leveransbil Avtalatdatum Avtaladtid Avgångsdatum Avgångstid Leveransdatum Leveranstid BESTÄLLNINGS- RAD Antal: l DEL- LEVERANS Delantal: Leveransbil

23 Övning reifiering PERSON Namn: Sträng UNIK, TOTAL är_medlem_i 1 0 KLUBB Klubb_namn: Sträng UNIK, TOTAL 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! Består-av-ingår-i (rekursiva strukturer) ingår i Komponent består av Komponent består av (ingår i) Komponent består av ingår i Delkomponent 23

24 Rekursiva strukturer ARTIKEL består_av Som synes egentligen ett specialfall av reifiering! blir: SPECIFIKATION Procent : Float del_i 1 1 ARTIKEL 1 består_ av Template-Copy strukturer (power types) 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 titel Författare: String UNIK Titel: String 1 av_typ KOPIA Vikt: String Antal_sidor 24

25 Samma ord - olika begrepp På vilka sätt används ordet bok i meningarna nedan? Jules Verne skrev många böcker Biblioteket i Vällingby har många böcker Nazi Tyskland förbjöd många böcker Bokhandlaren i Jönköping sålde många böcker Kurskod Kursnamn Startdatum Antal poäng Kursansvarig KURS Kurskod Kursnamn Antal_poäng tillhör KURSTILL- FÄLLE Startdatum Kursansvarig 25

Konceptuell modellering

Konceptuell modellering 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! Grundbegrepp:

Läs mer

IT i organisationer och databasteknik

IT i organisationer och databasteknik IT i organtioner och databasteknik Kontoutdelning EFTER dagens föreläsning (WinXP/FC/Daisy/Unix) Programvaror på kursen: DB2 v7.2 MS Access 2003 Rational Rose IT i organtioner och databasteknik Föreläsning

Läs mer

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

Kontoutdelning EFTER dagens föreläsning (WinXP/FC/Daisy/Unix) Programvaror på kursen: MySQL MS Access 2003 Rational Rose 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

Läs mer

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

Informationssystem och databasteknik, 2I-1100. Från verklighet till system Informationssystem och databasteknik, 2I-1100 System Modeller Processer Från verklighet till system Verklighet Urval Modell Produkt Order Kund Informationssystem 1 Att göra urvalet Företaget önskar sälja

Läs mer

Relationsdatabasdesign, 2I-4067

Relationsdatabasdesign, 2I-4067 Relationsdatabasdesign 2I-4067 Relationsdatabasdesign, 2I-4067 Lärare Maria Bergholtz, rum 4636, telefon 6658, e-mail maria@dsv.su.se Nikos Dimitrakas, e-mail nikos-di@dsv.su.se Michael Persson, rum 2675,

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

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

Informationssystem och Databasteknik

Informationssystem och Databasteknik Informationssystem och Databasteknik Föreläsning 4 Relationsmodellen Från konceptuell modell till relationsdatabasschema Inför projektarbetet: - sammansmältning av flera överlappande modeller av samma

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

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

IT i organisationer och databasteknik

IT i organisationer och databasteknik IT i organisationer och databasteknik Föreläsning 5 Analytisk databasdesign Arkitektur hos ett informationssystem Presentation Användargränssnitt via en browser Applikationslogik Data Java servlets som

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

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

Tentamen EIT:DB Databastmetodik 11/1 2013 kl. 13 17 + Lösningsförslag

Tentamen EIT:DB Databastmetodik 11/1 2013 kl. 13 17 + Lösningsförslag Tentamen EIT:DB Databastmetodik 11/1 2013 kl. 13 17 + Lösningsförslag Inga hjälpmedel är tillåtna (annat än ordbok). Kort syntaxsamling för delar av SQL samt lista med symboler för relationsalgebraiska

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 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

Informationssystem och databasteknik, 2I-1100

Informationssystem och databasteknik, 2I-1100 Informationssystem och databasteknik, 2I-1100 Introduktion till informationssystem - användning, teknik och utveckling Vad är ett informationssystem? Informationssystem: datoriserat system som stödjer

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

! 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

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Objektorienterad analys och design 1 Dagens föreläsning Första delen, innan rasten: Motivation och bakgrund Analys Funktioner Andra delen, efter rasten: Objektorienterade

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

IT i organisationer och databasteknik

IT i organisationer och databasteknik IT i organisationer och databasteknik Föreläsning 4 Relationsmodellen Från konceptuell modell till relationsdatabasschema Regler i ER-scheman eller UMLklass diagram? I Som klasser: RABATT KlassArabatt:

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

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

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

Informationssystem och databasteknik

Informationssystem och databasteknik Informationssystem och databasteknik Föreläsning 5 Analytisk databasdesign F5! Funktionellt beroende: Pnr Namn Funktion (i vanlig mat. betydelse): 610321 11111 22222 33333 Maria Eva Sture Olle För varje

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

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

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Föreläsning 2 Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Vår process Kravbeskrivning (3 dagar). Enkel form av användningsfall (use cases). Analys

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

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

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

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

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta

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

Exempel tentamen. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Alla hjälpmedel är tillåtna

Exempel tentamen. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Alla hjälpmedel är tillåtna Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Exempel tentamen 2I-1100 Informationssystem och Databasteknik Tentamen är öppen i så motto att läroböcker, föreläsningsanteckningar,

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

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

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

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 15: Repetition DVGA02

Föreläsning 15: Repetition DVGA02 Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras

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

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

Exempel-tentamen 1. + Lösningsförslag. Inga hjälpmedel är tillåtna. Institutionen för Data- och Systemvetenskap SU/KTH Maria Bergholtz Exempel-tentamen + Lösningsförslag Inga hjälpmedel är tillåtna. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt,

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

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

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

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

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

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

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

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

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen Lördag 8 juni kl

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen Lördag 8 juni kl Institutionen för Data- och Systemvetenskap IT-universitetet Maria Bergholtz Tentamen DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen Lördag 8 juni kl. 10-14 Inga hjälpmedel tillåtna (syntaxsammanställning

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

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

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

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

Relationsmodellen. Relations modellen är idag den mest änvända datamodellen för kommersiella

Relationsmodellen. Relations modellen är idag den mest änvända datamodellen för kommersiella Relationsmodellen 2-1 Relationsmodellen Relations modellen är idag den mest änvända datamodellen för kommersiella applikationer. Relationsdatabasstruktur En relationsdatabas består av en samling tabeller,

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

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem?

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem? Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem? En mängd program som tillåter användaren att skapa och underhålla

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

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

Abstraktion. Objektorientering. Kartor. Kartor. Hus. Generalisering

Abstraktion. Objektorientering. Kartor. Kartor. Hus. Generalisering Abstraktion Objektorientering Process som bygger på att känna igen och fokusera på viktiga karakteristika hos objekt eller i en situation. Förmågan att kunna filtrera bort eller bortse från oviktiga detaljer.

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

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

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

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

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

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

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

Läs mer

Exempel-Tentamen III

Exempel-Tentamen III Institutionen för Data- och Systemvetenskap IT-universitetet Maria Bergholtz Exempel-Tentamen III Inga hjälpmedel tillåtna (syntaxsammanställning behövs inte på denna tentamen) Skriv bara på en sida av

Läs mer

Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng

Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng Datum: 2016-11-02 Tid: 08:15 13:15 Lärare: Peter Bellström, Katarina Groth, Remigijus Gustas Hjälpmedel: Inga Tentamen är på 40 poäng. Gränsen

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

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

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

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram Analys och design med hjälp av CRC 83 Klassdiagram Objekt Ett objekt är en individuellt identifierbar entitet som kan vara konkret eller abstrakt. Ett objekt har tillstånd, beteende och identitet. Reellt,

Läs mer

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

Tentamen NDA01G Öppen för alla. Tentamenskod: 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: 2016-11-04 Tid: 14:00-19:00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

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

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 en systematisk metod för att gå från problembeskrivning till färdigt

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

Objektorientering Klasser

Objektorientering Klasser Objektorientering Klasser VSA110 1 OOA I analysen upprättas: Klassdiagram Objektdiagram Tillståndsdiagram Scenario Användningsfall Sekvensdiagram Användardialoger (skärmbilder) 2 Analys - en översikt Vi

Läs mer

Tentamen 2I1033, IT i Organisationer och Databasteknik lördag 17/4 2004, kl. 10 15 LÖSNINGSFÖRSLAG

Tentamen 2I1033, IT i Organisationer och Databasteknik lördag 17/4 2004, kl. 10 15 LÖSNINGSFÖRSLAG Institutionen för Data- och Systemvetenskap SU/KTH Maria Bergholtz Tentamen 2I033, IT i Organisationer och Databasteknik lördag 7/4 2004, kl. 0 5 LÖSNINGSFÖRSLAG Inga hjälpmedel tillåtna. Skriv bara på

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

Objektorienterad Systemutveckling Period 3

Objektorienterad Systemutveckling Period 3 Objektorienterad Systemutveckling 2 2018 Period 3 kurskod C1OB2B Innehåll Kursintroduktion Kursmaterialet finns temporärt även på http://www.gidenstam.org/hb/oosu2 KURSINTRODUKTION Kursintroduktion Inblandade

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

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1, föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

Laboration 1: Figurer i hierarki

Laboration 1: Figurer i hierarki Laboration 1: Figurer i hierarki Bakgrund Två grundläggande tekniker i objektorienterad konstruktion är arv och komposition. Mål Laborationen har flera avsikter: 1. Ge kunskaper i hur program kan organiseras

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

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen. Entity Framework Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen. Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se

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

Universitetet: ER-diagram

Universitetet: ER-diagram Databaser Design och programmering Fortsättning på relationsmodellen: Normalisering funktionella beroenden normalformer informationsbevarande relationsschemauppdelning Varför normalisera? Metod att skydda

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

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

Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign)

Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign) Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign) 1 Vad är en databas? Logiskt sammanhängande mängd av data,

Läs mer

Analytisk relationsdatabasdesign

Analytisk relationsdatabasdesign Analytisk relationsdatabasdesign Att förbättra kvaliteten i databaser Presenter s Name Organization name www.horton.com Domän-regler och främmande nyckel regler via DDL Datatyp! Datatyp! Maxvärde! Maxvärde!

Läs mer

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning 2I1049 Föreläsning 5 Objektorienterad programmering i Java KTH-MI Peter Mozelius Objektorientering Världar uppbyggda av objekt Inte helt olikt vår egen värld Ett sätt att modularisera våra system Objekten

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 1 Objekt-orienterad analys och design: Litteratur Skansholm: Kapitel 4 Se även 1. http://www.uml.org/ 2. http://www-306.ibm.com/software/rational/uml/

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

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

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014 Introduktion till Datalogi DD1339 Föreläsning 1 8 sept 2014 Kontaktuppgifter & Info: Kurskod: DD1339, 19hp Kursomgång: inda14 Kursansvarig: Christian Smith, ccs@kth.se Michael Minock, minock@kth.se Dilian

Läs mer

Systemvetarutbildningen och dataekonomutbildningen

Systemvetarutbildningen och dataekonomutbildningen Visuell Programutveckling med C# Provmoment: Ladokkod: Tentamen ges för: Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2012-01-10 Tid: 14.00 19.00 Hjälpmedel: Inga hjälpmedel

Läs mer

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13 Institutionen för Data- och Systemvetenskap IT-universitetet Maria Bergholtz Tentamen DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 203 kl. 9-3 Inga hjälpmedel tillåtna (syntaxsammanställning

Läs mer

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

TDP005. Föreläsning 3 - UML. Filip Strömbäck TDP005 Föreläsning 3 - UML Filip Strömbäck 1 Introduktion 2 Diagram 3 Klassdiagram 4 Sekvensdiagram 5 SFML-demo TDP005 Filip Strömbäck 2 UML Unified Modeling Language Visuell notation för idéer Kommunicera

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

Lösningsförslag Tentamen, 25 april 03

Lösningsförslag Tentamen, 25 april 03 Lösningsförslag Tentamen, 25 april 03 Uppgift 1 Kommentar: Svårigheterna ligger i att differentiera mellan BIL och BILMODELL och MOTOR och MOTORTYP. Båda avbildare ett sk. powertype-förhållande (templatecopy)

Läs mer