GIS, databasteknik och kartografi. Kursmaterial för databasdelen

Storlek: px
Starta visningen från sidan:

Download "GIS, databasteknik och kartografi. Kursmaterial för databasdelen"

Transkript

1 GIS, databasteknik och kartografi Kursmaterial för databasdelen Våren 2004

2 Innehåll Objekt och objektklasser Samband och sambandsklasser Övningsuppgifter: Datamodellering Databasmodell databasstruktur: liten kokbok Övningsuppgifter: Relationsalgebra och SQL Normalisering Funktionellt beroende Nycklar och primattribut Normalformer Beräkning av transitiva höljen Härledningsregler för funktionella beroenden Normaliseringsstegen Normaliseringsexempel Övningsuppgifter: Normalisering

3 1E1601 GIS, databasteknik och kartografi Våren 2004 Objekt och objektklasser Ett objekt är ett föremål eller ett begrepp som kan identifieras entydigt med ett identifikationsbegrepp inom modellens ram. En objektklass är en samlande beskrivning av objekt som identifieras på samma sätt. En objektklass beskrivs i modeller som en namngiven rektangel. Person Objektklassen person används t.ex. för att skapa objekt (instanser) innehållande (i det här fallet) ID-nr, namn och adress på personer Hans Persson Gamla Vägen Olle Jonsson Nya Vägen 33 I datamodeller beskriver vi objektklasserna enligt ovan med angivande av objektklassens namn, samt i ovaler enligt nedan där attributen, identifikationsterm (i-term) samt egenskapstermer (e-termer) anges med namn med i-termen understruken ID-nr Namn Adress Person Alternativt kan man bryta ut attributen ur den grafiska modellen och ange dessa i en speciell egenskapsmatris egenskapsmatris Typ Namn i-termer e-termer Objekt Person ID-nr Namn, Adress Objektförekomster presenteras i huvudsak genom tabeller, t.ex.: Person ID-nr Namn Adress 2207 Hans Persson Gamla Vägen Olle Jonsson Nya Vägen 33 3

4 Våren 2004 GIS, databasteknik och kartografi 1E1601 Samband och sambandsklasser Ett samband beskriver ett relevant förhållande mellan två eller flera objekt. Det identifieras entydigt av I-termerna för de objekt det associerar till varandra. En sambandsklass som associerar två objekt med varandra kallas binär. En sambandsklass vars samband associerar fler än två objekt med varandra sägs vara av högre ordning. Oftast behövs ingen noggrannare indelning, men skulle det behövas anger man som sambandsklassens ordning det antal objekt som associeras med varandra. Binära sambandsklasser säges då vara av andra ordningen. På samma sätt som med objekt och objektklasser så samlas samband i sambandsklasser. På en sambandsklass kan finnas definierat någon form av restriktion, t.ex. att objekt i en eller flera klasser associeras med endast ett objekt ur en annan klass. För binära sambandsklasser brukar man skilja på 1:1-, 1:N- och M:N-sambandsklasser. Sambandsklasserna beskrivs som romber med linjer till de objektklasser vars objekt relateras till varandra utan angivande av i-termer, eller i t-matriser med angivande av namnen på sina i- resp. e-termer. Kvinna Gift med Man 1:1 Chef Basar över Anställd 1:N Författare Skrivit Bok M:N Projekt Beställning Leverantör Material Sambandförekomster beskrivs i form av tabeller, precis som objektförekomster. 4

5 1E1601 GIS, databasteknik och kartografi Våren 2004 Övningsuppgifter: Datamodellering 1. Ett flygbolag önskar ett databassystem omfattande: Alla passagerare som har rest eller ämnar resa med bolaget. Namn, adress och telnr är intressanta samt naturligtvis sträckan de har eller ska åka. Varje sträcka som trafikeras varje dag av ett antal förbindelser (flights). Varje sådan förbindelse har ett unikt förbindelsenummer och ska innehålla information om varifrån planet går, destination, avgångstid och ankomsttid. Observera dock att 0900-planet mellan Umeå (UME) och Arlanda (ARN) har samma förbindelsenummer varje dag. För olika resursberäkningar registreras också för varje avgång vilket specifikt plan som ska användas. För varje avgång vill man också ha uppgifter om arbetande personal. De registreras med namn, yrke och adress. För piloterna är man också intresserad av vilka flygplanstyper de är utbildade för. Flygplanstypen består av tillverkare och modellbeteckning Det kan naturligtvis finnas flera plan av samma typ. Dessa identifieras unikt med ett namn t.ex. LELLE VIKING. Gör en datamodell över detta så att t.ex. följande frågor kan besvaras: Med vilka piloter har en passagerare åkt? Bestäm namnet på de flygplan en speciell pilot är utbildad för. Ta reda på alla avgångar från ARN till UME under veckan 22/4-29/4 med förbindelsenummer, avgångs- och ankomsttid. Undersök om någon pilot är kompetent att flyga hela flygplansflottan. Vilka passagerare har åkt med någon förbindelse med avgångstid före kl 0700? Gör, utgående från modellen, en databasstruktur enligt kokboken på sid 8. 5

6 Våren 2004 GIS, databasteknik och kartografi 1E Upprätta en datamodell över en skolas högstadium. Den skall innehålla uppgifter om alla skolklasser, alla elever och alla lärare. För alla klasser vill man förutom klassrumsnumret även veta vilka lärare de har i de olika ämnena, vem som är klassföreståndare och var de skall vara då de har specialämnen och inte kan vara i det egna klassrummet. Elever har en klassföreståndare men kan gå kurser som inte omfattar alla elever i klassen (tillvalsämnen t.ex.) där de går tillsammans med elever från andra klasser. Beroende på ämne kan olika klassrum vara olika lämpliga. En lärare kan vara behörig i flera ämnen. Systemet skall naturligtvis ge information om i vilken klass en elev går samt dessutom namn, personnummer, adress, tel, m.m. för såväl lärare som elever. Gör, utgående från modellen, en databasstruktur enligt kokboken på sid En sjukvårdsförvaltning som innefattar 6 större sjukhus, 4 mindre sjukhus och 3 fristående laboratorier önskar en datamodell över den interna sjukhusadministrationen. För sjukhusen finns uppgifter om namn, adress, telnr, antal rum och totalt antal bäddar. För laboratorierna finns uppgifter om namn, adress, telnr, de prover (med unikt provnummer) som undersökts de senaste 6 månaderna och från vilka personer resp prov kommer. Alla inneliggande patienter skall medtas med uppgift om personnummer, namn, adress, bäddnr, vilket rum och vilket sjukhus patienten finns på samt vilken diagnos patienten fått. Diagnosen innehåller t.ex. information om typ av sjukdom, övriga besvär och allergiska reaktioner. Om läkarna finns uppgifter om personnummer, namn, adress, skiftschema och specialitet och vilka patienter han ansvarar för. Om övrig personal finns uppgifter om personnummer, namn, adress samt vilka rum denna person är helt eller delvis ansvarar för. Gör datamodellen. Gör, utgående från modellen, en databasstruktur enligt kokboken på sid 8. 6

7 1E1601 GIS, databasteknik och kartografi Våren Gör en datamodell över följande biblioteksverksamhet. Detta skall finnas med: Bibliotekets namn, storlek (5 olika värden), adress, distrikttillhörighet samt uppgift om vilket bibliotek som är huvudbibliotek inom distriktet. Uppgifter om personalen som jobbar på biblioteken (Namn, adress och lön). Alla böcker med klassifikationskod, titel, författare, antal utlåningar/bibliotek. Utlåningsdatum och återlämningsdatum för böcker som är utlånade. Låntagares namn, adress och lånekortsnummer. Kö för låntagare som vill låna en speciell bok. Gör, utgående från modellen, en databasstruktur enligt kokboken på sid 8. 7

8 Våren 2004 GIS, databasteknik och kartografi 1E1601 Databasmodell databasstruktur: liten kokbok En liten kokbok för att klara de allra flesta fallen vid övergång från datamodell till databasstruktur. Kanske har inte alla fall täckts in till 100% men nästan. Observera att det finns ett element av ickedeterminism i den sista regeln. 1. Objektklass som innehåller e-term(er) bildar en egen basrelation. 2. Objektklass som bara består av en i-term och dessutom finns på N-sidan av någon sambandsklass av typ 1:N bildar en egen basrelation, men om den inte förekommer på N-sidan i en 1:N-sambandsklass försvinner den! 3. Sambandsklass an högre ordning än 2 bildar egen basrelation. 4. Sambandsklass av typ M:N bildar egen basrelation. 5. Sambandsklass av typ 1:N försvinner men I-termen i objektklassen som finns på 1-sidan blir E-term i objektklassen på N-sidan. Eventuella E-termer i sambandsklassen blir E-termer i objektet på N-sidan. 6. Sambandsklass av typ 1:1 behandlas som om den vore av typen 1:N (föregående regel) med godtyckligt val av N-sida. Alternativt slås de objektklasser, som sambandet förbinder, samman till en basrelation. Eventuella E-termer i sambandsklassen blir E-termer i objektet på den sida man valt till N-sida. 8

9 1E1601 GIS, databasteknik och kartografi Våren 2004 Övningsuppgifter: Relationsalgebra och SQL Databasstruktur: Anställd (namn, lön, chef, avd) Försäljning (avd, varunr, volym) Leverantör (företag, adress) Lager (företag, avd, varunr, volym) Avdelning (avd, våning) Vara (varunr, typ) Formulera följande frågor i Relationsalgebra respektive SQL. 1. Vilka anställda arbetar på leksaksavdelningen? 2. Vilka varor säljs på andra våningen? 3. Vilka varor säljs inte av någon avdelning på andra våningen? 4. Vilka varor säljs av alla avdelningar på andra våningen? 5. Vilka varor säljs av minst två avdelningar på andra våningen? 6. Hur mycket tjänar Anderssons chef? 7. Vilka anställda tjänar mer än sin chef? 8. På vilka avdelningar tjänar alla anställda mindre än sina chefer? 9. Vilka företag levererar varor till mer än en våning? 10. På vilka avdelningar är medellönen större än 10000? 11. Vilka chefer har mer än 10 anställda under sig, och vilken lön har dessa chefer? 12. Vilka anställda på skoavdelningen har mer än i lön, och vad heter deras närmaste chef? 13. Vilka anställda tjänar mer än någon på skoavdelningen? 14. Vilka företag levererar pennor? 15. Vilka företag levererar inte pennor? 9

10 Våren 2004 GIS, databasteknik och kartografi 1E1601 Normalisering Dålig databasdesign kan orsaka redundans (multipel representation av information) och kan dessutom göra det omöjligt att representera viss information. Redundans orsakas oftast av att man försöker representera både enkla och sammansatta värden i samma relation. Det man kan göra åt saken är att man på ett metodiskt sätt bryter ner databasstrukturen så att alla dolda beroenden i datamängden elimineras. Tre problem uppstår i samband med redundans: Insättningsproblem. När data sätts in måste de kanske sättas in i flera basrelationer (och tupler). Man måste identifiera alla platser för representation av den nya informationen. Uppdateringsproblem. När data uppdateras måste de kanske uppdateras i flera basrelationer. Man måste identifiera alla platser där informationen redan är representerad. Borttagningsproblem. När data tas bort måste de kanske tas bort i flera basrelationer (och tupler). Man måste identifiera alla platser där informationen redan är representerad och alla platser där existerande information inte längre är relevant. För att komma till rätta med dessa problem kan databasstrukturen göras om. Alla basrelationer bör vara i minst tredje normalform (3NF). Nedan har jag samlat några redan givna definitioner. Funktionellt beroende En mängd Y av attribut säges vara funktionellt beroende (FD) av en attributmängd X (X Y ) om man för vilka två tupler som helst med samma värdeuppsättning för attributen i X alltid finner att värdeuppsättningen för attributen i Y är lika. Grafiskt kan man illustrera detta med att X Y X 2,1... X 2,k Y 2,1... Y 2,m X 1,1... X 1,k Y 1,1... Y 1,m om X Y och X 1,i = X 2,i, 1 i k så måste gälla Y 1,j = Y 2,j, 1 j m. För varje attributmängd X gäller alltid att X Y om Y X. Detta kallas för trivialt beroende. Varje minimal attributmängd X, sådan att det finns ett icketrivialt funktionellt beroende X Y kallas för en determinant. 10

11 1E1601 GIS, databasteknik och kartografi Våren 2004 Om X Y men det inte finns något Z X så att Z Y så säges Y vara fullständigt funktionellt beroende av X. Nycklar och primattribut Varje minimal mängd av attribut som entydigt bestämmer en tupel i en basrelation kallas för en kandidatnyckel. Varje mängd av attribut som innehåller en kandidatnyckel kallas för en supernyckel. En kandidatnyckel väljs att bli primärnyckel. OBS att detta är ett subjektivt val. Ofta väljer man enligt något minimalitetskriterium, t.ex. minst antal attribut, kortast, eller liknande. Ett attribut som ingår i en kandidatnyckel kallas för primattribut eller primt attribut. Övriga attribut kallas ickeprima. Normalformer 1NF. En basrelation är i 1NF omm alla attributvärden är atomära (en basrelation är i 1NF omm för varje tupel gäller att den innehåller exakt ett värde för varje attribut). 2NF. En basrelation är i 2NF omm den är i 1NF och varje ickeprimt attribut är fullständigt funktionellt beroende av varje kandidatnyckel. 3NF. En basrelation är i 3NF omm det för varje icketrivialt funktionellt beroende X Y gäller att dess determinant är en supernyckel eller att Y är ett primattribut (d.v.s att man har 3NF omm man har 2NF och det inte finns några transitiva beroenden X Y Z där Y inte är ett primattribut). 11

12 Våren 2004 GIS, databasteknik och kartografi 1E1601 Beräkning av transitiva höljen För att kontrollera om en attributmängd Y är funktionellt beroende av en attributmängd X kan man beräkna det transitiva höljet X + för X. Man börjar med att sätta X + = X. Därefter går man igenom den givna mängden av funktionella beroenden och för varje W Z där W X + uppdaterar man X + X + Z. Detta uförs tills X + inte längre växer. X + är nu det transitiva höljet för X, d.v.s. den mängd av attribut som är funktionellt beroende av X. Om Y X + så gäller att X Y. Härledningsregler för funktionella beroenden Man kan också härleda funktionella beroenden ur andra funktionella beroenden. Men denna metod är långsammare än att beräkna det transitiva höljet. Det finns för ändamålet ett antal regler, varav grundmängden kallas Armstrongs axiom. De förekommer med viss variation i litteraturen. Här kommer en variant OBS att det är vanligt att skriva XY för X Y : Om Y X så X Y Om X Y så XZ Y Z Om X Y och Y Z så X Z (Reflexivitet) (trivialt beroende) (Utökning) (Transitivitet) Utöver dessa brukar man också tillhandahålla ett antal regler som kan härledas ur de som givits ovan. T.ex.: Om X Y Z så X Y (och X Z) Om X Y och X Z så X Y Z Om X Y och W Y Z så W X Z (Dekomposition) (Union) (Pseudotransitivitet) 12

13 1E1601 GIS, databasteknik och kartografi Våren 2004 Normaliseringsstegen Första normaliseringssteget. Utförs om strukturen innehåller en eller flera egenskaper som upprepas för ett givet värde på id-termen. Genomförs genom att hitta en nyckel för hela relationen. OBS! Det är viktigt att hitta alla möjliga nycklar (kandidatnycklar). Andra normaliseringssteget. Utförs om en eller flera av de ickeprima egenskaperna i en basrelation är funktionellt beroende av en del av en kandidatnyckel, men inte av hela. Detta steg utförs alltså endast på basrelationer som har sammansatta nycklar (dvs. representerar sambandsklasser i databasmodellen). Genomförs genom att skilja ut de ickeprima egenskaper som är funktionellt beroende av endast en del av en kandidatnyckel och gör dessa till en egen basrelation som får den del av kandidatnyckeln som de är beroende av som nyckel. Tredje normaliseringssteget. Utförs om det existerar transitiva funktionella beroenden över ickeprima attribut i en basrelation. Genomförs genom att skilja ut de ickeprima attribut som är transitivt beroende av ett annat ickeprimt attribut och göra dessa till en egen basrelation som får det attribut som de är funktionellt beroende av i den ursprungliga basrelationen som nyckel. Detta kvarstår även som attribut i den ursprungliga basrelationen. 13

14 Våren 2004 GIS, databasteknik och kartografi 1E1601 Normaliseringsexempel Givet en relation med schemat U = {A, B, C, D, E, F, G, H} och de funktionella beroendena: A BCD AE GH E F F E Normalisera steg för steg till 1NF, 2NF och 3NF Lösning: BCDGH förekommer inte i vänstra ledet i något FD och kan alltså inte ingå i någon kandidatnyckel. Eftersom F E och E F måste en av dem alltid ingå och eftersom A inte förekommer i något högerled så måste A alltid ingå i varje nyckel. Mängden kandidatnycklar är alltså: {AE, AF}. Detta ger 1NF (välj t.ex. AE som nyckel): (A, E, B, C, D, F, G, H). BCD och F beror bara av en del av nyckeln, bryt ut dem och låt dem identifieras av sin nyckel Detta ger 2NF: (A, B, C, D) (E, F) och kvar blir: (A, E, G, H). Det finns inga transitiva beroenden och således är relationen redan i 3NF och den slutgiltiga strukturen blir: (A, B, C, D) (E, F) (A, E, G, H). Om vi istället hade haft följande funktionella beroenden: A BCDF B CD E GH så blir situationen radikalt annorlunda. Enda kandidatnyckeln blir {AE} (varför?). A BCDF och E GH ger oss 2NF: (A, B, C, D, F) (E, G, H) och kvar blir: (A, E). Det finns ett transitivt beroende B CD så den första relationen är inte normaliserad. För att få 3NF: 14

15 1E1601 GIS, databasteknik och kartografi Våren 2004 (B, C, D) (A, B, F) (E, G, H) (A, E). Vi har fått en relation som innehåller endast den ursprungliga nyckeln. Den är viktig om vi har haft en tabell med data som delats upp med ett antal projektionsoperationer. Utan den kan inte den ursprungliga tabellen återskapas. 15

16 Våren 2004 GIS, databasteknik och kartografi 1E1601 Övningsuppgifter: Normalisering 1. På det till dags dato lilla företaget Lilla AB har man nöjt sig med ett kortregister för att hålla reda på personalen. Företaget har som policy att se till att dess anställda är rejält försäkrade, och försäkringar som företaget består med finns också med på korten. Ett ex. på hur ett kort kan se ut: Anställd Namn: Pelle Karlsson Försäkringar Olycksfall PNr: Liv Adress: Vårgatan 3 PostNr: PAdr: Vårstad AnstDat: Lön: Anhöriga Karin maka Johan son Ann dotter Krister son Företaget växer och har behov av en databas. Att direkt överföra informationen på korten till en databasstruktur är inte möjligt. Normalisera därför detta steg för steg till 1NF, 2NF och 3NF. Notera alla antaganden. 2. Man har på KTH elevprojekt där man för varje deltagande elev registrerar: Personnummer, namn, linjetillhörighet (t.ex.: D99/L99/M99), handledares anställningsnummer(=persnr), handledares namn, handledares kontor (lokala adress), handledares arbetstelefon, projektnummer, projektnamn, kort projektbeskrivning, totala antalet poäng på projektet, elevens hittills insamlade poäng (på projektet) samt datum för elevens sista kontakt med handledare. En elev kan delta i flera projektarbeten. Allt detta har man registrerat under elevens personnummer och om eleven deltar i flera projekt finns ett registerblad per projekt (alltså är inte persnr ett entydigt id-begrepp). Skriv som en relation och överför steg för steg till 1NF, 2NF och 3NF. Motivera varje steg i lösningen. 3. Problemet i uppg. 1 råkar även Mekanik montering AB ut för när det gäller företagets inköp. Dessa har skötts m.h.a kort med utseendet: 16

17 1E1601 GIS, databasteknik och kartografi Våren 2004 Varunamn: Skål Varunummer: Vikt: 0,37 Leverantör: Lasses Järn Adress: Storgat 16 telefon: best datum pris lev rest , , , Leverantör: Olles spik Adress: Lillgat 45 telefon: best datum pris lev rest , Normalisera steg för steg till 1NF, 2NF samt 3NF. 4. Tandläkaren Sven Borrglad har ett kortregister över sina patienter där man tycker sig kunna se att han vill betrakta sig själv som familjetandläkare. Ett kort har följande utseende: Familjenr Familjenamn Familjeadress Betaln.balans Patientnr Patientnamn Tandstatus Åtgärdskod Åtgärdsbeskrivning Pris Datum sorterat efter patientnr. Överför steg för steg till 1NF, 2NF, 3NF, med angivande av vilka funktionella beroenden som motiverar varje utförd åtgärd. 17

18 Våren 2004 GIS, databasteknik och kartografi 1E Givet en relation med schemat U = {A, B, C, D, E, F, G} och de funktionella beroendena BC A FG BC B D C E F A G A ABE G ACD F Normalisera steg för steg till 1NF, 2NF och 3NF 6. Givet en relation med schemat U = {A, B, C, D, E, F, G} och de funktionella beroendena AB C B E CF D C A B F CE F CD B B C Normalisera steg för steg till 1NF, 2NF och 3NF 18

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

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

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

Funktionella beroenden - teori

Funktionella beroenden - teori Relationell databasdesign, FB Teori 7-12 Funktionella beroenden - teori Vid utformning av databassystem är det av största vikt att man kan resonera systematiskt om funktionella beroenden bl.a. för att

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

Databaser Design och programmering

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

Läs mer

Logisk databasdesign

Logisk databasdesign NORMALISERING Peter Bellström Logisk databasdesign 2 Arbetssteget vars syfte är att konstruera en modell (diagram, schema), baserad på en specifik datamodell, över verksamhetens begrepp och samband. Modellen

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

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

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

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

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

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

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

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 * * * * DAV B04 - Databasteknik! "# $ %'&( ) KaU - Datavetenskap - DAV B04 - MGö 132 Riktlinjer när man vill skapa en databas 1) Designa så att det är lätt att förstå innebörden. Kombinera inte attribut

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

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

Konceptuella datamodeller

Konceptuella datamodeller Databasdesign Relationer, Nycklar och Normalisering Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Konceptuella datamodeller Om man ska skapa en databas som beskriver en del av verkligheten

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 10 mars 2003 Lösningsförslag till tentamen för 1E1601 10 mars 2003 Sid 1 av 3 1. a. Antaganden: i. Varje film har ett eget beställningsnummer så att det

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

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

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

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

NORMALISERING. Mahmud Al Hakim

NORMALISERING. Mahmud Al Hakim NORMALISERING Mahmud Al Hakim mahmud@webacademy.se 1 SCHEMA Schema eller databasschema är en beskrivning av vilka data som kan finnas i en databas, oberoende av vilka data (innehållet) som råkar finnas

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

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

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

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

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

Tentamen i Databasteknik

Tentamen i Databasteknik Tentamen i Lördagen den 21 oktober 2006 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

Relationell databasdesign

Relationell databasdesign Relationell databasdesign Kapitel 7 Relationell databasdesign sid Uppdelning m.h.a. funktionella beroenden 3 Funktionella beroenden - teori 12 Uppdelningsalgoritmer 27 Designprocess 33 Relational oath

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

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

Kvalitetstänkande. Utgångsläge Samtliga ER-diagram har överförts till scheman

Kvalitetstänkande. Utgångsläge Samtliga ER-diagram har överförts till scheman Kvalitetstänkande Utgångsläge Samtliga ER-diagram har överförts till scheman Förbättra kvaliteten på relationsscheman Normalformler ger dugligare nycklar Hitta funktionella beroenden med hjälp av slutsatsdragning

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

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

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

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

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

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

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 ISGB01, ISGB24. Databasdesign 7,5 Poäng

Tentamen ISGB01, ISGB24. Databasdesign 7,5 Poäng Tentamen ISGB01, ISGB24 Databasdesign 7,5 Poäng Datum: 2016-09-30 Tid: 08.15-13.15 Lärare: Peter Bellström, Katarina Groth, Johan Högberg Tentamen är på 40 poäng. Gränsen för Godkänd (G) är 20 poäng. Gränsen

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 1 Normalisering Förut sunt förnuft Nu formell metod riktlinjer för att hjälpa till att gruppera attributen (egenskaperna) för varje relation

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

Uppdelning. Relationell databasdesign, FB Teori 7-20. Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av

Uppdelning. Relationell databasdesign, FB Teori 7-20. Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av Relationell databasdesign, FB Teori 7-20 Uppdelning Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av R om R i = R, i=1,...,n. Dvs. varje R i är en delmängd av R och varje attribut

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

Tentamen i Databasteknik Tentamen i Databasteknik Tisdagen den 15 mars 2010 Tillåtna hjälpmedel: Allt skrivet material och räknedosa Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera

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

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

Normalisering. Christer Stuxberg Institutionen för Informatik och Media Normalisering Christer Stuxberg christer.stuxberg@im.uu.se Institutionen för Informatik och Media Översikt Normalisering Dataredundans och Uppdateringsanomalier Anomalier vid insättning Anomalier vid borttagning

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

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

2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY!, där RIDKURS.KursId = KURS.KursId 3NF Hästnamn, Art, NY! NY! NY! NY!

2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY!, där RIDKURS.KursId = KURS.KursId 3NF Hästnamn, Art, NY! NY! NY! NY! ÖVNING 9 2NF HÄST (Hästnamn, Mankhöjd, Favoritmat, Art, Medelvikt, Spiltnummer, Bredd, Höjd) PERSON(Personnummer, Namn, Adress, Telefon) RIDKURS(KursId, StartDatum, SlutDatum, Ledare) KURS(KursId, Svårighetsgrad)

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

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

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

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

Tentamen plus lösningsförslag

Tentamen plus lösningsförslag Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Tentamen plus lösningsförslag 2I-1100 Informationssystem och databasteknik Skriv bara på en sida av pappret Skriv namn på varje

Läs mer

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

TENTAMEN För kursen. Databasteknik. Ansvarig för tentamen: Anna Palmquist. Förfrågningar: Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2015-11-06 TID: 14 19 Ansvarig för tentamen: Anna Palmquist Förfrågningar: 0734-612003 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Föreläsning 6: Normalisering & funktionella beroenden

Föreläsning 6: Normalisering & funktionella beroenden Föreläsning 6: Normalisering & funktionella beroenden DVA234 Databaser IDT Akademin för Innovation, Design och Teknik Innehåll Föreläsningens mål: Att ge en överblick över hur normalisering fungerar Önskvärda

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

Tentamen DATABASTEKNIK - 1DL116

Tentamen DATABASTEKNIK - 1DL116 Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn Tentamen 2003-05-20 DATABASTEKNIK - 1DL116 Datum...Tisdagen den 20 Maj, 2003 Tid...12:00-17:00 Jourhavande lärare...kjell Orsborn,

Läs mer

Databasteori. Övningar

Databasteori. Övningar Databasteori Övningar Erik Prytz Uppdaterad november 2014, november 2015 Eva L. Ragnemalm November 2009, uppdaterad april 2010 Kapitel 1: ER- modellering Skapa ER- diagram för nedanstående övningar (läs

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

Pga att (Nummer och Typ) tillsammans bestämmer övriga attribut funktionellt väljer vi (Nummer, Typ) till primärnyckel:

Pga att (Nummer och Typ) tillsammans bestämmer övriga attribut funktionellt väljer vi (Nummer, Typ) till primärnyckel: ÖVNING 1. PRODUKT(Nummer, Namn, Typ, Klass, Prisklass, Vikt, Volym, Fraktkostnad) Nummer, Typ Namn, Klass, Pris, Prisklass, Vikt, Volym, Fraktkostnad Namn, Typ Nummer Typ Klass Pris Prisklass Vikt, Volym,

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

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

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

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

TDDI 60 Tekniska databaser

TDDI 60 Tekniska databaser Lena Strömbäck 2004-08-19 Skriftlig tentamen i kursen TDDI 60 Tekniska databaser Datum: 2004-08-19 Tid: 14-18 Lokal: TER1 Hjälpmedel: Engelsk ordlista tillåten ej elektronisk Miniräknare ej programmerbar

Läs mer

Databasteori Övningar

Databasteori Övningar Databasteori Övningar Eva L. Ragnemalm November 2009, uppdaterad april 2010 Kapitel 1: ER-modellering Skapa ER-diagram för nedanstående övningar (läs om ERmodeller i boken) 1. Universitetet (Detta är samma

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

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

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY!

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY! ÖVNING 10 2NF HÄST (Hästnamn, Mankhöjd, Favoritmat, Art, Medelvikt, Spiltnummer, Bredd, Höjd) PERSON(Personnummer, Namn, Adress, Telefon) RIDKURS(KursId, StartDatum, SlutDatum, Ledare) KURS(KursId, Svårighetsgrad)

Läs mer

TENTAMEN TDDB77 Databaser och Bioinformatik 24 april 2004, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 24 april 2004, kl 14-18 Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDB77 Databaser och Bioinformatik 24 april 2004, kl 14-18 Jourhavande lärare: Pawel Pietrzak (013/28 24 10, 013/21 01 17) Poäng: Tentan

Läs mer

Lösningsförslag till Tentamen,

Lösningsförslag till Tentamen, Institutionen för Data- och Systemvetenskap SU/KTH Maria Bergholtz och Paul Johannesson Lösningsförslag till Tentamen, 022 2I-00 Informationssystem och databasteknik För att erhålla betyget tre räcker

Läs mer

TENTAMEN TDDB77 Databaser och Bioinformatik 12 juni 2007, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 12 juni 2007, kl 14-18 Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDB77 Databaser och Bioinformatik 12 juni 2007, kl 14-18 Jourhavande lärare: Patrick Lambrix (013/28 26 05) Poäng: Tentan består av 2 delar.

Läs mer

TENTAMEN TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18 Institutionen för datavetenskap Linköpings universitet TETAME TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18 Jourhavande lärare: Lena Strömbäck (Patrick Lambrix, 0703-492066) Poäng: Tentan

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

Databasteori. Övningar

Databasteori. Övningar Databasteori Övningar Eva L. Ragnemalm November 2009, reviderad 2012, 2014, augusti 2016, mars 2017 Observera: det finns inget facit till dessa övningar, eftersom många går att lösa på flera sätt, mer

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

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY!

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY! ÖVNING 10 2NF HÄST (Hästnamn, Mankhöjd, Favoritmat, Art, Medelvikt, Spiltnummer, Bredd, Höjd) PERSON(Personnummer, Namn, Adress, Telefon) RIDKURS(KursId, StartDatum, SlutDatum, Ledare) KURS(KursId, Svårighetsgrad)

Läs mer

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18 Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18 Jourhavande lärare: Jose M. Peña (1651) Poäng: Tentan består av 2 delar. För godkänd krävs

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

TDDI60 Tekniska databaser

TDDI60 Tekniska databaser Lena Strömbäck 2006-10-13 Skriftlig tentamen i kursen TDDI60 Tekniska databaser Datum: 2006-10-13 Tid: 8-12 Lokal: T2, U3 Hjälpmedel: Engelsk ordlista tillåten ej elektronisk Poängränser: Tentamen består

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

Lösningsförslag till Exempel tentamen

Lösningsförslag till Exempel tentamen Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Lösningsförslag till Exempel tentamen 2I-1033 IT i Organisationer och Databasteknik Tentamenstiden är 5 timmar Skriv bara på

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

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

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

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

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