INFORMATIONSSYSTEM OCH DATABASTEKNIK 2I1104

Storlek: px
Starta visningen från sidan:

Download "INFORMATIONSSYSTEM OCH DATABASTEKNIK 2I1104"

Transkript

1 KUNGLIGA TEKNISKA HÖGSKOLAN INFORMATIONSSYSTEM OCH DATABASTEKNIK 2I1104 HÖSTTERMINEN KURSKOMPENDIUM INSTITUTIONEN FÖR DATA- OCH SYSTEMVETENSKAP

2

3

4 INTRODUKTION Välkommen till kursen Informationssystem och databasteknik! Kursens mål är att ge kunskaper om begrepp, metoder och verktyg som används vid utformning och implementering av informationssystem samt att ge färdigheter i tillämpning av databasteknik. Kursinnehållet ser ut så här: Informationssystem: Systemutvecklingsprocessen och livscykelmodeller. Analys och specifikation av informationskrav. Konceptuell modellering. Processmodeller. Informationshanteringssystem. Tekniker för verksamhetsutveckling. Databasteknik: Relationsmodellen och andra databasmodeller. Relationsalgebra. Normalisering. Frågespråk, särskilt SQL. Lagrings- och åtkomstmetoder. Säkerhet. Databashanteringssystem. Efter genomgången kurs skall man: Ha förståelse för informationssystemens roll i organisation och samhälle. Ha förståelse för arkitekturen hos informationssystem, särskilt de komponenter som rör datalagring och datamanipulation. Kunna ställa krav på informationssystem utifrån ett beställarperspektiv. Kunna utveckla verksamhetsmodeller, särskilt begreppsmodeller och processmodeller. Ha förståelse för moderna datalagringstekniker, särskilt relationsdatabaser men även orientera om XML. Ha förståelse för relationsmodellen och designprinciper för relationsdatabaser. Kunna konstruera databasstrukturer utifrån kravspecifikationer. Kunna använda frågespråk för databaser, särskilt SQL. Kursens uppläggning bygger på självständiga studier, individuellt och i grupp. De två centrala komponenterna i kursen är seminarierna och projektuppgiften. För att förbereda sig inför ett seminarium är det lämpligt att först gå på motsvarande föreläsning för att få en översikt av ämnet. Därefter kan man läsa sig in på materialet genom att studera kurslitteraturen. Sedan kan man börja lösa uppgifterna, och man har då stor nytta av att diskutera dessa med sina kurskamrater innan man går på seminariet. Projektuppgiften i kursen är omfattande och det är viktigt att komma igång tidigt med arbetet på denna. Uppgiften syftar till att illustrera systemutveckling från kravanalys fram till implementering. Särskilt vid arbetet med kravanalysen behöver man mycket tid att diskutera i grupp medan arbetet med implementering i slutet av uppgiften kan utföras mer individuellt. 2

5 LÄRARE Följande personer undervisar på kursen Maria Bergholtz ( / Nikos Dimitrakas (16 20 Paul Johannesson ( / Michael Persson ( / mpe@dsv.su.se) Martin Rimka ( /rimka@dsv.su.se) Peter Wibom ( /wibom@dsv.su.se) Kursansvarig och examinator Maria Bergholtz och Paul Johannesson Föreläsare Maria Bergholtz, Paul Johannesson, Peter Wibom Seminarieledare Maria Bergholtz, Paul Johannesson Handledare för projektuppgiften Nikos Dimitrakas, Martin Rimka, Maria Bergholtz 3

6 KURSLITTERATUR Database Systems Concepts by Abraham Silberschatz, Henry F. Korth, S. Sudarshan, upplaga 5, ISBN: Artikelsamling Föreläsningsbilder LÄSANVISNINGAR Silberschatz: Läses noga: kapitel 1, 2, 3, , , 6.7, , , 7.8, , 8-6, 13.1, 13.2, 15, 18, 20 Läses översiktligt: resten av kapitel 4, kapitel 5, 7.9, 7.10, resten av 8, , 12.1, 14.1, 14.5, 16.10, (För upplaga 4 gäller Läses noga: kapitel , 2 (ej 2.6), 3, 4, , 7 Läses översiktligt: kapitel , 14.1, , , ) 4

7 EXAMINATION 1 PROJEKTUPPGIFT Uppgift De studerande skall i grupper om fyra deltagare genomföra en projektuppgift som avser att illustrera systemutvecklingsprocessen från analys till implementering med betoning på verksamhetsmodellering och kravanalys. Anvisningar för projektuppgiften ges i avsnittet Projektuppgift. Redovisning Under projektets gång skall gruppen vid två tillfällen muntligt och skriftligt redovisa sitt arbete för en handledare. Varje sådant tillfälle tar 40 minuter och inleds med att gruppen i c:a 10 minuter presenterar sitt arbete för handledaren. Vad som skall redovisas framgår av anvisningarna om projektuppgiften. Villkor för rest De grupper eller studerande som ej blir godkända efter det andra redovisningstillfället kan komplettera i samråd med examinatorn. 2 SEMINARIER Uppgift Seminarierna är frivilliga men den studerande skall inför varje seminarium lämna in ett skriftligt lösningsförslag. Denna inlämning är obligatorisk. Redovisning På seminariet diskuteras dels den uppgift som studenterna löst i förväg, dels ytterligare uppgifter. Den inlämnade uppgiften rättas och återlämnas till studenterna. Villkor för rest Den studerande som ej blir godkänd på ett seminarium kan komplettera i samråd med examinatorn. 3 TENTAMEN Uppgift 5

8 Den studerande skall gå upp på tentamen. Betyg sättes enbart efter tentamensresultatet 6

9 HANDLEDNING I kursens schema ingår så kallade prio-tider (listade längst ner på schema-sidan efter uppgifterna om när och var tentamen hålls). Prio-tiderna innebär att kurs-deltagare har företräde till vissa datorsalar under dessa tider (brukar inte vara något problem, vanligen finns plats även på icke-prio tider). Under vissa av prio-tiderna finns handledare på plats, schemat nedan anger när (vissa veckor ges även handledning som inte är knuten till datorsal, i dessa fall sätts handledningslistan upp på anslagstavlan vid skrivarna plan 5). Vid dessa tillfällen kommer handledarna att sätta upp en handledningslista utanför prio-salarna (OBS! listan sätts upp av handledaren). Skriv namn (eller gruppnummer) och salsnummer på listan så kommer en handledare så snart som möjligt. Här är handledningsschemat (se även de så kallade prio-tiderna i schemat, finns inge prio-tid en viss dag så kan man hitta handledarna och handledningslistan på plan 5, anslagstavlan): Vecka 43: Fredag 27 oktober 9-12 Vecka 44 Måndag 30 oktober 9-12 Onsdag 1 november 9-12 Fredag 3 november Vecka 45 Torsdag 9 november 9-12 Vecka 46 Måndag 13 november 9-12 Tisdag 14 november 9-12 Torsdag 16 november Fredag 17 november 9 12 Vecka 47 Måndag 20 november 9-12 Tisdag 21 november Onsdag 22 november Fredag 24 november 9 12 Vecka 48 Måndag 27 november 9 12 Tisdag 28 november

10 DATORMILJÖ Datorsalarna ligger på plan 4 och 5 i Forum, Kista. Se även schema för handledning och prioritet i datorsalar. Vi kommer under kursens gång att använda dels databashanteringssystem, dels ritverktyg för att dokumentera konceptuella modeller och processmodeller. Inget verktyg är obligatoriskt, har man tillgång till egen databashanterare och/eller ritverktyg går det bra att använda dessa men handledning ges på följande verktyg: för dokumentation av konceptuella modeller: Rational Rose, Enterprise Edition Visual Modeling Tool, databashanteringssystem: MySQL eller MS Access. Dessa programvaror finns alla installerade i datorsalarna på plan 4 och 5. Studenter på kursen har också rätt att installera MS Access och varianten personal edition av Rational Rose Visual Modeling Tool på egna datorer (kontakta Michael Persson, mpe@dsv.su.se). MySQL kan antingen laddas ner från MySQL:s hemsida: Eller, om man vill ha exakt samma installation som i datorsalarna på plan 4 och 5, ladda ner följande tre filer: Computer Environment Tutorials som ingår i kursen (kan antingen skrivas ut, se länkar nedan eller köpas som kompendier på studentexpeditionen): MySQL Essentials, September 2006, version 1.1 Läsanvisningar för MySQL Essentials: hela kompendiet. MS Access Kompendium Läsanvisningar för Access-kompendiet: Introduction: sid 4 & halva sid 5, Create database: sid 8 37, Query a database: sid 38 sid47, (Forms: Simple forms: sid 48 57, Reports: Simple reports: sid 96 sid 98.) För frågor om kompendierna ovan, kontakta Nikos Dimitrakas. 8

11 KONTO PÅ DSV, KOMMUNIKATION För att få tillgång till datorsystemen på DSV behöver du ett användarkonto. Du behöver också ett passerkort för att kunna använda datorer och salar på t ex kvällstid och helger och vissa dagar före helgdag. Passer-kort för KTH-studenter hämtas på Helpdesken i Electrum 3, Isafjordsgatan 28. Beskrivning av hur man går (2 minuter från Forum) lämnas på föreläsning 1. Kontakta i övrigt Lotta Arnbom, lotta@dsv.su.se, rum 6607, telefon , eller Michel Persson telefon , mpe@dsv.su.se för kontoutdelning, se nedan. KOMMUNIKATION Det konto du får ger dig möjlighet att logga in på datorerna på plan 4 och 5. Med dator-kontot följer även ett så kallat First Class- (FC) konto. Firstclass används av DSV som ett internt elektroniskt kommunikationssystem för DSV:s anställda och studenter. Kursens FC konferens heter DBTEKNIK och skall finnas på varje registrerad students FC Desktop. Saknar man konferensen, kan det bero på problem med registreringen. Kontakta studentexpeditionen vid problem med registreringen. Om registreringen är ok, men konferensen inte finns på din Desktop, kan du ta kontakt med FC helpdesk (konferensen Stud Helpdesk FC) så fixar de detta. Har man frågor, kan man med fördel använda konferensen "DBTEKNIK Open Forum" eller "DBTEKNIKTutoring" för att få ett snabbt svar. Varje FC konferens har en kort beskrivning om sitt syfte. Höger-klicka på konferensen och välj "About Conference" om du är osäker på en konferens ändamål. KURSHEMSIDA Kursen har parallellt med FC-konferense DBTEKNIK även en egen webb-sida med information om det mesta Denna sida länkar även till detta kurskompendium. DAISY Det konto du fått ger dig även tillgång till DSV:s kursadministrativa system, Dasiy, där all information om scheman, tagna poäng och mycket mer finns. Du loggar in på Daisy från DSV:s hemsida: 9

12 SEMINARIUM 1 KONCEPTUELL MODELLERING, MODELLERINGSMÖNSTER Denna övning skall lösas skriftligt och lämnas in vid seminariet. Varje studerande skall lämna in en egen lösning. Ange namn och personnummer på lösningen. Läsanvisning: Föreläsning 1 & 2, Silberschatz: kapitel 1, , 6.7, ÖVNING 1 MAN VILL BYGGA ETT INFORMATIONSSYSTEM som innehåller uppgifter om djur i djurparker. Systemanalytikerna genomför en kravstudie med olika intressenter som antingen ska använda det framtida systemet eller är experter på den typ av information som behöver representeras i systemet. Användarnas krav ska manifesteras dels som fritextdokument, dels som ett konceptuellt schema. Det framkommer att det bland annat är viktigt att systemet kan representera information om vilka djurparker ett visst djur vistats i och när vistelsen skedde. Det är även viktigt att hålla reda på djurens vikt, vilka arter som är utrotningshotade och vilket utbredningsområde för en viss djurras som är aktuellt. Hjälp systemanalytikerna att konstruera ett konceptuellt schema som gör det möjligt att representera följande typer av fakta: Tigern är utrotningshotad. Shere-Khan är en tiger som väger 250 kg och har en svanslängd på 1,4 meter. Genomsnittskvikten för tigern är 200 kg. Elefanten är inte utrotningshotad. Genomsnittsviken för pingviner är 14 kg. Pingvinen Tweety har en vingbredd på meter och väger 10 kg. Clyde är en 1,5 tons-elefant som bodde i djurparken Kolmården från 1 mars 65 tom 3 juni 96. London Zoo är namnet på en djurpark. Clyde bor i London Zoo (kom dit 4 juni 96). Tigerns utbredningsområde är Bortre Asien. Tweety flyttade in på Kolmården 29 augusti Skapa ett konceptuellt schema (t.ex. i form av ett UML klassdiagram) som kan representera ovanstående! Sträva efter att modellera på ett sådant sätt att partiella attribut undviks (ett attribut är partiellt om dess min-värde = 0). 10

13 ÖVNING 2 KONSTRUERA ETT KONCEPTUELLT SCHEMA (förslagsvis ett UML klassdiagram) som gör det möjligt att representera nedanstående: Maträtter består av ingredienser. För varje maträtt finns ett recept som specificerar vilka ingredienser som ingår i rätten och i vilken mängd. Ingredienser kan indelas i råvaror och halvfabrikat. För halvfabrikaten gäller att man måste ange vilka ingredienser de består av. Observera att halvfabrikat kan innehålla andra halvfabrikat! T ex så kan en smördeg innehålla 40 % margarin, 57% mjöl och 2 % äggula och 1 % salt. Margarinet kan i sin tur innehålla 82 % smör, 8 % sojaolja, 5 % skummjölk och 5 % vatten. För ingredienser skall uppgifter om deras fetthalt, mineralvärde, vitamin-, protein- och kolhydratinnehåll finnas tillgängliga. Vitamin- och mineralvärdesinnehåll mäts i mg per 100 g. Fett-, kolhydrat- och proteininnehåll mäts i g per 100 g. ÖVNING 3 KONSTRUERA ETT KLASSDIAGRAM som gör det möjligt att representera de företeelser som förekommer i ett UML klassdiagram samt de samband som existerar mellan dessa. I detta fall är alltså de företeelser som modelleras inte fysiska eller sociala utan man modellerar språkkonstruktioner. En sådan modell brukar kallas meta-modell, dvs en modell över de företeelser som utgör byggstenar i en annan (typ av) modell. I detta fall skall klassdiagrammet alltså modellera de byggstenar som finns i UML klassdiagram, först och främst klasser och deras egenskaper. Vilka övriga koncept ingår i UML:s klassdiagram? 11

14 SEMINARIUM 2 KONCEPTUELL MODELLERING FORTS., ÖVERSÄTTNING FRÅN KONCEPTUELL MODELL TILL RELATIONSDATABAS (SYNTETISK DATABASDESIGN) Denna övning skall lösas skriftligt och lämnas in vid seminariet. Varje studerande skall lämna in en egen lösning. Ange namn och personnummer på lösningen. Läsanvisning: ÖVNING 4: Föreläsning 1 & 2, Silberschatz: kapitel 1, , 6.7, , ÖVNING 5&6: Silberschatz: kapitel , Föreläsning 3 ÖVNING 4 BETRAKTA NEDANSTÅENDE SATSER som beskriver verksamhet vid en båtuthyrningsfirma: Per Larsson hyrde båten Runö som är av modellen Svanen, vilken är en segelbåt med tre master och plats för 24 personer. Per Larsson lämnade tillbaka Runö. Båten inspekterades av Eva Svensson som registrerade följande nytillkomna skador: repa på lacken, borttappat segel, skadat roder. Per Larsson hyrde båten Ekö som är av modellen Tranan, vilken är en segelbåt med två master och plats för 12 personer. Per Larsson lämnade tillbaka Ekö. Båten inspekterades av Eva Svensson som registrerade följande nytillkomna skador: förstörd mast, borttappat segel, skadat roder. Per Larsson hyrde båten Almö som är av modellen Flamingo, vilken är en motorbåt med plats för 8 personer och en toppfart på 20 knop. Per Larsson lämnade tillbaka Almö. Båten inspekterades av Eva Svensson som registrerade följande nytillkomna skador: krossad vindruta, borttappat segel, skadat roder. En krossad vindruta på en båt av modellen Flamingo skall ersättas med 2500 kr. En krossad vindruta på en båt av modellen Varan skall ersättas med 4000 kr. En repa på lacken på en båt av modellen Tranan skall ersättas med 1000 kr. En repa på lacken på en båt av modellen Svanen skall ersättas med 2000 kr. Konstruera ett konceptuellt schema (förslagsvis ett klassdiagram) som ger möjlighet att representera satserna ovan. Avbildningsregler (eng. cardinality constraints, multiplicities) skall anges. 12

15 ÖVNING 5 UTFORMA EN RELATIONSDATABASSTRUKTUR för nedanstående konceptuella schema. LAND identifieras av sitt Namn, STAD identifieras av sitt Namn plus sin association mot LAND (dvs STAD identifieras av sitt Namn och sitt LANDs Namn), GATA identifieras av sitt Namn plus sin association mot STAD. BYGGNAD identifieras av sitt Namn och året det är byggt. KUNG identifieras av antingen sitt Namn eller sin association mot LAND (välj!). Övriga identifierare framgår av scheat. Ö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: 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. ÖVNING 6 KONSTRUERA FÖLJANDE TVÅ OBJEKT: 13

16 Ett funktionellt beroende A En relation (tabell) R A och R skall uppfylla följande två villkor: R satisfierar inte A Varje äkta delmängd av R satisfierar A Tips: En relation R satisfierar ett funktionellt beroende A: X Y om och endast om För varje par av tupler i R, t 1 och t 2 gäller att t 1[X]=t 2[X] t 1[Y] = t 2[Y] 14

17 SEMINARIUM 3 IS-ANVÄNDNING, ANALYTISK DATABAS-DESIGN Denna övning skall lösas skriftligt och lämnas in vid seminariet. Varje studerande skall lämna in en egen lösning. Ange namn och personnummer på lösningen. Läsanvisning: ÖVNING 7: Föreläsning 1, Silberschatz: kapitel 18, ( , 8-6), Artikelsamlingen artikeln av Alter, artikeln av O Brien ÖVNING 8 & 9: Föreläsning 4, Silberschatz: kapitel , 7.8 (7.9, 7.10) Regeringen i det lilla landet Transoccidentien har beslutat att förse landets skolor (såväl grundskolor som gymnasieskolor och högskolor) med modernt IT-stöd. Regeringen är beredd att initialt satsa tre miljarder kronor som enengångsinvestering och därefter årligen 500 miljoner för underhåll och vidareutveckling. Dessa resurser skall räcka till landets 1000 skolor, 5,000,000 invånare och 250,000 anställda inom utbildningssfären. Du har blivit anlitad som konsult av det transoccidentiska socialdepartementet för att utarbeta en plan för införandet av IT vid skolorna. I denna plan skall Du beskriva vilka typer av informationssystem som bör införas. Du skall också ange hur prioriteringen skall gå till och motivera detta; observera att de begränsade resurserna gör att man inte kan införa alla typer av informationssystem. Ditt förslag skall ge svar på följande frågor: Vilka typer av informationssystem (TPS, OLTP, MIS, DSS, EIS) kan stödja skolorna? Vilka processer finns i verksamheten? Vilka typer av informationssystem (TPS, OLTP, MIS, DSS, EIS) kan stödja dessa? ÖVNING 8 RELATIONSSCHEMAT DJUR HAR 6 KOLUMNER: DJUR(Namn, Art, Vikt, Antal_ben, Färg, Viktklass) FÖLJANDE FUNKTIONELLA BEROENDEN RÅDER: Namn, Art Vikt, Antal_ben, Färg, Viktklass Art Antal_ben Vikt Viktklass Nedan följer en listning av hela relationen dvs relationsschemat (tabellen) och de rader som instansierar relationsschemat: Namn Art Vikt Antal_ben Färg Viktklass Fido Hund 20 4 Brun Mellan Ossi Hund 6 4 Viltfärgad Liten Argos Åsna 75 4 Grå Stor Flipper Delfin 20 0 Grå Mellan Jerry Katt 10 4 Vit Liten Jerry Mus Grå Liten a) Bestäm, med ledning av de funktionella beroendena, en primärnyckel för DJUR. 15

18 b) DJUR är i 1 NF. Normalisera, i tur och ordning, till 2NF och 3NF. Kommentera varje steg, dvs ange vad som är skälet till att en nedbrytning gjorts från t ex 1NF till 2NF. Hoppa inte över några steg utan gör bara den dekomponering som behöver för att komma från 1NF till 2NF och sen (i nästa steg) det som behövs för nästa högre normalform osv. Rita i varje steg ut de rader som instansierar de nya tabeller som blir resultatet av normaliseringen. Skriv för varje steg ut vilka rader som instansierar de normaliserade tabellerna. ÖVNING 9 BETRAKTA RELATIONSSCHEMAT R nedan som har tre kolumner (Art, Habitat och Byte) och en relation som innehåller 7 rader (tupler). Vilka funktionella beroenden som finns indikeras av de 7 rader som instansierar relationsschemat. R Art Habitat Byte Tiger Savann Gnu Tiger Regnskog Schimpans Tiger Savann Schimpans Tiger Regnskog Gnu Grävling Lövskog Daggmask Grävling Barrskog Tordyvel Lejon Savann Gnu a) Ange en möjlig primärnyckel för relationsschemat givet de funktionella beroenden som finns. b) Ange vilken normalform det resulterande relationsschemat (relationsschemana) (med angiven primärnyckel) är i. Motivera ditt svar! ÖVNING 10 Betrakta tabellerna nedan och motsvarande CREATE TABLE-satser: GLASS(Namn, Pris, Fettinnehåll) GLASSÄTANDE(Personnummer, GlassNamn) PERSON(Personummer, Namn, Vikt) Motsvarande CREATE-TABLE-satser: CREATE TABLE GLASS( Namn varchar(50) NOT NULL, Pris Integer NOT NULL, Fettinnehåll Float NOT NULL, PRIMARY KEY(Namn)) CREATE TABLE PERSON( Personnummer integer NOT NULL, Namn varchar(50) NOT NULL, Vikt integer NOT NULL, PRIMARY KEY(Personnummer)) CREATE TABLE GLASSÄTANDE( Personnummer char(10) NOT NULL, Glassnamn varchar(50), PRIMARY KEY(Personnummer, Glassnamn), FOREIGN KEY(Personnummer) REFERENCES PERSON(Personnummer) ON DELETE CASCADE, FOREIGN KEY(Glassnamn) REFERENCES Glass(Namn) ON DELETE SET NULL) CREATE TABLE-satserna är inte korrekta, varför? Föreslå en bättre lösning! 16

19 SEMINARIUM 4 FRÅGESPRÅK Denna övning skall lösas skriftligt och lämnas in vid seminariet. Varje studerande skall lämna in en egen lösning. Ange namn och personnummer på lösningen. Läsanvisning: Föreläsning 5 & 6, (Föreläsning 7), Silberschatz: kapitel 2, 3, , (5, 13.1, 13.2, 14.1, 14.5) ÖVNING 11 Betrakta nedanstående relationsdatabasschema: SAL(SalsId, Max_antalpersoner) AVSTÅND(Sal1, Sal2, Längd) DANSARE(Namn, Skostorlek, Längd) BALETT(Namn, Upphovsman) ROLL(RollNamn, BalettNamn) UPPSÄTTNING(BalettNamn, Från, Till) ROLLINNEHAV(Dansare, Roll, Balett, Från, Till) Främmande nycklar: AVSTÅND.Sal1 << SAL.SalsId AVSTÅND.Sal2 << SAL.SalsId ROLL.BalettNamn << BALETT.Namn UPPSÄTTNING.BalettNamn << BALETT.Namn ROLLINNEHAV.Dansare << DANSARE.Namn ROLLINNEHAV. (Roll, Balett) << ROLL.(RollNamn, BalettNamn) ROLLINNEHAV.(Balett, Från, Till) << UPPSÄTTNING.(BalettNamn, Från, Till) Primärnycklar är angivna med fetstil. Implementera databasen i valt databashanteringssystem. Fyll även tabellerna med information, titta på frågorna nedan och försök lägga in så många rader att samtliga frågor ger icke tomma svar. Formulera sen följande frågor i SQL och Relationsalgebra (lista körningar av frågorna i SQL): 1) Vilka dansare är över två meter långa och har dansat i Svansjön? 17

20 2) Vilka dansare har dansat i en balett skriven av Puccini och vilken är deras skostorlek? 3) Vad är genomsnittlig längd för de dansare som dansat baletten Svansjön eller Törnrosa? 4) Vilka upphovsmän har skrivit mer än en balett? 5) Vilka dansare har inte dansat i baletten Svansjön men i baletten Törnrosa? 6) För vilka baletter finns det inga uppsättningar? 7) Vilka dansare har dansat alla roller i Svansjön? ÖVNING 12 BETRAKTA RELATIONSDATABASSCHEMAT i föregående uppgift och formulera följande frågor i a) SQL b) Relationsalgebra 1) Hur många personer får plats i den sal som ligger närmast Pelarsalen? (Ta hänsyn till svårigheten att en viss sal kan finnas representerad som antingen Sal1 eller Sal2 eller båda delar). 2) Vilka dansare har dansat i åtminstone samma baletter som Kanneli Kallanko? 3) Vilka dansare har dansat i exakt samma baletter som Kanneli Kallanko? ÖVNING 13 Betrakta följande relationsschema: PERSON(Personnummer, Kön, Fader, Moder) PERSON.Fader << PERSON.Personnummer PERSON.Fader << PERSON.Personnummer Definiera följande vyer med SQL och relationsalgebra: FASTER(Person, Faster) MORFAR(Person, Morfar) FÖRFADER(Person, Förfader)? 18

21 SEMINARIUM 5 PROCESSMODELLER Denna övning skall lösas skriftligt och lämnas in vid seminariet. Varje studerande skall lämna in en egen lösning. Ange namn och personnummer på lösningen. Läsanvisning: Föreläsning 8, ÖVNING 14 Betrakta nedanstående engelska text. Salmon with mashed potatoes is made in the following way. The salmon is cut into small pieces and salt and pepper is added. Thereafter, the salmon is put into a refrigerator for 20 minutes. In parallel, the potatoes can be prepared. 5 kilos of potatoes are boiled on the furnace for 15 minutes. Thereafter, butter and salt is added and everything is mixed in a mixing machine for 2 minutes. Finally, the mashed potatoes is sprinkled around the salmon and put into an oven for 35 minutes. Konstruera ett IDEF0-diagram för denna process. Vissa delar av det som beskrivs kan inte fångas med ett IDEF0-diagram. Vilka är dessa delar? Texten säger inget om controls., komplettera med sådana. ÖVNING 15 Betrakta följande process för hur en mäklare tar hand om en kund som önskar sälja en fastighet. Mäklaren inspekterar fastigheten, värderar den och gör en beskrivning inklusive forografier. Denna beskrivning läggs sedan ut på en webbsajt varefter hugade spekulanter tar kontakt med mäklaren. Denne genomför visningar och informerar på andra sätt om fastigheten. Slutligen väljer mäklaren en spekulant och inleder förhandlingar med denne. Om förhandlingarna går i lås så upprättas ett säljkontrakt och fastigheten överförs till den nye ägaren. Modellera ovanstående med hjälp av ett IDEF0-diagram. Använd hierarkisk nedbrytning. Observera att texten är ofullständig och behöver kompletteras med ett flertal antaganden, t.ex. hur visningar går till eller hur mäklaren väljer vem som skall erbjudas ett köp. 19

22 PROJEKTUPPGIFT SJUKHUSET MEDICINSKT INFORMATIONSSYSTEM Syftet med projektuppgiften är att träna verksamhetsmodellering, kravanalys och databasimplementering. Andra delar inom systemutveckling, t.ex. design av gränssnitt, är inte centrala för denna uppgift. Ett informationssystem skall införas för att stödja verksamheten vid ett sjukhus. Systemet skall underlätta hanteringen av vårdtillfällen, speciellt planering av behandlingar och undersökningar. För att få fram användarens krav på systemet börjar man med att genomföra ett antal intervjuer. Vid det första intervjutillfället låter man gärna den intervjuade tala fritt utan att ställa alltför många frågor. Intervjun kan bandas och en utskrift av den kan ligga till grund för fortsatta intervjuer och preliminära modeller av verksamheten. Nedan ges en utskrift av resultatet från en tänkt intervju. Många av de påståenden som förekommer är oklara och tvetydiga. Denna brist på tydlighet är avsiktlig och avser att illustrera de problem som uppstår i realistiska modelleringssituationer. I de fall ni inte kan finna en entydig tolkning av en term eller ett påstående kan ni själva välja en egen tolkning, men ni måste då explicit ange denna och beskriva de antaganden ni gör. Det går att identifiera åtminstone tre delområden i informationssystemet och i texten. Förslagsvis gör ni en modell av varje delområde och integrerar dem på slutet. Personalens löner m.m. sköts av andra system, och journaler finns i ett journalsystem eller som en mängd papper i ett pappersarkiv. Dock ingår vissa uppgifter både i informationssystemet och i journalen och det skall vara möjligt att skaffa ytterligare information från journalerna om så behövs. Alla uppgifter i informationssystemet ligger till grund för alla typer av uppföljande statistik, beslutsstöd för utbyggnad och/eller indragning av avdelningar, kliniker, personal m.m. och som uppslagsbok för vårdpersonalen för patientens vårdplanering. INTERVJU FRÅGA: Hur går det till när en patient blir inskriven? SVAR: Då en patient kommer hit så måste han lämna sitt patientkort. Har han eller hon inget kort så skriver vi ut ett nytt. Vi behöver då vissa uppgifter från patienten: namn, personnummer, adress, mantalsskrivningsort och civilstånd. Dessutom kontrollerar vi att patienten har en remiss från läkare. Om patienten inte har någon remiss så kan vi inte skriva in honom, såvida det inte handlar om ett akutfall. Därefter skriver vi in patienten på en viss avdelning och bestämmer då även den sängplats som patienten skall ha. Man frågar därvid patienten om han har önskemål om någon speciell avdelning. Ett exempel är att vi skriver in någon vid avdelning B1 på kirurgiska kliniken på Huddinge sjukhus. En patient kan inte skrivas in på en teknisk avdelning. FRÅGA: Vad händer sedan med patienten under den tid han eller hon vistas på sjukhuset? SVAR: Sammanfattningsvis kan man säga att patienten blir föremål för olika tester och undersökningar och att han får behandlingar, och att han får träffa i första hand läkare för att diskutera sina besvär, men också annan sjukvårdspersonal, t.ex. dietister. Det vanliga är att en läkare först undersöker en patient; man intervjuar alltid patienten och man kan ta röntgenbilder och blodprover, etc. 20

23 Sedan försöker man ställa en diagnos på vilken sjukdom patienten har och till sist så föreslår man en behandling. Sedan genomförs behandlingen och vi vill då veta när behandlingen påbörjades och när den avslutades. Vissa behandlingar, t.ex. sjukgymnastik, utförs av sjukvårdsanställda medan andra, t.ex. vanlig medicinering, kan skötas av patienten själv. Både för att följa en patients sjukdomshistoria och för att få en korrekt debitering är det viktigt att registrera allt som händer med en patient. En viktig sak i vårt system är att vi vill hålla reda på inte enbart enskilda patienters sjukdomar och behandlingar utan också mer generell information om sjukdomar och behandlingar, etc. Exempelvis vill vi veta om en viss sjukdom är smittsam. Ibland kan en sjukdom ge upphov till en annan sjukdom, en s.k. följdsjukdom. Vi vill för varje sjukdom lagra information om vilka följdsjukdomar den kan orsaka och med vilken sannolikhet. För varje sjukdom finns det en eller flera behandlingar som kan sättas in mot denna. Det är också så att samma behandling kan användas mot flera sjukdomar. För varje sjukdom och behandling vill vi veta sannolikheten för att behandlingen botar sjukdomen. Vidare vill vi för varje behandling dels hålla reda på dess genomsnittliga kostnad, dels den genomsnittliga tid behandlingen tar. Vi vill också veta vilka biverkningar en behandling eller en undersökning kan ge samt vilka kontraindikationer som t.ex. olika behandlingar har. Ibland är det så att en biverkning uppkommer som ett resultat av flera behandlingar; exempelvis så kan två läkemedel vara helt biverkningsfria om de tas separat, men om de kombineras så kan svåra biverkningar uppstå. FRÅGA: Kan Du förklara vad som menas med kontraindikationer? SVAR: Det enklaste är nog att ge några exempel. Man säger att magsår är en kontraindikation mot acetylsalicylsyra, d.v.s. man bör inte ge medicin innehållande acetylsalicylsyra till en patient med magsår, eftersom detta kan förvärra magsåret. Ett annat exempel är svampallergi och penicillin. Ytterligare ett exempel är att graviditet kan vara en kontraindikation mot vissa slag av röntgenundersökningar, eftersom röntgenstrålar kan skada fostret. FRÅGA: Hur går det till när man planerar in en behandling eller undersökning? SVAR: Det är en ganska komplicerad process. Problemet ligger i att man för en behandling behöver såväl lokaler som personal och utrustning. Man kan behöva olika kategorier av personal, t.ex. kirurg, narkosläkare och narkossköterska. Exempel på utrustning kan vara respiratorer och dialysapparater. För en viss behandling, t.ex. en operation, kan det vara så att viss personal behövs under en längre period än annan personal. Det första som görs när en läkare lämnat in en begäran om att en viss åtgärd skall utföras är att man kontrollerar att det inte finns någon kontraindikation som talar mot detta. Om det finns någon kontraindikation så måste man kontrollera med klinikchefen att behandlingen ändå kan utföras. Sedan försöker man hitta en tidpunkt då åtgärden kan utföras och det måste då finnas lokaler, personal och utrustning tillgängliga. Ibland kan det vara svårt att hitta en tidpunkt som ligger inom den tidrymd läkaren angett. I så fall kan man lösa problemet genom att låta personalen arbeta övertid eller genom att låna in annan personal från någon annan inrättning. Om detta inte skulle fungera kan man som en sista utväg flytta behandlingen för en annan patient och därmed skapa en lucka. Men man får inte flytta en annan patients behandling utan godkännande av den läkare som ordinerat behandlingen. FRÅGA: Vad händer när en person avslutar sin vistelse vid sjukhuset? SVAR: Innan en patient skrivs ut måste den läkare som ansvarat för patienten godkänna detta. Vi behöver hålla reda på vart patienten tar vägen efter utskrivningen. I vårt nuvarande system kan vi göra detta med en kod: 1 = annan klinik, 2 = annan inrättning, 3 = hemmet, 4 = dödsfall, och dessutom har vi ett fält där man kan skriva klartext. Om det gäller ett dödsfall så vill man också veta klockslag samt den läkare som skrivit ut dödsattest. I samband med utskrivningen får patienten en faktura på kostnaden för sjukhusvistelsen. I vissa fall bestäms i samband med utskrivningen att patienten skall göra ett återbesök vid ett visst datum. FRÅGA: Vilken information behövs för uppföljning av verksamheten? 21

24 SVAR: För det första behöver vi veta vilka patienter som varit inskrivna, vilka sjukdomar de haft o.s.v. Vad beträffar de behandlingar som getts så vill vi veta vilka sjukdomar de satts in mot, om de varit framgångsrika, och om de gett upphov till några biverkningar och i så fall vilka. Man behöver också information för att kunna se om de verkliga behandlingstiderna avvikit mycket från de genomsnittliga. Vi vill också kunna ta fram statistik för olika grupper, t.ex. män-kvinnor och olika åldersgrupper. INFORMATIONSKRAV 1. Vilka behandlingar mot benbrott är billigare än gipsning? 2. Vilka personer har varit intagna mer än en gång under 1987? 3. Vilka personer har varit inskrivna på Tofsboda sjukhus? 4. Vilka personer har varit inskrivna på samtliga kliniker på Tofsboda sjukhus? 5. Vilka läkare har behandlat minst en patient på varje klinik på Tofsboda sjukhus? 6. Vilka avdelningar på kirurgiska kliniken på Tofsboda sjukhus har haft fler inskrivna patienter än avdelningen B2? 7. Vilka personer har aldrig fått någon behandling? 8. Vilka resurser krävs för att genomföra en gipsning? 9. Vilka resurser, och hur länge, är bokade för gipsningen av Anna Larson 1 januari kl. 15? 10. Vilka personer har alltid krävt längre behandlingstid än den genomsnittliga? 11. Vilka följdsjukdomar, direkta och indirekta, finns för influensa? (Om A har följdsjukdomen B och B har följdsjukdomen C, så är C en indirekt följdsjukdom till A.) 12. Vilka personer har en sjukdom som det inte finns några behandlingar mot? 13. Vilka personer har fått en behandling trots att det inte varit lämpligt med hänsyn till kontraindikationer? 14. Vilka personer har två eller flera sjukdomar som kan behandlas med samma behandling? 15. Vilken läkare har utfört flest behandlingar mot benbrott? 16. ANVISNINGAR Projektuppgiften skall utföras i grupper om fyra studerande. Uppgiften skall utföras i de steg som anges nedan. För varje steg anges en uppskattning av hur många persontimmar steget kräver under förutsättning att fyra personer deltar i gruppen. Redovisningen sker i tre etapper. Etapp 1: Steg 1 skall redovisas vid redovisningstillfälle 1 (Red1, se kursens schema). Etapp 2: Steg 2 5 redovisas vid redovisningstillfälle 2 (Red2, se kursens schema). Steg 1: Konstruera ett grafiskt konceptuellt schema för åtminstone den del av verksamheten som har att göra med sjukhusets indelning i kliniker och avdelningar samt inskrivningen av en person utgående från beskrivningen ovan, samt information om existerande behandlingar och sjukdomar och vilka resurser som krävs för att behandla en given sjukdom. Avbildningsregler (eng. cardinality constraints, multiplicities) skall anges för samtliga associationer. Steg 2: Konstruera ett grafiskt konceptuellt schema för hela verksamheten. Avbildningsregler skall anges för samtliga associationer. Steg 3: Konstruera ett logiskt relationsdatabas-schema utgående från det konceptuella schema som erhållits i steg 2. Steg 4. Implementera tabellerna i ett databashanteringssystem. Är relationsdatabas-schemat mycket stort (många tabeller) kan avsteg från hur många tabeller som behöver implementeras få göras. I så fall ska åtminstone den del som har att göra med inskrivning av patient och behandling av patient göras, be en handledare om godkännande av hur stor del av relationsdatabas-schemat som ska implementeras. En 22

25 exekvering av fråga 3, 7 och 8 ska visas (behöver inte nödvändigtvis ske framför dator, en skärmdump av en exekvering duger). Steg 5 (frivilligt): Frivillig (men rekommenderad) övning i gränssnittsbyggande mot relationsdatabas. En kort övning med syfte att illustrera implementering av gränssnittsformulär som en slutanvändare kan använda för att mata in information i databasen (på ett mer användarvändligt sätt än att använda frågespråk). Detta görs genom att inmatningsformulär skapas i ett RAD-verktyg, tex MS Access. Eftersom även MS Access tillhandahåller databasfunktionalitet kan man nu gå tillväga på olika sätt (se kompendiet om MS Access). Antingen definieras en av tabellerna på nytt i MS Access och gränssnitts-formulär byggs som sen används för inmatning av rader, eller också importeras den information vi redan har (dvs en tabell med några få rader) från ursprungligt databashanteringssystem till Access varvid gränssnittsformulär byggs för fortsatt inmatning av information. Se vidare labb-kompendiet. Syftet med denna övning är inte att lära ut färdigheter i att bygga gränssnitt mot databaser, inte heller att bygga gränssnitt mot alla tabellerna i projektdatabasen, utan helt enkelt att visa varför gränssnitt mot en relationsdatabas behövs och hur ett sådant kan implementeras. Gränssnittet bör ungefär uppfylla följande: - Man ska kunna mata in rader i en eller två tabeller via gränssnittet. - Primärnycklar och referensintegritet (främmande nycklar) skall specificeras och respekteras av gränssnittet. - Gränssnittet skall tillhandahålla minst en relevant rapport. - En kort (1/2 1 A4-sida) användarhandledning skall skrivas, som skall kunna användas av den grupp som granskar systemet. Tänk på att använda "naturliga" namn/begrepp i inmatningsfält och sökuttryck i gränssnittsformuläret. En (slut-) användare känner till saker som namn, personnummer, adress, etablerade sjukdoms- och behandlingsnamn etc. Han/hon vet ingenting om vad ni internt använder för att identifiera en tabell eller hur ni refererar mellan tabeller. Det är alltså helt förbjudet att visa konstgjorda (surrogat) nycklar i gränssnittet (medan det är fullt tillåtet att använda sådana i databasen). Det kan vara värt att, om man definierar primärnycklar som är surrogatnycklar för tabellerna i sin databas (ingår i steg 4, se ovan), även fundera på vilka kolumner som kan utgöra alternativnycklar för framtida visning i ett användargränssnitt som presenterar databasen för en användare. Alternativt använder man bara "naturliga" kolumner (dvs inga surrogatnycklar) som primärnycklar i sin databas. Det sistnämnda kräver ju då oftast att man sätter samman flera kolumner för att få något som unikt identifierar en rad i en tabell. Notera att MS Access-kompendiet innehåller mycket information och detaljerad information om hur man bygger avancerade gränssnitt mot databaser. Det är inte meningen att studenterna ska skaffa sig dessa detaljerade färdigheter i MS Access, utan verktyget är på denna kurs avsett att användas som ett snabbt RAD-verktyg (Rapid Application Development-verktyg) för att känna på hur man enkelt kan skapa ett användarvänligt gränssnitt mot en relationsdatabas. Läsanvisningar för Access-kompendiet: Introduction: sid 4 & halva sid 5, Create database: sid 8 37, Query a database: sid 38 sid47, Forms: Simple forms: sid 48 57, Reports: Simple reports: sid 96 sid 98. REDOVSING Den slutliga projektredovisningen äger rum vid tider som anges i schemat. Två grupper (A och B) deltar i redovisningen, som är uppdelat i två delar. Först presenteras och diskuteras grupp A:s arbete och därefter grupp B:s. Presentationen skall ha formen av en offertpresentation, d.v.s. grupp A skall spela rollen av en konsult som vill sälja sin lösning till en kund, grupp B (och vice versa). Presentationen skall inkludera en demonstration av det konstruerade systemet. 23

26 24

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

IT I ORGANISATIONER OCH DATABASTEKNIK

IT I ORGANISATIONER OCH DATABASTEKNIK IT-UNIVERSITETET IT I ORGANISATIONER OCH DATABASTEKNIK HÖSTTERMINEN 2003 http://www.dsv.su.se/~maria/2i1033/03/ KURSKOMPENDIUM INSTITUTIONEN FÖR DATA- OCH SYSTEMVETENSKAP INTRODUKTION Välkommen till kursen

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

INFORMATIONSSYSTEM OCH DATABASTEKNIK

INFORMATIONSSYSTEM OCH DATABASTEKNIK KUNGLIGA TEKNISKA HÖGSKOLAN INFORMATIONSSYSTEM OCH DATABASTEKNIK HÖSTTERMINEN 2001 http://www.dsv.su.se/~maria/2i1100/01/ KURSKOMPENDIUM INSTITUTIONEN FÖR DATA- OCH SYSTEMVETENSKAP INTRODUKTION Välkommen

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

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

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

ÖVNING 14. (Primärnycklar är angivna med fetstil.)

ÖVNING 14. (Primärnycklar är angivna med fetstil.) ÖVNING 14 SAL(SalsId, Max_antalpersoner) AVSTÅND(Sal1, Sal2, Längd) DANSARE(Namn, Skostorlek, Längd) BALETT(Namn, Upphovsman) ROLL(RollNamn, BalettNamn) UPPSÄTTNING(BalettNamn, Från, Till) ROLLINNEHAV(Dansare,

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

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

ÖVNING 14. (Primärnycklar är angivna med fetstil.)

ÖVNING 14. (Primärnycklar är angivna med fetstil.) ÖVNING 14 SAL(SalsId, Max_antalpersoner) AVSTÅND(Sal1, Sal2, Längd) DANSARE(Namn, Skostorlek, Längd) BALETT(Namn, Upphovsman) ROLL(RollNamn, BalettNamn) UPPSÄTTNING(BalettNamn, Från, Till) ROLLINNEHAV(Dansare,

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

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

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

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

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

Läs mer

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

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

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

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

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

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

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

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

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

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

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

Introduktion till MySQL

Introduktion till MySQL Introduktion till MySQL Vad är MySQL? MySQL är ett programmerings- och frågespråk för databaser. Med programmeringsspråk menas att du kan skapa och administrera databaser med hjälp av MySQL, och med frågespråk

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

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

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

Kurs-PM fo r HI1028, Projektkurs inom programvaruutveckling, VT16

Kurs-PM fo r HI1028, Projektkurs inom programvaruutveckling, VT16 Kurs-PM fo r HI1028, Projektkurs inom programvaruutveckling, VT16 Mål Kursen skall ge studenten träning i att utveckla en större programvara. Arbetet utförs i projektform. Projektet skall ge grundläggande

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

Objektorientering. Grunderna i OO

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

Läs mer

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

(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

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

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

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

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

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

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

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

Databaser - Design och programmering

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

Läs mer

732G16: Databaser - Design och programmering

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

Läs mer

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

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

! 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

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

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

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

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION Hej, jag heter Ingela Johansson och hälsar dig välkommen till kursen Programutveckling med Java. Den är på 7.5

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 och lösning, 031215

Tentamen och lösning, 031215 Institutionen för Data- och Systemvetenskap SU/KTH Paul Johannesson, Maria Bergholtz Tentamen och lösning, 0325 2I-033, IT i Organisationer och databasmetodik Skriv bara på en sida av pappret Skriv namn

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

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

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

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

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

Databaser design och programmering. Design processen ER- modellering

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

Läs mer

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

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

Läs mer

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

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

Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible: 2000-01-26

Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible: 2000-01-26 Kursens mål Databasteknik TDDB48 http://www.ida.liu.se/~tddb48 Förstå de koncept som ligger bakom databaser och databasorganisation Designa och bygga datamodeller (effektiva filstrukturer) Använda databasfrågespråk

Läs mer

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad.

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad. 1DV405 - Databasteknik Kursintroduktion Så här är kursen planerad. Vilka jobbar med den här kursen? Kursansvarig/kursledare och handledare A34:11A (Kalmar Nyckel: A-huset, plan 3, sektion 4, rum 11A) 0480

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

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

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

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad.

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad. 1DV405 - Databasteknik Kursintroduktion Så här är kursen planerad. Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik Vilka jobbar med den här kursen? Kursansvarig/kursledare

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

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

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

Läs mer

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

Institutionen för Tillämpad fysik och elektronik Stefan Berglund och Per Kvarnbrink. Laboration: Flerskiktade applikationer

Institutionen för Tillämpad fysik och elektronik Stefan Berglund och Per Kvarnbrink. Laboration: Flerskiktade applikationer Institutionen för 2014-11-17 Tillämpad fysik och elektronik Stefan Berglund och Per Kvarnbrink Laboration: Flerskiktade applikationer Målsättning Syftet med denna laboration är att ge den studerande kunskap

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

TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18 Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18 Jourhavande lärare: Patrick Lambrix, 2605 Poäng: Tentan består ut av 2 delar. För

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

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

Det är fullt tillåtet att göra laborationen innan laborationstillfället.

Det är fullt tillåtet att göra laborationen innan laborationstillfället. Observera Det är fullt tillåtet att göra laborationen innan laborationstillfället. Laborationen ska genomföras individuellt, men det är tillåtet att diskutera eventuella problem och lösningar med dina

Läs mer

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

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

Läs mer

Riktlinjer för kursen Översättningsvetenskaplig teori och metod I, 15 hp, AN. Höstterminen 2009.

Riktlinjer för kursen Översättningsvetenskaplig teori och metod I, 15 hp, AN. Höstterminen 2009. Stockholms universitet Tolk- och översättarinstitutet Riktlinjer för kursen Översättningsvetenskaplig teori och metod I, 15 hp, AN. Höstterminen 2009. Kursens mål och innehåll Kursen har följande lärandemål

Läs mer

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

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

Läs mer

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse Lär känna MS SQL 2008 / Övning 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

Läs mer

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

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

Läs mer

Laboration 2, MS SQL. Observera. Tips. Förberedelse. Genomförande

Laboration 2, MS SQL. Observera. Tips. Förberedelse. Genomförande Observera Det är fullt tillåtet att göra laborationen innan laborationstillfället. Observera dock att alla uppgifter måste kunna redovisas på redovisningstillfället. Laborationen ska genomföras individuellt,

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

Databasteknik för D1, SDU1 m fl

Databasteknik för D1, SDU1 m fl Örebro universitet Institutionen för teknik Thomas Padron-McCarthy (Thomas.Padron-McCarthy@oru.se) Tentamen i Databasteknik för D1, SDU1 m fl onsdag 19 augusti 2009 kl 08:15-12:15 Gäller som tentamen för:

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

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

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

Läs mer

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

Schema och kursupplägg

Schema och kursupplägg Schema och kursupplägg Kursansvarig: Eva Berglund eva.berglund@specped.su.se Seminariegrupledare: Judit Simon (Grupp 1) judit.simon@specped.su.se Eva Berglund (Grupp 2) eva.berglund@specped.su.se Kursadministratör:

Läs mer

VAD GÖR DU / VEM ÄR DU?

VAD GÖR DU / VEM ÄR DU? INNEHÅLL Vad blir din roll Databaser vad är och varför Terminologi Datamodellering vad är och varför Utvecklingsprocessen SQL vad är det Data / Information / Kunskap Kapitel 1 delar av. Praktisk Datamodellering

Läs mer