Databasesystemer fra forskellige synsvinkler
|
|
- Adam Frandsen
- 8 år siden
- Visninger:
Transkript
1 Databasesystemer fra forskellige synsvinkler Kim Skak Larsen IMADA DM534 Introduktion til datalogi, 8/ p.1/60
2 Oversigt Introduktion Del 1: en designers synsvinkel Del 2: en udviklers synsvinkel DM534 Introduktion til datalogi, 8/ p.2/60
3 Introduktion Organisation af store ensartede datamængder. Ex: flyreservationer, CPR-registre, kundeoplysninger, bibliotekssystemer, karakterregistrering, finansverdenen,... Underliggende teknologi for mange Internet-servicesider. Databasesprog programmeringssprog. sikkerhed beregningssikkerhed adgangssikkerhed effektivitet DM534 Introduktion til datalogi, 8/ p.3/60
4 Del 1 Databasesystemer set fra en designers synsvinkel DM534 Introduktion til datalogi, 8/ p.4/60
5 Datamodellering: indsamling Eksempelopgave Lav et system til håndtering af information omkring institutter, deres ansatte og studerende. Arbejdsgang Udvikl sproglig specifikation. Formalisér. Skab rammerne for datarepræsentation. Forbered udtræk af data til almindelige brugere. DM534 Introduktion til datalogi, 8/ p.5/60
6 Datamodellering: specifikation Institutter får en entydig institut-id. Deres postadresse, hovedtelefonnummer og årsbudget registreres. Medarbejdere registreres ved deres CPR-nummer med oplysninger om navn og kategori (VIP, DVIP, TAP, IL). En medarbejder er ansat på et eller flere institutter. Der er en ansættelsesdato for hvert ansættelsesforhold. Et institut har et antal forskningsledere. En forskningsleder er altid en af medarbejderne, og personen har ansvaret for et bestemt forskningsområde på instituttet. DM534 Introduktion til datalogi, 8/ p.6/60
7 Datamodellering: specifikation Studerende registreres ved deres CPR-nummer og navn sammen med oplysninger om immatrikulationsår og studieretning. Alle studerende har ét hjemmeinstitut. Nogle studerende er instruktorer. De får altid en kontorplads, som skal registreres. For de studerende, som er specialestuderende, registreres specialeemnet samt forventet afleveringsdato. En specialestuderende kan også være instruktor. DM534 Introduktion til datalogi, 8/ p.7/60
8 Datamodellering: specifikation Alle specialestuderende har én hovedvejleder, som er en af medarbejderne. Desuden kan en specialestuderende have et antal medvejledere. For kurser opbevares kode, titel, tidspunkt og lokale. Hvert kursus kan have et antal øvelseshold, som nummeres 1, 2, 3, osv. separat for hvert kursus. For de enkelte hold gemmes lokale og tidspunkt. Nogle kurser er projektkurser, hvor en studerende kan lave et projekt med en medarbejder som projektvejleder. Projektets omfang, startdato og slutdato registreres. DM534 Introduktion til datalogi, 8/ p.8/60
9 ER-diagrammer Der findes flere formalismer til beskrivelse af datasammenhænge. En af disse er Entity-Relationship modellen. DM534 Introduktion til datalogi, 8/ p.9/60
10 ER-diagrammer: entiteter Institutter får en entydig institut-id. Deres postadresse, hovedtelefonnummer og årsbudget registreres. id tlf adr budget Institut DM534 Introduktion til datalogi, 8/ p.10/60
11 ER-diagrammer: entiteter Medarbejdere registreres ved deres CPR-nummer med oplysninger om navn og kategori. CPR navn kategori Medarbejder DM534 Introduktion til datalogi, 8/ p.11/60
12 ER-diagrammer: relationer En medarbejder er ansat på et eller flere institutter. Der er en ansættelsesdato for hvert ansættelsesforhold. id tlf adr budget dato CPR navn kategori Institut Ansættelse Medarbejder DM534 Introduktion til datalogi, 8/ p.12/60
13 ER-diagrammer: ISA Et institut har et antal forskningsledere. En forskningsleder er altid en af medarbejderne, og personen har ansvaret for et bestemt forskningsområde på instituttet. CPR navn kategori Medarbejder ISA Forskningsleder område DM534 Introduktion til datalogi, 8/ p.13/60
14 Databasesprog Databasesystemer Der findes mange databasesystemer. Ex: Postgres, DB2, Oracle, Access Databasesprog Der findes en del både traditionelle og nyere. Men SQL Structured Query Language er de facto standard. DM534 Introduktion til datalogi, 8/ p.14/60
15 Tabeller i SQL: entiteter CPR navn kategori Medarbejder create table Medarbejder ( CPR char(10), navn char(50), kategori char(4), primary key (CPR) ) DM534 Introduktion til datalogi, 8/ p.15/60
16 Tabeller i SQL: relationer id tlf adr budget dato CPR navn kategori Institut Ansættelse Medarbejder create table Ansæt ( CPR char(10), id integer, dato date, primary key (CPR, id), foreign key (CPR) references Medarbejder, foreign key (id) references Institut ) DM534 Introduktion til datalogi, 8/ p.16/60
17 Tabeleksempel Medarbejder CPR navn kategori Joan Boyar VIP Peter Schneider-Kamp VIP Martin Svensson IL Kim Skak Larsen VIP Lone Petterson TAP Kristine Vitting Klinkby Knudsen DVIP Jesper With Mikkelsen DVIP DM534 Introduktion til datalogi, 8/ p.17/60
18 Terminologi En tabel kaldes også en relation. Databasesystemer opbygget omkring dette koncept kaldes ofte relationelle databaser. En søjles navn kaldes en attribut. En række i en tabel kaldes også et tupel. En nøgle er en minimal delmængde af attributter, der entydigt bestemmer tuplet. DM534 Introduktion til datalogi, 8/ p.18/60
19 Forespørgsler i SQL CPR navn kategori Joan Boyar VIP Peter Schneider-Kamp VIP Martin Svensson IL Kim Skak Larsen VIP Lone Petterson TAP Kristine Vitting Klinkby Knudsen DVIP Jesper With Mikkelsen DVIP select M.navn from Medarbejder M where M.kategori = VIP navn Joan Boyar Peter Schneider-Kamp Kim Skak Larsen DM534 Introduktion til datalogi, 8/ p.19/60
20 Forespørgsler i SQL Find Kim Skak Larsens instituts telefonnummer select I.tlf from Medarbejder M, Ansættelse A, Institut I where M.CPR = A.CPR and A.id = I.id and M.navn = Kim Skak Larsen tlf 2387 DM534 Introduktion til datalogi, 8/ p.20/60
21 Forespørgsler i SQL Lav kategorioversigt select M.kategori, count ( ) as antal from Medarbejder M group by M.kategori kategori antal VIP 3 IL 1 TAP 1 DVIP 2 DM534 Introduktion til datalogi, 8/ p.21/60
22 Skemadesign: anomalier navn stillingskategori timeløn i kr Anita Jensen rengøringsassistent 95 Cristiano Ronaldo fodboldspiller Jørgen Pryds rengøringsassistent 95 Piotr Nowak bygningsarbejder 40 Pawel Kowalski datalog 340 Børge Vestergaard rengøringsassistent 95 Melisa Thomsen datalog 340 Anomalier indsættelse: kan ikke registrere ny revisor. sletning: timelønnen slettes med sidste person. opdatering: inkonsistens, hvis ikke alle felter opdates. DM534 Introduktion til datalogi, 8/ p.22/60
23 Skemadesign: afhængigheder navn stillingskategori timeløn i kr Anita Jensen rengøringsassistent 95 Cristiano Ronaldo fodboldspiller Jørgen Pryds rengøringsassistent 95 Piotr Nowak bygningsarbejder 40 Pawel Kowalski datalog 340 Børge Vestergaard rengøringsassistent 95 Melisa Thomsen datalog 340 Problem Stillingskategorien bestemmer entydigt timelønnen. DM534 Introduktion til datalogi, 8/ p.23/60
24 Skemadesign: dekomposition navn stillingskategori stillingskategori timeløn i kr Anita Jensen Cristiano Ronaldo Jørgen Pryds Piotr Nowak Pawel Kowalski Børge Vestergaard Melisa Thomsen rengøringsassistent fodboldspiller rengøringsassistent bygningsarbejder datalog rengøringsassistent datalog rengøringsassistent 95 fodboldspiller bygningsarbejder 40 datalog 340 DM534 Introduktion til datalogi, 8/ p.24/60
25 Skemadesign: normalformer Ex: 3. normalform Antag, at en delmængde af tabellens attributter X entydigt bestemmer en attribut A. Vi kræver A X, eller X er en supernøgle for tabellen, eller A indgår i en nøgle for tabellen. Check, og til dels løsning af normaliseringsproblemer, kan automatiseres. DM534 Introduktion til datalogi, 8/ p.25/60
26 Del 2 Databasesystemer set fra en udviklers synsvinkel DM534 Introduktion til datalogi, 8/ p.26/60
27 Evaluering af en forespørgsel En forespørgsel er en specifikation. Data organiseres. Evalueringsplaner vurderes. En god plan vælges og udføres. En god plan er en, der minimerer disktilgang. DM534 Introduktion til datalogi, 8/ p.27/60
28 Evalueringsplaner: ombytning Datainformation 1000 medarbejdere fordelt på 20 institutter, hvor af 3 har budget på mindst kr. Opgave Find alle institutledere på institutter med budgetter på mindst kr. select M.navn from Medarbejder M, Ansættelser A, Institutter I where M.CPR = A.CPR and A.id = I.id and I.budget and M.kategori = IL DM534 Introduktion til datalogi, 8/ p.28/60
29 Evalueringsplaner: ombytning Datainformation 1000 medarbejdere fordelt på 20 institutter, hvor af 3 har budget på mindst kr. Plan 1 1. Kombinér alle tabelindgangene. 2. Gennemløb og udvælg. Resultat Naivt omkring = operationer. DM534 Introduktion til datalogi, 8/ p.29/60
30 Evalueringsplaner: ombytning Datainformation 1000 medarbejdere fordelt på 20 institutter, hvor af 3 har budget på mindst kr. Plan 2 1. Gennemløb og udvælg alle IL fra Medarbejder 2. Gennemløb og udvælg alle institutter, der har budget på mindst kr, fra Institut. 3. Kombinér. Resultat Et sted mellem 1000 og 2000 operationer. DM534 Introduktion til datalogi, 8/ p.30/60
31 Evalueringsplaner: formulering Man bruger et mindre antal relationelle operatorer (relationel algebra) til at udtrykke en evalueringsplan. Blandt andre: select til at udvælge tupler. project til at udvælge attributter. join til at kombinere tabeller. Ikke det samme som nøgleordet select i SQL. DM534 Introduktion til datalogi, 8/ p.31/60
32 select B select from A where X < 42 or Y = 7 A: X Y B: X Y DM534 Introduktion til datalogi, 8/ p.32/60
33 project B project Y, Z from A A: X Y Z Q B: Y Z DM534 Introduktion til datalogi, 8/ p.33/60
34 join C join A and B A: X Y B: Z Q C: X Y Z Q DM534 Introduktion til datalogi, 8/ p.34/60
35 join C join A and B where X = Q or Y = Q A: X Y B: Z Q C: X Y Z Q DM534 Introduktion til datalogi, 8/ p.35/60
36 Evalueringsplaner: ombytning Plan 1 A join Medarbejder and Ansættelser B join A and Institutter C select from B where M.CPR = A.CPR and A.id = I.id and budget and kategori = IL D project navn from C DM534 Introduktion til datalogi, 8/ p.36/60
37 Evalueringsplaner: ombytning Plan 2 A select from Medarbejder where kategori = IL B select from Institutter where budget C join A and Ansættelser D join C and B E select from D where M.CPR = A.CPR and A.id = I.id F project navn from E DM534 Introduktion til datalogi, 8/ p.37/60
38 Evaluering og optimering operationsrækkefølge. valg af konkrete metode for operatorerne. index: find få udvalgte informationer hurtigt. pipelining.... DM534 Introduktion til datalogi, 8/ p.38/60
39 Et optimeringseksempel Efter en forespørgsel ønsker vi ikke at se (og slet ikke at gemme) dubleret information (dvs. flere ens tupler i resultatet). Derfor må vi lave et stort arbejde for at fjerne dubletter. Vi vil helst kun gøre det, når det er nødvendigt. Kan vi afgøre det på forhånd? Dvs. blot ved at se på forespørgslen... DM534 Introduktion til datalogi, 8/ p.39/60
40 Optimering: dubletter Kasser med højde og bredde. select distinct 2*(H+B) as D1, B>5 as D2 from Kasser Dubletter? H B D1 D DM534 Introduktion til datalogi, 8/ p.40/60
41 Optimering: dubletter Kasser med højde og bredde. select distinct 2*(H+B) as D1, B>5 as D2 from Kasser Dubletter? H B D1 D false 22 true 14 false 16 false DM534 Introduktion til datalogi, 8/ p.41/60
42 Optimering: dubletter Kasser med højde og bredde. select distinct 2*(H+B) as D1, (H+B)*H as D2, B>5 as D3 from Kasser Dubletter? H B D1 D2 D DM534 Introduktion til datalogi, 8/ p.42/60
43 Optimering: dubletter Kasser med højde og bredde. select distinct 2*(H+B) as D1, (H+B)*H as D2, B>5 as D3 from Kasser Dubletter? H B D1 D2 D false true false false DM534 Introduktion til datalogi, 8/ p.43/60
44 Optimering: dubletter Kasser med højde og bredde. select distinct 2*(H+B) as D1, (H+B)*H as D2, B>5 as D3 from Kasser Dubletfri ved et tilfælde? DM534 Introduktion til datalogi, 8/ p.44/60
45 Optimering: dubletter Kasser med højde og bredde. select distinct 2*(H+B) as D1, (H+B)*H as D2, B>5 as D3 from Kasser Dubletfri ved et tilfælde? H B?? D1 D2 D false 2 (H +B) = 16 H +B = 8 (H +B)H = 24 H +B = 8 H = 3 H +B = 8 H = 3 B = 5 DM534 Introduktion til datalogi, 8/ p.45/60
46 Beregningsmæssig sikkerhed Databasesystemer er fundamentet for den finansielle verden! Fokus på transaktioner. Mange andre aspekter af sikkerhed. Ex: Korrekthed af programmer. Sikker opbevaring af data. Sikker overførsel og autifikation. DM534 Introduktion til datalogi, 8/ p.46/60
47 Concurrency Control Automat Din konto 700 hæv 300 aflæs (700) beregn ( ) gem (400) 400 DM534 Introduktion til datalogi, 8/ p.47/60
48 Concurrency Control Automat Din konto SU-styrelsen 700 hæv 300 aflæs (700) indbetal 4500 aflæs (700) beregn ( ) beregn ( ) 5200 gem (5200) gem (400) 400 DM534 Introduktion til datalogi, 8/ p.48/60
49 Concurrency Control Transaktioner skal være udelelige. Men vi ønsker stor parallellitet. Transaktioner skal være serialiserbare DM534 Introduktion til datalogi, 8/ p.49/60
50 Crash Recovery Din konto SU-styrelsen RAM Disk aflæs aflæst (700) beregn ( ) gem (5200) DM534 Introduktion til datalogi, 8/ p.50/60
51 Crash Recovery Din konto SU-styrelsen RAM Disk aflæs aflæst (700) beregn ( ) gem (5200) 5200 CRASH! 5200 DM534 Introduktion til datalogi, 8/ p.51/60
52 Transaktionsbegreber Serialiserbarhed. Commit. Låseprotokoller. Write-ahead-log. Roll-back (undo). DM534 Introduktion til datalogi, 8/ p.52/60
53 Problemer med låse Overførsler fra en konto til en anden. A til B B til C C til A DM534 Introduktion til datalogi, 8/ p.53/60
54 Problemer med låse Overførsler fra en konto til en anden. A til B B til C C til A lock_request(a) DM534 Introduktion til datalogi, 8/ p.54/60
55 Problemer med låse Overførsler fra en konto til en anden. A til B B til C C til A lock_request(a) lock_request(b) DM534 Introduktion til datalogi, 8/ p.55/60
56 Problemer med låse Overførsler fra en konto til en anden. A til B B til C C til A lock_request(a) lock_request(b) A locked B locked lock_request(c) DM534 Introduktion til datalogi, 8/ p.56/60
57 Problemer med låse Overførsler fra en konto til en anden. A til B B til C C til A lock_request(a) lock_request(b) A locked B locked lock_request(c) lock_request(b) C locked DM534 Introduktion til datalogi, 8/ p.57/60
58 Problemer med låse Overførsler fra en konto til en anden. A til B B til C C til A lock_request(a) lock_request(b) A locked B locked lock_request(c) lock_request(b) C locked lock_request(c) lock_request(a) DM534 Introduktion til datalogi, 8/ p.58/60
59 Problemer med låse Overførsler fra en konto til en anden. A til B B til C C til A lock_request(a) lock_request(b) A locked B locked lock_request(c) lock_request(b) C locked lock_request(c) lock_request(a) Deadlock! DM534 Introduktion til datalogi, 8/ p.59/60
60 Databasesystemer En tværdatalogisk disciplin maskinarkitektur operativsystemer distribuerede systemer programmeringssprog algoritmer & datastrukturer kompleksitetsteori... DM534 Introduktion til datalogi, 8/ p.60/60
(fig.1. Eksempel på en almindelig entity)
Formål Formålet med denne opgave var, at designe et database system for et fiktivt universitet, ved hjælp af ER-model, for derefter at oversætte det til SQL tabeller. Og dernæst lave en assertion så der
Læs mereDatabasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002
Databaser, efterår 2002 Databasesystemer Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk
Læs mereDatabasesystemer. IT Universitetet i København 16. januar 2006
Databasesystemer IT Universitetet i København 16. januar 2006 Eksamenssættet består af 5 opgaver med 16 spørgsmål, fordelt på 6 sider (inklusiv denne side), samt et svarark, hvor visse spørgsmål skal besvares.
Læs mereViews etc. Databaser
Views etc. Databaser Views Med Views kan vi gemme nogle af de lange select sætninger. I vores eksempel fra tidligere er det f.eks. forbundet med en del besvær at finde telefon nr og bilmærker for en sælger
Læs mereRelationel Algebra og SQL
Relationel Algebra og SQL Indholdsfortegnelse Relationel Algebra og SQL...1 Indholdsfortegnelse...1 De oprindelige mængdeoperationer...2 1. UNION (foreningsmængde)...2 2. INTERSECTION (fællesmængde)...2
Læs mereDatabasesystemer. IT Universitetet i København 7. juni 2005
Databasesystemer IT Universitetet i København 7. juni 2005 Eksamenssættet består af 5 opgaver med 13 spørgsmål, fordelt på 6 sider (inklusiv denne side). Vægten af hver opgave er angivet. Du har 4 timer
Læs mereSkriftlig eksamen i Databaser, Vinter 2001/2002. Pa opfordring har jeg udarbejdet mulige lsninger pa eksamensopgaverne, men
Roskilde Universitetscenter Skriftlig eksamen i Databaser, Vinter 2001/2002 Opgaver med lsninger Pa opfordring har jeg udarbejdet mulige lsninger pa eksamensopgaverne, men har ikke haft tid til at polere
Læs mereSkriftlig eksamen i. Databaser. Vinter 2002/2003. Vejledende løsninger
Skriftlig eksamen i Databaser Vinter 2002/2003 Vejledende løsninger Dette eksamenssæt består af 5 nummererede sider (incl. denne). Der er 5 opgaver, som ved bedømmelsen tillægges følgende vægte: Opgave
Læs mereIntroduktion til SQL queries
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til SQL queries Denne artikel beskriver nogle forskellige muligheder i SQL queries. Eksemplerne skulle gerne være standard SQL og virke i
Læs mereIntroduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach (jeans@ruc.dk) 2002
Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach (jeans@ruc.dk) 2002 På datalogi har vi en databaseserver, som de studerende på datalogi kan benytte til projekter og som også benyttes i forbindelse
Læs mereObligatorisk opgave 2. SQL, relationel algebra og relationel kalkyle
DM26 Obligatorisk opgave 2 SQL, relationel algebra og relationel kalkyle Jacob Christiansen 130282 moffe42 Thomas Duerlund 040980 duerlund Side 1 af 9 Opgave 1: Formål: Ud fra en database omhandlende en
Læs mereDatabase-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form
Database-sproget SQL SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form SELECT A1,, Ar FROM R1,, Rk WHERE B med attributter A1,, Ar relationer R1,, Rk betingelse B (logisk
Læs mereBegrænsninger i SQL. Databaser, efterår 2002. Troels Andreasen
Databaser, efterår 2002 Begrænsninger i SQL Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk
Læs mereDatabase optimering - Indeks
Database optimering - Indeks Alle kender til dette irritations moment, hvor programmet man sidder og arbejder med, bare ikke er hurtigt nok. Selvom det kun drejer sig om få sekunder man sidder og venter,
Læs mereDatabaser Obligatorisk opgave 1
University of Southern Denmark Department of Mathematics and Computer Science Databaser Obligatorisk opgave 1 Afleveres senest: Lørdag d. 23. marts kl 23.59 Introduction Denne obligatoriske opgave indeholder
Læs mereDe vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML
SQL kap 6-7 + 17-20 DDL og DML 1 De vigtigste SQL-sætninger Data Definition Language (DDL) create table: opretter en ny tabel create unique index: tilføjer et index til en tabel drop table : sletter en
Læs mereSidste forelæsning. Jacob Aae Mikkelsen. 28. april 2013 IMADA. Jacob Aae Mikkelsen (IMADA) Sidste forelæsning 28.
Sidste forelæsning Jacob Aae Mikkelsen IMADA 28. april 2013 Jacob Aae Mikkelsen (IMADA) Sidste forelæsning 28. april 2013 1 / 36 Outline 1 Brugere og Sikkerhed Jacob Aae Mikkelsen (IMADA) Sidste forelæsning
Læs mereDatabase design for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Database design for begyndere Denne artikel beskriver hvordan man kommer fra ide til database design. Den stopper inden normal former. Den forudsætter
Læs mereSkriftlig eksamen i. Datalogi. Databaser. Sommer 2001
Skriftlig eksamen i Datalogi Databaser Sommer 2001 Dette eksamenssæt består af 4 nummererede sider (incl. denne). Der er 4 opgaver, som ved bedømmelsen tillægges følgende vægte: Opgave 1: 20% Opgave 2:
Læs mereDatabase kursus Forår 2013
Database kursus Forår 2013 Jacob Aae Mikkelsen Database design og programmering/databaser fra Organisationsorienteret softwareudvikling 1 Praktisk info Lærebog Database Systems: The Complete Book Skema
Læs mereDML, Foresprgsler Relationel algebra + noget mere! af skemaer (overlap m. DDL)
SQL Stuctured Query Language, spiller roller som DDL, denere relationsskemaer m.v. DML, Foresprgsler Relationel algebra + noget mere! Opdatering af relationer af skemaer (overlap m. DDL) Hvem bruger SQL
Læs mereDatabasesystemer. IT Universitetet i København 8. juni 2006
Databasesystemer IT Universitetet i København 8. juni 2006 Eksamenssættet består af 5 opgaver med 16 spørgsmål, fordelt på 7 sider (inklusiv denne side), samt et svarark, hvorpå visse spørgsmål skal besvares.
Læs mereSkriftlig eksamen i kurset. Informationssystemer
6. semester sundhedsteknologi Skriftlig eksamen i kurset Informationssystemer Der er 3 timer til at besvare opgaven. Alle hjælpemidler er tilladte. Skriv kort og præcist. Referer gerne til kursuslitteraturen.
Læs mereEn opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin
En opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin Trin 1: Lav en Domain model Opgave beskrivelse - Scandic hotel kæde Lav en domain model af Hotel-kæden.
Læs mereNotat. Introdansk beskrivelse af fastlagte krav til indberetning af statistikoplysninger fra udbydere 27.06.2012 JL
Notat Vedrørende: Skrevet af: Introdansk beskrivelse af fastlagte krav til indberetning af statistikoplysninger fra udbydere Jesper Lund Version: 1.4: rev. af Ankestyrelsen, januar 2014 27.06.2012 JL I
Læs mereEn Kort Introduktion til Oracle
En Kort Introduktion til Oracle Henrik Bulskov 12. februar 2001 bulskov@ruc.dk 1 Start SQL*Plus... 1 1.1 TELNET... 1 1.2 WINDOWS SQL PLUS... 2 2 Kør et SQL-script... 3 3 Hjælp i SQL*Plus... 3 4 Editering
Læs mereEksempel på en database: studenter, kurser, eksamener
Udvidet Programmering 1999 Forelæsning 20, fredag 12. november 1999 Relationsdatabaser: relationer, tupler, attributter Forespørgselssproget SQL Databasesystemet PostgreSQL Tilgang til relationsdatabaser
Læs mereSøren Løbner (lobner) ddb Databaser 2007 10 10
ddb Excercise Week 4 Fra relationships til relations Nu når vi har fået vores skemaer på plads, kan SQL udtrykkene til konstruktion af relationerne laves Det foregår ved at vi tager en 1 til 1 oversættelse
Læs mereEfterår 2002 Note 10. Temaopgave
Datalogi Database-kurset Efterår 2002 Note 10 Temaopgave Formålet med temaopgaven er at I skal arbejde med vigtige dele af kursusstoffet indenfor et specifikt problemområde/tema. Temaopgaven omfatter 4
Læs mereViews. Et view er en relation defined ud fra gemte tabeller ( base tables ) og andre views To typer:
Views 1 Views Et view er en relation defined ud fra gemte tabeller ( base tables ) og andre views To typer: 1. Virtual = Ikke gemt i databasen; kun definitionen af den 2. Materialized = Date konstrueret
Læs mereProjekt: Database. Multimedia Design: Semester 3 - projekt 01. Sabine Larsen cph-sl176@cphbusiness.dk. Anastasia Keller cph-ak186@cphbusiness.
Anslag: 21284 Multimedia Design: Semester 3 - projekt 01 Projekt: Database Projektperiode: 07. September 20. September 2015 Gruppe nummer: MulB07 Vejledere: Ivan Rosenvinge Frederiksen & Tuje Becher MULA
Læs mereA11: Last Year s Exam
A11: Last Year s Exam Agenda Design of Site map and Web- structure (3) Design of data model (1) Design of database transactions (2) Construction of HTML and PHP scripts (3) Exercise 3: Design of Site map
Læs mereDatabase programmerings tips
Denne guide er oprindeligt udgivet på Eksperten.dk Database programmerings tips Denne artikel vil introducere nogle problem stillinger med flere samtidige brugere, som man skal tænke på, når man udvikler
Læs mereEksamen, DSDS, efterår 2007
Eksamen, DSDS, efterår 2007 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech og Martin Elsman IT Universitetet i København 7. januar 2008 Alle hjælpemidler er tilladte, dog ikke
Læs mereFra ER-Diagram til Relationel model i 7 step
Fra ER-Diagram til Relationel model i 7 step STEP 1: For regular entity type E in ER schema, create a relation R that includes all the simple attributes, and component attributes of composite attributes.
Læs mereDatabaseadgang fra Java
Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,
Læs mereIntroduktion til programmering
Introduktion til programmering Databaser Uge 38 L. Ingemann: SQL databaser på nettet, kap 2-4. Kompendium L. Ingemann: SQL databaser på nettet, kap 6-20, Kompendium Sidste gang Databaser Relationelle databaser
Læs mereDatabase Implementering
Database Implementering 1 Database Implementering Er det ikke nemt at implementere et database system? Gemme relationer Parse statements Print resultater Ændre relationer 2 Må vi præsentere Database Management
Læs mereListen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:
Denne guide er oprindeligt udgivet på Eksperten.dk SQL og ASP En artikel omkring simpel SQL og hvordan disse opbygges, udformes og udføres, sådan at man kan få et brugbart resultat i ASP. Dette ligefra
Læs mereHvad er en relationsdatabase? Odense, den 19. januar Version 1.0
Hvad er en relationsdatabase? Odense, den 19 januar 2004 Version 10 Program for 6 kursusdag: Databaser 0900-0945 Hvad er en relationsdatabase? -1045 Opgave om normalisering 1100-1145 Eksempel på database
Læs mereDatabase-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form
Database-sproget SQL SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form SELECT A1,, Ar FROM R1,, Rk WHERE B med attributter A1,, Ar relationer R1,, Rk betingelse B (logisk
Læs mereEksamen, DSDS, forår 2009
Eksamen, DSDS, forår 2009 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 3. juni 2009 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.
Læs mereAnne Randorff Højen
Anne Randorff Højen arra@hst.aau.dk Forelæsning og opgaver: Introduktion til SQL pause Forlæsning og Opgaver: SQL 2. del pause Introduktion til PhPMyAdmin Opgaver SQL Der modelleres ud fra reelle relationer
Læs mereReeksamen, DSDS, forår 2008
Reeksamen, DSDS, forår 2008 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 22. august 2008 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.
Læs mereImport af rekursivt (parent-child) hierarki i Palo
Import af rekursivt (parent-child) hierarki i Palo Dette dokument beskriver hvordan et simpelt rekursivt (parent-child) hierarki kan importeres ind i Palo på forskellige måder via SQL og samtidig bibeholde
Læs mereAir Crash Booking System
Air Crash Booking System Eksamensopgave i Databaser (ddb), E06 Vejleder: Louis Salvail Afleveret 27. oktober 2006 af: Jens Gram Pedersen, 20041039, mail@jensgram.dk 28 nummererede sider I N D H O L D S
Læs mereDatabaser. 3. Normalform. Mette Frost Nielsen
Databaser 3. Normalform Mette Frost Nielsen Normalisering Kvalitetssikring ej redundans Ej null i tabeller Hurtigere Lettere at vedligeholde Ordbog Relation = tabel Redundans = gentagelser, samme information
Læs mereEksamen 2013. Uden hjælpemidler - normeret til 60 minutter
ksamen 2013 Uden hjælpemidler - normeret til 60 minutter 1 er-diagram 1 /R iagram til relationelle model xported at: Mon May 13 2013 22:43:32 GMT+0200 (ST) Untitled etragt Page figur 1. Hvordan oversættes
Læs mereJayne Alice Jensen cph-jj208@cphbusiness.dk [Link til portfolio]
DATABASE Projekt: Projekt 1, 3. semester Website: http://kostecki.dk/cph/projektdb/ Dato: 08/09/14-21/09/14 Skole: Copenhagen Business Academy Klasse: Multimediedesigner - Mulb Gruppe: MULB1 Undervisere:
Læs mereSkriftlig eksamen i. Databaser. Vinter 2002/2003
Skriftlig eksamen i Databaser Vinter 2002/2003 Dette eksamenssæt består af 5 nummererede sider (incl. denne). Der er 5 opgaver, som ved bedømmelsen tillægges følgende vægte: Opgave 1: 15% Opgave 2: 30%
Læs mereData lagring. 2. iteration (implement backend)
Data lagring 2. iteration (implement backend) Emner Grundlæggende database begreber. Data definitionskommandoer ER-diagrammer og cardinalitet/relationer mellem tabeller Redundant data og Normalisering
Læs mereAfleveringsopgave. Efterår 2001
Datalogi Database-kurset Efterår 2001 Afleveringsopgave Baseret på opgavetekst forfattet af Troels Andreasen, forår 2001 Let redigeret af Henning Christiansen, oktober 2001 Aflevering Opgaven afleveres
Læs mereLæseplan for Efteråret 2015, Odense
Matematik-Økonomi, 1. semester Semestret starter tirsdag den 1. september 2015. For fag udbudt af Samfundsvidenskab gælder, at øvelserne starter efter, at første forelæsning har fundet sted, medmindre
Læs mereDB undervisning 01-01
Databaser... 2 Tabeller... 2 Redundans... 3 Første regel... 4 Anden regel... 4 Tredje regel... 5 Relationer... 5 Opskrift... 6 SQL sætninger til at oprette tabeller... 7 SQL sætninger til at indsætte data...
Læs mereManglende konsistens i datamodellen og upræcise SQLsætninger er årsagen til, at mange IT-systemer fejler.
Manglende konsistens i datamodellen og upræcise SQLsætninger er årsagen til, at mange IT-systemer fejler. Af Seniorkonsulent Carsten Saastamoinen-Jakobsen Skal datamodellen blot være på 3NF (normalform)?
Læs mereConceptual, logic, physical
Conceptual, logic, physical Conceptual er et billede af virkeligheden. Entity names og attributter relaterer til den faktiske verden. Physical er i SQL databasen, her skriver vi de navne på tabeller og
Læs mereTietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125
Tietgenskolen - Nørrehus Data warehouse Database for udviklere Thor Harloff Lynggaard DM08125 Juni 2010 Indhold Beskrivelse... 3 Data warehouse... 3 Generelt... 3 Sammenligning... 3 Gode sider ved DW...
Læs mereDatabasesystemer. IT Universitetet i København 8. juni 2006
Databasesystemer IT Universitetet i København 8. juni 2006 Eksamenssættet består af 5 opgaver med 16 spørgsmål, fordelt på 10 sider (inklusiv denne side), samt et svarark, hvorpå visse spørgsmål skal besvares.
Læs mereAbstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Læs mereIntroduktion til SQL
Introduktion til SQL Introduktion til SQL 1. udgave, 1. oplag 2013 Copyright 2013 Libris Media A/S Forfatter: Bobby Henningsen Forlagsredaktion: Peter Wiwe og Louise Peulicke Larsen Omslag: Louise Peulicke
Læs mere1. Basal select med (stjerne)
1. Basal select med (stjerne) 1. List alle øltyper. a. select * from oltyper 2. List alle bryggerier a. select * from bryggeri 3. List alle Danmarks postnumre samt tilhørende by, landsdel og antal indbyggere
Læs mereJAR Øvelse nr. 2. JAR-Manual, Version 1.0. Avanceret søgning. Regionsvejledning
JAR Øvelse nr. 2 Avanceret søgning Regionsvejledning JAR-Manual, Version 1.0 Øvelse ID: 2 Øvelsesemne: Avanceret søgning Øvelsesbeskrivelse: Gør dig i stand til at bygge avancerede søgninger op. Formål:
Læs mereØvelse 9. Klasser, objekter og sql-tabeller insert code here
Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til
Læs mereInformation Integration
Databaser, efterår 2002 Information Integration Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072
Læs mereDatabase. lv/
Database 1 Database Design Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management system) Et SW system der gør det muligt at definer, oprette og vedligeholde
Læs mereDIKUs Undervisningsudvalg. Vedr.: 41. møde den 1. november 2012. Sagsbehandler: Lisa Ibenfeldt Schultz
D A T A L O G I S K I N S T I T U T K Ø B E N H A V N S U N I V E R S I T ET DIKUs Undervisningsudvalg R E F E R A T 28. NOVEMBER 2012 Vedr.: 41. møde den 1. november 2012 DATALOGISK INSTITUT Sagsbehandler:
Læs mereVejledning i opdatering af vandindvindingsanlægsoplysninger
Vejledning i opdatering af vandindvindingsanlægsoplysninger Denne vejledning beskriver hvordan data trækkes ud af Jupiter når der skal sendes data til SKAT i forbindelse med indkrævningen af afgiften for
Læs mereHonda MaRIS Pay & Go. Politik for cookies og beskyttelse af personlige oplysninger
Honda MaRIS Pay & Go Politik for cookies og beskyttelse af personlige oplysninger Honda anerkender vigtigheden af retskaffen og ansvarlig brug af dine personlige oplysninger. Denne politik for cookies
Læs mereProjekt database. 3 Semester - Mul a Projekt 1. Yaser Osman cph-mo102@cphbusiness.dk. Dan Eskildsen cph-de32@cphbusiness.dk
Projekt database 3 Semester - Mul a Projekt 1 Yaser Osman cph-mo102@cphbusiness.dk Dan Eskildsen cph-de32@cphbusiness.dk Ammar Al-Basri cph-aa140@cphbusiness.dk Emre Kandemir cph-ek68@cphbusiness.dk Lotte
Læs mereDatamodeller. 1. Elementerne. Vi betragter E/R-diagrammet, som et diagram over entiteter og relationer Tegneregler: Entitet
Datamodeller I forlængelse af noten om normalisering, følges der her op med redskabet E/R-diagrammer til opstilling af en datamodel, opfat således dette som en alternativ metode mere end endnu et redskab
Læs mereDatabasesystemer, forår 2005 IT Universitetet i København. Forelæsning 3: E-R modellering. 17. februar 2005. Forelæser: Rasmus Pagh
Databasesystemer, forår 2005 IT Universitetet i København Forelæsning 3: E-R modellering 17. februar 2005 Forelæser: Rasmus Pagh Forelæsningen i dag Datamodellering hvad, hvornår, hvorfor og hvordan? Business
Læs mereOpgave 1 Basal select med (stjerne)
Opgave 1 Basal select med (stjerne) 1. List alle øltyper. 2. List alle bryggerier 3. List alle Danmarks postnumre samt tilhørende by, landsdel og antal indbyggere 4. BONUS: List alle ølmærker med alt deres
Læs mereDatabase "opbygning"
Database "opbygning" Dette områder falder mest under en DBA's ansvarsområde. Det kan sagtens tænkes at en database udvikler i nogle situationer vil blive nød til at oprette produktions og test) databaser,
Læs mereDatabase for udviklere. Jan Lund Madsen PBS10107
Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated
Læs mereEksamen, DSDS, efterår 2008
Eksamen, DSDS, efterår 2008 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 6. januar 2009 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.
Læs mereKom godt i gang med. Nem Konto. Vejledning til sagsbehandlere. NemKonto hører under Økonomistyrelsen
Kom godt i gang med Nem Konto Vejledning til sagsbehandlere NemKonto hører under Økonomistyrelsen Indholdsfortegnelse 1 Introduktion... 2 2 Sådan bruger du NemKonto... 3 2.1 Log på NemKonto... 3 2.2 Signering
Læs mereDet Fælles Medicinkort. Godkendelseskriterier for version 1.2.6
Det Fælles Medicinkort Godkendelseskriterier for version 1.2.6 2012-07-01 Det Fælles Medicinkort - Godkendelseskriterier for version 1.2.6 Formål Dette dokument beskriver de kriterier, et system skal overholde,
Læs mereKursus/workshop: SQL
Kursus/workshop: SQL En workshop - med fokus på workshop. En workshop arrangeret af PROSA Palle Nygaard Hansen Frank Jensen Indledning Gennemgang af alle basale SQL-sætninger Forløb for alle 3 aftener:
Læs mereELEKTRONISK INDBERETNING POST 23/8 2007 VERSION 1.13
ELEKTRONISK INDBERETNING POST 23/8 2007 VERSION 1.13 Indhold Indhold... 2 Introduktion... 3 dk.hob.ei.general.plugin... 4 Metoder... 4 GetPrivateMail... 4 GetPrivateMailNext... 7 DeletePrivateMailEx...
Læs mereIndberetningsstruktur for Elevplanindberetning
Indberetningsstruktur for Elevplanindberetning Dato 20-01-2016 Version Status 0.9 Foreløbig udgave Ansvarlig Egon Thor Hansen Side 2 af 15 Ændringshistorik Version Kapitel/afsnit Beskrivelse 0.9 Dokumentet.
Læs mereREFERAT AF MØDE I FAGLIG FØLGEGRUPPE FOR GERDA
REFERAT AF MØDE I FAGLIG FØLGEGRUPPE FOR GERDA Tid: Onsdag d. 6. maj Sted: Geologisk Institut, Aarhus Universitet. C.F. Møllers Allé 4, 8000 Aarhus C Deltagere: Ulrich Jacobsen, Orbicon Søren Bjørn, Alectia
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Introduktion til kurset Rolf Fagerberg Forår 2019 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, Institut for Matematik og Datalogi (IMADA) Forskningsområde: algoritmer
Læs mereAppendix C - Databeskrivelse
Appendix C - Databeskrivelse D1: Entitet: Person En Person repræsenterer en borger, som anvender systemet. En Person har ved oprettelsen ingen Barselsforløb og orlovsperioder, men kan generelt have flere
Læs mereDatabase-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form
Database-sproget SQL SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form SELECT A1,, Ar FROM R1,, Rk WHERE B med attributter A1,, Ar relationer R1,, Rk betingelse B (logisk
Læs mereSundhedsvæsenets Organisationsregister (SOR) Regler i relation til Sygehus-afdelinger
Sundhedsvæsenets Organisationsregister (SOR) Regler i relation til Sygehus-afdelinger Indhold 1 SghAfd-regler 2 1.1 Grundlæggende funktionalitet i SOR-applikationen 2 1.2 Anvendt terminologi 3 1.3 Regler
Læs mereProduktdokumentation
DATABASETIL WEBSITET WWW.SKOERT.DK... 2 BESKRIVELSE OG KATEGORISERIG:...2 ER DIAGRA SKITSER...4 ER diagram nr 1 for hele databasen... 4 Erdiagramskite 2 alternativ løsning til børn... 4 Erdiagramskite
Læs mereDDElibra Håndbog DDElibra GO
DDElibra DDElibra GO Axiell Danmark A/S 2016-06-03 Version 9.11.50 Copyright 2016 1 DDElibra GO - dynamiske lister præsenteret på tablet... 3 2 Sådan bruger personalet løsningen... 4 2.1 Login... 4 2.2
Læs mereProgram Dokumentation PC Software Skrevet af. Gruppen. Version 1.0
Program Dokumentation PC Software Skrevet af Gruppen. Version 1.0 Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL...3 1.2. REFERENCER...3 1.3. VERSIONSHISTORIE...3 1.4. DEFINITIONER...3 1.5. DOKUMENTATIONENS
Læs mereDatabasesystemer, forår 2006 IT Universitetet i København. Forelæsning 3: E-R modellering. 16. februar 2006. Forelæser: Rasmus Pagh
Databasesystemer, forår 2006 IT Universitetet i København Forelæsning 3: E-R modellering 16. februar 2006 Forelæser: Rasmus Pagh Forelæsningen i dag Datamodellering hvad, hvorfor og hvordan? Business rules
Læs mereData Warehouse Knowledge is Power - Sir Francis Bacon -
Data Warehouse 4. sem. datamatiker uddannelse Tietgen Skolen Odense Skrevet af Troels Markvard Andersen (DM08228) Knowledge is Power - Sir Francis Bacon - Troels Markvard Andersen Side 1 af 8 Forord /
Læs mereDATABASE - MIN MUSIKSAMLING
DATABASE - MIN MUSIKSAMLING I dette forløb skulle vi lære om databaser, som bruger sproget SQL. SQL står for Structured Query Language. Det bruges til at vise og manipulere data, gemt i en database. I
Læs mereFå sin querystring til at fungere. (Nybegyndere)
Denne guide er oprindeligt udgivet på Eksperten.dk Få sin querystring til at fungere. (Nybegyndere) Artikelen henvender sig til nybegyndere der har problemer med at få sin querystring til at fungere (Access/ASP).
Læs mereSTS Driftsvejledning. STS Driftsvejledning
STS Driftsvejledning i STS Driftsvejledning STS Driftsvejledning ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME 0.1 2012-11 HT STS Driftsvejledning iii Indhold 1 Introduktion 1 2 Konfigurations opdateringer
Læs mereAnsættelse af ny medarbejder - Månedsløn
Vejledning HR-centret 13.10.2014 Ansættelse af ny medarbejder - Månedsløn Ansættelse af fast medarbejder både indenfor og udenfor overenskomst og forhåndsaftale. Med indenfor overenskomst og forhåndsaftale
Læs mere1 Brug af snitfladebeskrivelsen... 2. 2 Formål og beskrivelse... 2. 2.1 Hvad er formålet med snitfladen?... 2. 2.2 Beskrivelse af snitfladen...
AUB - Indberet skoleophold(al8) Indholdsfortegnelse Indholdsfortegnelse 1 Brug snitfladebeskrivelsen... 2 2 Formål og beskrivelse... 2 2.1 Hvad er formålet med snitfladen?... 2 2.2 Beskrivelse snitfladen...
Læs mereProjekt Database, Gruppe 4A. Projekt 1, 3. Semester D A T A B A S E. Klasse MulA13 Gruppenummer: A4
Projekt Database, Gruppe 4A 0 Projekt 1, 3. Semester D A T A B A S E Klasse MulA13 Gruppenummer: A4 Projekt Database, Gruppe 4A 1 Fakta-ark Klasse MulA13, Gruppenummer: A4 Gruppemedlemmer: Amalie Ardahl
Læs mere3. semester, 2. projekt: Database
3. semester, 2. projekt: Database MulA - Gruppe 1 7. september 2015-20. september 2015 Vejledere - IRF / TUJE FAKTAARK PROJEKTTITEL Database URL http://moodings.com Mette Line Tarp Jørgensen Email cph-mj420@cphbusiness.dk
Læs mereDatabaser. Område / Specialefag nr. 6238 Database, design og programmering 44954. Datatekniker Infra & Prog IT-Supporter AMU Kursister
Databaser Område / Specialefag nr. 6238 Database, design og programmering 44954 Datatekniker Infra & Prog IT-Supporter AMU Kursister Fagligt indhold Link til faget på mars.tekkom.dk Link til faget på iu.amukurs.dk
Læs mereMålet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.
Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål
Læs mere