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

Storlek: px
Starta visningen från sidan:

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

Transkript

1 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, annars är det svårt att rätta tentamen

2 Uppgift, 0p. A) KONSTRUERA ETT KONCEPTUELLT SCHEMA (FÖRSLAGSVIS ETT UML KLASSDIAGRAM) som ger möjlighet att representera samtliga utsagor nedan. Ange avbildningsregler (eng. cardinality constraints) för samtliga associationer: Pennor finns av typen billig blyerts, kulspets typ I och kulspets typ II. Billiga blyertspennor kostar alla max 5 kr styck. Kulspets typ I och II kostar vadsomhelst och förekommer i flera färger. Pennorna av typen blyerts-penna säljs endast i en färg, lite blekt gul. Kulspetspennor av typ II tillverkas i både guld, silver och rostfritt stål. TypI-kulspetspennorna endast i rostfritt stål. Kulspetspennor består av en patron och ett hölje. Patroner finns för bläck respektive vanlig färg. Kulspetspennorna av typ II kan förses med både bläck- och vanlig färgpatron. Pennorna av typ I (kulspets de också) tillverkas bara för färgpatroner. Pennor (inklusive patron) och patroner säljs av diverse företag. Företaget Solna-pennan sålde två billiga kulspetspennor och kulspetspenna av typ II med bläckpatron till Lisa Andersson 2 mars Företaget Djurgårdens penn-gross sålde en bläckpatron, en blyertspenna och en kulpenna av typ I till Oskar Nilsson 2 mars 200. Djurgårdens penn-gross tar 4 kr för billiga blyertspennor, 20 kr för kulpennor av typ I, 40 kr för kulpennor av typ II med färgpatron och 80 kr för kulpennor av typ II med bläckpatron. Vanliga färgpatroner kostar 0 kr att köpa separat och en bläckpatron som säljs separat kostar 50 kr. Solna-pennan tar 5 kr för billiga blyertspennor, 20 kr för kulpennor av typ I, 45 kr för kulpennor av typ II med färgpatron och 70 kr för kulpennor av typ II med bläckpatron. Enskilda bläckpatroner kostar här 40 kr och vanliga färgpatroner 5 kr. Modellera på ett sådant sätt att partiella attribut och associationer undviks! ( Ett attribut är partiellt om dess min-värde = 0, en association kan sägas vara partiell om båda dess roller har ett min-värde som är lika med 0). (6p) B) Kravspecifikationen ovan innehåller ett antal regler. Hur bör/kan dessa regler modelleras/implementeras? I det konceptuella schemat? I databasen? I kontroll-kod? Motivera ditt svar! Lösningsförslag:

3 PRODUKTTYP FÖRETAG KUND Namn :.. 0..* PRISRAD Pris :.. Namn :....*..* Namn :....* PATRONTYP PENNTYP KÖP avser Datum :.. Totalpris :.. 0..*..* BLÄCKPAT RON FÄRGPA TRON BLYERTS TYP KULSPETSTYP Möjliga_färger :..* ORDERRAD Antal :.. ingår_i ingår_i 0..* ÖVRIGA ÄDLAKULSP ETSAR KULSPETSRAD Färg :.. Metall :.. Patron : Boolean 0..* Rättning och svar på b)-uppgiften: Detta schema är rätt stort (man behöver inte ha det så stort för full poäng) och försöker modellera rätt många regler (men inte alla). Notera hur regeln om att blyertspennor inte har färger har lett till att PENNTYP delats upp i BLYERTSTYP och KULSPETSSTYP. Där den sista har ett antal möjliga färger som egenskap. Man hade kunnat gå vidare här och modellera upp olika FÄRGYTYPER och olika KULSPETSTYPER. Och sen låtit typ-ii-pennorna ha en association till alla färger medan typi-pennorna bara kunde ha metallfärg. Notera vidare hur regeln om att vissa kulspetspennor kan ha alla typer av patroner medan vissa bara kan ha färgpatroner har lett till att KULSPETSTYPER delats upp i två subtyper. Där vissa associeras till supertypen av PATRONoch därmed alltså kan relateras till både BLÄCKPATRONER och FÄRGPATRONER) medan ÖVRIGA bara är associerade till FÄRGPATRON:er. Ett alternativ till ovan hade varit att inte dela upp KULSPETSTYP:erna (och PATRONTYP:erna) i olika subtyper (se nedan) PRODUKTTY P Namn :.. ingår_i PENNTYP PATRONTYP Vilka_färger :..* Typ_av_patron :.. 0..*Vilka_material :..* och istället haft bara en association mellan PENNTYP och PATRONTYP. Då hade man istället fått implementera regeln om vilka pennor som kunde ha vilka patroner i tex databasen som en trigger (som körs när man gör INSERT på antingen PENNTYP eller PATRONTYP eller båda). Alternativt, och som sista alternativ, implementerat regeln i kontrollkod i något gränssnitt som arbetar mot databasen. Vanligen är detta det sämsta alternativet. Detta eftersom man dels här inte har något stöd för implementering av sådana regler (vilket man har

4 i databasen), dels för att regeln implementeras senare i (system-) utvecklingskedjan och kanske av andra personer än de som modellerade databasen. Med större risk för fel och konsistensproblem. Fördelen med den andra lösningen är att schemat blir mindre och därmed mer översiktligt, antalet subklasser utan attribut blir färre. Med andra ord, nackdelen med att implementera regler som jag gjort i det konceptuella schemat (det större schemat alltså) är att schemat blir större och många klasser får inga egna attribut (men väl olika egna associationer). Det kan gör schemat mer oöverskådligt. Det behövs inte heller många regler förrän strukturer med multipelt arv måste införas, vilket logiskt är helt ok, men som fysiskt kan ge problem vid implementering eftersom inte alla miljöer stöder multipelt arv. Övrigt om schemat ovan. Man behöver skilja på template-nivå (som här har blivit PENNTYPER och PATRONTYPER osv.) och nån slags konkret nivå av enskilda pennor (som här har blivit ORDERRAD, men man kan även dela upp det i PENNA, PATRON osv. ). Man behöver också en klass för att hålla reda på att ett KÖP sker (kan kallas KÖP, ORDER eller vad man vill) som relaterar till ett FÖRETAG och en KUND. Sist och slutligen vill man kunna se vad en viss produkt kostar hos ett visst företag, även innan KÖP inträffar. Därav relationsobjektet PRISRAD (inte så bra namn) mellan PRODUKTTYP och FÖRETAG. Uppgift 2, 8p. Betrakta följande konceptuella schema. de konceptuella schema. ALFA a a2..* BETA b b2 b3 b4..*..* DELTA d..* d2 d3..*..* GAMMA c..* ALFA identifieras av attributet a. BETA identifieras av sin association till ALFA samt attributen b och b2. GAMMA identifieras av sin association till BETA samt attributet c. DELTA identifieras av attributen d och d2.

5 ÖVERSÄTT DET KONCEPTUELLA SCHEMAT OVAN TILL ETT RELATIONSDATABASSCHEMA. Ange för varje relation vad som utgör primärnyckel samt vad som eventuellt utgör främmande nycklar (främmande nycklar måste specificeras med alla korrekta kolumner). I fallet främmande nycklar skall även specificeras mot vilken relation de utgör främmande nyckel. Översättningen får ej innebära att avsteg från den konceptuella modellen görs (annat än de avsteg som måste göras för att realisera relationsmodellen). Surrogatnycklar får inte införas. Använd följande notation med understrykning av primärnycklar: PERSON(namn, adress, telnr), HUND(hundid, ägarnamn, ägaradress, ras) Relationen HUND innehåller ett attribut benämnt ägare som utgör främmande nyckel mot tabellen PERSON. Detta skrivs på följande sätt: HUND.(ägarnamn, ägaradress) << PERSON.(Namn, adress) där Namn, adress utgör primärnyckel i tabellen PERSON. ALFA(a, a2, d, d2) BETA(a, b, b2, b3, b4) GAMMA(a, b, b2, c, a, b, b2, c) DELTA(d, d2, d3) BD(a, b, b2, d, d2) BD2(a, b, b2, d, d2) ALFA.(d, d2) << DELTA(d, d2) BETA.a << ALFA.a GAMMA.(a, b, b2) << BETA(a, b, b2) GAMMA.(a, b, b2, c) << GAMMA(a, b, b2, c) BD(a, b, b2) << BETA(a, b, b2) BD(d, d2) << DELTA(d, d2) BD2(a, b, b2) << BETA(a, b, b2) BD2(d, d2) << DELTA(d, d2) Uppgift 3, 7p. a) Beskriv data-abstraktionen power type relationships ( template-copy-relationships ). I din beskrivning ska ingå vad abstraktionen innebär, ett exempel och en motivering till när man ska använda denna typ av relation i databasl modellering. Logiska fördelar: Powertypes medför en abstraktionsnivå som hjälper till att placera rätt attribut på rätt klass eller tabell. Notera att i detta fall vinner vi oftast mindre i termer av att slippa partiella attribut (varje DJUR har en DJURART och därmed exakt en medelvikt och så vidare) men genom att analysera den information vi ska lagra med hjälp av power-types (alltså vad som kan tänkas vara abstrakt/beskrivning av ett fenomen och vad som utgör fenomenet självt) skapar men helt enkelt mera korrekta klasser. Där korrekt avser att en klass ska utgöras av en grupp av attribut som berör ett specifikt fenomen. En annan fördel är att då vi skiljer på både power-typen och det den bestämmer (ibland benämnt copy ) syns ju dessa klasser i kraft av egna namn vilket gör dem lättare för en domänkunnig att validera. Logiska nackdelar: Ett konceptuellt schema skulle potentiellt kunna bli för detaljerat och explodera i power-typesrelationer av för hög granularitet. Jag skulle dock vilja påstå att risken är mindre för detta än för isa-relationer.

6 b) Beskriv data-abstraktionen isa-relationships. I din beskrivning ska ingå vad abstraktionen innebär, ett exempel och en motivering till när man ska använda denna typ av relation i konceptuell modellering. Logiska fördelar: Logiskt distribuerar man ut attribut som bara hör till vissa (delmängder av) klasser på ett korrekt sätt vilket leder till att man slipper ha partiella attribut i modellen (och sen inte NULL-värden i den fysiska databasen), vilket är en fördel i sig. Vidare syns informationen om delmängder av klasser på ett bättre sätt då dessa ges egna namn (tex KATT och HUND istället för bara en klass DJUR) och kan därmed enklare valideras mot användare som kan domänen. Isa-relationer gör dessutom modellen flexiblare, läs enklare att bygga ut (vid förändringar/nya användarkrav) (svårt att säga om detta är en logisk eller fysisk fördel). Logiska nackdelar: Nackelen logiskt är att modellen lätt exploderar i mängder av isa-relationer där varje klass kanske bara skiljer sig i ngt enstaka attribut, vilket gör den konceptuella modellen oöverskådlig och rörig. Förutsätter man dessutom att multipelt arv existerar (vilket det ju gör i den verklighet som vår modell ska avspegla) utvecklas modellen lätt till ett latice (nät) av korsande isa-relationspilar. Användande av vyer löser i och för sig (nästan ) upp detta problem. c) Påverkar användandet av power types i modellering av databaser, prestanda för samma databas? Motivera ditt svar i termer av rum (hur stor plats databasen tar) och tid (tid det tar att läsa en godtycklig del av databasen). Fysiska fördelar: UTRYMMESVINSTER. Som vissa noterat utgör eg. powertype-kopia en nedbrytning liknande den vid normalisering. Ta exemplet med ART DJUR. Om ART utgör power type mot DJUR (kopian) kan vi anta att antalet instanser av DJUR vida överstiger antalet instanser av ART. Att då slippa lagra tex en stor beskrivning av ART:en påv varje enskild DJUR (-rad) i en databas ger betydande utrymmes (och konsistens) -vinster. Fysiska nackdelar: Skiljer sig de power-type och kopia åt bara i ngt enstaka attribut kan utrymmesvinsterna vändas till utrymmesförluster (om främmande nycklarna större än längden på de attributvärden som bara finns hos enstaka klass tillsammans med de administrativa utrymmen som behövs för metadata om de olika klasserna). Join-problematik, distribuerar man information mellan olika tabeller så tar det längre tid när man sen ska läsa samman dem (om en transaktion kräver att man gör det). d) Påverkar användandet av isa-relationer i modellering av databaser, prestanda för samma databas? Motivera ditt svar i termer av rum (hur stor plats databasen tar) och tid (tid det tar att läsa en godtycklig del av databasen). Fysiska fördelar: Fysiskt gör isa-relationer som sagt att vi slipper NULL-värden vilket påverkar databasen positivt med tanke på konsistens och i bästa fall även något mindre outnyttjat utrymme. Fysiska nackdelar: Relationsdatabaser implementerar arv på ett lite klumpigt sätt via främmande nycklar. Skiljer sig de olika sub-klasserna åt bara i ngt enstaka attribut kan utrymmesvinsterna vändas till utrymmesförluster (om främmande nycklarna större än längden på de attributvärden som bara finns hos enstaka klass tillsammans med de administrativa utrymmen som behövs för metadata om de olika klasserna). Däremot får man lite oönskade effekter vad gäller svårigheter vid sökning. Dvs med isa-relationer så kommer ett antal joins att behövas jämfört med om man lagrat all information i samma tabell. Uppgift 4, 0p. Betrakta följande relationsschema (och motsvarande kod för relationsschema) som är i NF: TENTAMENSRESULTAT(Kursstart, Kursslut, Kursbeskrivning, Tentamensdatum, Maxpoäng, Antal_poäng, Personnummer) CREATE TABLE TENTAMENSRESULTAT(Kursstart Date not null, Kursslut Date not null, Kursbeskrivning char(500) not null, Tentamensdatum Date not null, Maxpoäng integer not null, Antal_poäng integer not null, Personnummer char() not null, Primary key(kursstart, Kursslut, Kursbeskrivning, Tentadatum, Personnummer)) Utrymme datatyper: Datatypen char upptar byte per tkn som är definierat, en char(6) upptar 6 byte.

7 Datatypen integer upptar 4 byte Datatypen date upptar 8 byte Följande funktionella beroenden råder: Kursstart, Kursslut, Kursbeskrivning, Tentamensdatum, Personnummer Antal_poäng, Maxpoäng Kursstart, Kursslut, Kursbeskrivning, Tentamensdatum Maxpoäng a) Normalisera TENTAMENSRESULTAT till 3NF. Motivera ditt svar så att det framgår varför normaliseringen gjorts! Krav på lösning: tabellnamn, primärnyckel, eventuella främmande nycklar, motivering. Förslag till lösning: Tabellen ovan är inte i 2NF pga att det finns ett partiellt funktionellt beroende mellan Maxpoäng och primärnyckeln. Alltså bryter man ut Maxpoäng plus den determinant som bestämmer Maxpoäng (dvs vänster-ledet i det funktionella beroendet Kursstart, Kursslut, Kursbeskrivning, Tentamensdatum Maxpoäng) till en egen tabell. Kvar i den gamla tabellen blir primärnyckeln plus Antal_poäng. TENTA(Kursstart, Kursslut, Kursbeskrivning, Tentamensdatum, Maxpoäng) TENTARESULTAT(Kursstart, Kursslut, Kursbeskrivning, Tentamensdatum, Personummer, Antal_poäng) TENTARESULTAT.(Kursstart, Kursslut, Kursbeskrivning, Tentamensdatum) << TENTA(Kursstart, Kursslut, Kursbeskrivning, Tentamensdatum) b) Vilka effekter kommer normaliseringen ha på databasens prestanda i detta fall? Motivera ditt svar i termer av de nedbrytningar du gjort i a) Man minskar redundansen vilket har positiva effekter på skrivningar mot databasen (i detta fall behöver man tex bara uppdatera maxpoäng på ett ställe per tentamen i tabellen TENTA (om man nu skulle få för sig att ändra antalet poäng som var max på en tenta), istället för att som förut ändra på varje rad där en student skrivit en TENTA i tabellen TENTAMENSRESULTAT). För läsningar mot databasen blir det oftast värre, eftersom en godtycklig transaktion förmodligen involverar fler tabeller = fler joins behöver göras = fler sekundärminnesaccesser = längre transaktionstider. De transaktioner som bara går mot endera tabellerna TENTA och TENTAMENSRESULTAT kan dock förväntas gå snabbare även i normaliserat tillstånd sas. Vad gäller rum så tar en normaliserad databas oftast mindre plats eftersom redundansen minskar, detta givet att tabellerna är någorlunda stora och/eller att antalet främmande nycklar som normaliseringen ger upphov till är kortare än de kolumner som annars skulle dubbellagrats. I just det här fallet är detta villkor förmodligen inte uppfyllt. Dvs vi vinner förvisso i plats i termer av att Maxpoäng bara lagras en gång för varje tenta, men denna vinst äts med råge upp av att vi måste dubbellagra den mycket långa främmande nyckeln (Kursstart, Kursslut, Kursbeskrivning, Tentamensdatum), där just Kursbeskrivning är speciellt problematisk (läs mycket lång i förhållande till övriga kolumner). Blir antalet rader (studenter) stort (vi vinner 4 byte per student i termer av att Maxpoäng inte dubbellagras) så kommer vi förr eller senare (25 studenter väger upp just dubbelllagringen av Kursbeskrivning) att vinna i plats ändå. Diskussion om surrogatnycklar är på sin plats här, självklart vore det en bättre lösning, inte bara av prestandaskäl utan också av redundans och därmed uppdateringsskäl. Uppgift 5, 0p. Betrakta följande relationsschema LAND(Landsnamn, Antal_innevånare) STAD(Stadsnamn, Landsnamn, Antal_innevånare) PERSON(Namn, Adress, Telefon) BESÖK(Namn, Stad, Land)

8 (primärnycklar i fet stil) STAD.Landsnamn << LAND.Landsnamn BESÖK. (Stad, Land) << STAD.(Stadsnamn, Landsnamn) BESÖK.Namn << PERSON.Namn a) Formulera följande fråga i SQL: Vad är invånarantalet i det land som besökts av flest personer? CREATE VIEW antal_besök AS (SELECT Land, COUNT(Namn) AS antal FROM BESÖK GROUP BY Land) SELECT Antal_innvånare FROM LAND, antal_besök WHERE Land = Landsnamn AND antal = (SELECT MAX(antal) FROM antal_besök) b) Formulera följande fråga i relationsalgebra: Vilka personer har aldrig besökt Sverige men i övrigt besökt alla andra länder. Sverige_besökare π (Namn) (σ Land= Sverige (BESÖK)) Besökt_alla_utom_Sverige π (Namn) ((π (Namn, Land) (BESÖK)) (σ Land <> Sverige (LAND)) SVAR Besökt_alla_utom_Sverige - Sverige_besökare Uppgift 6, 5p. Betrakta följande två tabeller (relationsscheman): PERSON(Namn, Adress, Telefon) HUND(HundId, ÄgarNamn, ÄgarAdress, Vikt, Färg) Där (Namn, Adress) utgör primärnyckel för tabell PERSON och HundId utgör primärnyckel för tabell HUND. Och där (ÄgarNamn, ÄgarAdress) utgör främmande nyckel från tabellen HUND mot tabellen PERSON. Vidare gäller följande verksamhetsregel:: Alla HUND:ar har en ägare. Om någon uppdaterar databasen i termer av att ta bort (göra DELETE) på en viss rad i tabellen PERSON ska även motsvarande rader i tabellen HUND tas bort. Rent allmänt gäller förstås att databasen alltid ska vara konsistent dvs bla upprätthålla entity och referential integrity. Det kan tex ta sig uttryck som regler av typen: Om någon uppdaterar databasen i termer av att ändra en persons Namn och/eller Adress så ska motsvarande rader i tabellen HUND också uppdatera? Uppgift: Definiera två CREATE TABLE-sats som implementerar tabell PERSON och HUND respektive. Satsen ska inkludera de båda verksamhetsreglerna ovan. CREATE TABLE PERSON(Namn varchar(50) NOT NULL, Adress varchar(25) NOT NULL, Telefon integer, primary key(namn, Adress)) CREATE TABLE HUND(HundId varchar(25) NOT NULL, ÄgarNamn varchar(25) NOT NULL; ÄgarAdress varchar(50) NOT NULL, Vikt integer NOT NULL, Färg varchar(0) NOT NULL, primary key(hundid), foreign key(ägarnamn, ÄgarAdress) REFERENCES PERSON(Namn, Adress) ON DELETE CASCADE ON UPDATE CASCADE)

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

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

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. Databasmetodik Lördag 27 september 2014 kl

Tentamen. Databasmetodik Lördag 27 september 2014 kl Inst. för Data- och Systemvetenskap SU/KTH Tentamen EIT:DB, SP:DB, DVK:DB, ATD:DB, FK:DB, DSK:DB Ska även användas av äldre kurstillfällen, t ex för IV1018, IV1003, ITK3:DB, ITK1:DB, DSV1:DB mfl. Databasmetodik

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

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

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

Ö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

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

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

Inst. för Data- och Systemvetenskap SU Maria Bergholtz. Tentamen. 21/ kl Inga hjälpmedel är tillåtna (annat än ordbok).

Inst. för Data- och Systemvetenskap SU Maria Bergholtz. Tentamen. 21/ kl Inga hjälpmedel är tillåtna (annat än ordbok). Inst. för Data- och Systemvetenskap SU Maria Bergholtz Tentamen 2/3 205 kl. 4 8 Inga hjälpmedel är tillåtna (annat än ordbok). Skall även användas som omtentamen för DB:EIT/DSK/FK samt äldre databaskurser.

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

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

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Namn: Personnummer: Individuell prövning 41E03B Öppen för alla Tentamensdatum: 2013-08-20 Tid: 09:00-13:00 Hjälpmedel: Inga hjälpmedel

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

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

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

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7) 1 (7) Försättsblad till skriftlig tentamen vid Linköpings universitet Datum för tentamen Sal (1) Tid Kurskod Provkod Kursnamn/benämning Provnamn/benämning Institution Antal uppgifter som ingår i tentamen

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

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

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

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Databasföreläsning Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Tabeller Personer Databas Nummer Namn Födelseår 1 Tina 1950 2 Siv 1965 3 Olle 1980 Platt databas: all information

Läs mer

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

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

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

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

! 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

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

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

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

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

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

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

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

! 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

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

Design och underhåll av databaser

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

Läs mer

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

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

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

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

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

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

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

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

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

Ö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

Lösningar till tentamen i EDAF75

Lösningar till tentamen i EDAF75 Lösningar till tentamen i EDAF75 4 april 2018 Lösning 1 (a) Här är ett förslag till E/R-modell: Det finns flera rimliga alternativa sätt att modellera, så du behöver inte vara orolig bara för att du inte

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

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

Tentamen. TDDB38 - Databasteknik

Tentamen. TDDB38 - Databasteknik Tekniska Högskolan i Linköping, Institutionen för datavetenskap Almut Herzog / Olof Johansson / Patrick Lambrix / Cecile Åberg Tentamen TDDB38 - Databasteknik (Svensk version) Datum: Fredag 12:e januari

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

(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

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

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

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

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

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

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

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra. 1 Datafiler tillhör alltid en filgrupp. Det måste alltid finnas en PRIMARY group. Det är inget som hindrar att datafiler på olika diskar tillhör samma filgrupp. PRIMARY gruppen innehåller huvudfilen till

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

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

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

Lösningsförslag, tentamen i Databaser

Lösningsförslag, tentamen i Databaser LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Lösningsförslag, tentamen i Databaser 2004-04-20 1. ER-diagram: Matsedel år vecka serveras 1..5 lagas-med Maträtt Ingrediens dag mängd Allergi

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

Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in.

Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in. Databaser och Affärssystem Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng Tentamen 41F08A Itek14 TentamensKod: Tentamensdatum: Tid: 2015-10-29 14-17 (3 timmar) Hjälpmedel: Inga hjälpmedel är

Läs mer

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

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

Läs mer

TENTAMEN 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

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index INNEHÅLL SQL DEL 4 DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index Chapter 3, 6, 8 delar av. Beginning SQL Server 2008 for Developers 1 CREATE

Läs mer

Starta MySQL Query Browser

Starta MySQL Query Browser Starta MySQL Query Browser 1. Starta MySQL Query Browser genom att antingen välja i Startmenyn: 2. eller leta upp ikonen på skrivbordet för start av MySQL Query Browser och dubbelklicka på den. 3. Du bör

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

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

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

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer Disposition 1. Kopplingen mellan Processanalys (DFDdiagram) och konceptuell modellering (ERdiagram) (se kap 4) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer Databasen (Kap 2) Den relationella

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

Tentamen DATABASTEKNIK - 1DL116, 1MB025

Tentamen DATABASTEKNIK - 1DL116, 1MB025 Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn, Tore Risch Tentamen 2004-08-16 DATABASTEKNIK - 1DL116, 1MB025 Datum...Måndagen den 16 Augusti, 2004 Tid...14:00-19:00 Jourhavande

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

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

Structured query language (SQL)

Structured query language (SQL) Structured query language SQL) Varför SQL? SQL är ett standardspråk som är oberoende av databashanteringssystemen som finns på marknaden. Med andra ord kommer du kunna arbeta mot nästan alla sorters relationsdatabaser

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

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14 Labb LIVE Exempelkod från föreläsningen Plushögskolan Frågeutveckling inom MSSQL - SU14 Här kommer exempelkoden jag använde under föreläsningen Exemplen Constraints... 2 Transactions... 4 Views... 5 Functions...

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

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

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

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

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

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

1.Lär känna MS SQL Observera. Tips. Förberedelse 1.Lär känna MS SQL 2008 Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill genomföra

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

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

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