Løsningsforlag for oblig 1, databaser 2010

Størrelse: px
Begynne med side:

Download "Løsningsforlag for oblig 1, databaser 2010"

Transkript

1 Løsningsforlag for oblig 1, databaser 2010 Oppgave 1 a) Hvilke supernøkler finnes i de to tabellene? Tabellen klasse har følgende supernøkler: (klasseid, klassebetegnelse) (klasseid) Tabellen renndeltager har følgende supernøkler: (startnr, fornavn, etternavn, personnr, klasseid) (startnr, fornavn, etternavn, personnr) (startnr, fornavn, etternavn) (startnr, fornavn) (startnr, etternavn) (startnr, personnr) (startnr, klasseid) (startnr) (fornavn, etternavn, personnr, klasseid) (fornavn, etternavn, personnr) (fornavn, personnr) (personnr) ++ så lenge de fortsatt er unike (dvs inneholder en potensiell kandidatnøkkel) kan man holde på nærmest i det uendelige b) Hvilke kandidatnøkler finnes i de to tabellene? Tabellen klasse har følgende kandidatnøkler: (klasseid) Tabellen renndeltager har følgende kandidatnøkler: (startnr) (personnr)

2 c) Hvilke primærnøkler finnes i de to tabellene? Primærnøkkel velges utfra de tilgjengelige kandidatnøklene. Tabellen klasse har primærnøkkelen (klasseid) For tabellen renndeltager er det like riktig å si at primærnøkkelen er (startnr) som at den er (personnr), men det er viktig å merke seg at begge ikke kan være primærnøkkel samtidig. d) Hvilke fremmednøkler finnes i de to tabellene? I denne oppgaven er det bare en fremmednøkkel, og dette ligger i tabellen renndeltager: (klasseid) e) Hvilke entitetstyper finnes? klasse og renndeltager f) Hvilke entiteter finnes i de to tabellene? I tabellen klasse finnes følgende entiteter: 1, 'K20-25' 2, 'K25-30' 3, 'K20-25' 4, 'K25-30' I tabellen renndeltager finnes følgende entiteter: 1, 'Anne', 'Jensen', ' ', 1 2, 'Anders', 'Olsen', ' ', 3 3, 'Per', 'Hansen', ' ', 3 4, 'Kurt', 'Iversen', ' , 4 5, 'Eva', 'Adamsen', ' ', 1 6, 'Inger', 'Jensen', ' ', 2 7, 'Per', 'Olsen', ' ', 4 g) Hvilke attributter har de to tabellene?

3 I tabellen klasse finnes følgende attributter: klasseid klassebetegnelse I tabellen renndeltager finnes følgende attributter: startnr fornavn etternavn personnr klasseid Oppgave 2 a) Skole Skoleansatt Elev Klasse Poststed skolenavn skole elev_id skole postnr adresse ansattnr fornavn klasse poststed postnr fornavn etternavn klassestyrer telefonnr etternavn skole rektor kontornr klasse interntelefonnr b) Dataene kan kobles sammen ved hjelp av fremmednøkler: postnr i Skole til postnr i Poststed (skolenavn, rektor) i Skole til (skole, ansattnr) i Skoleansatt skole i Skoleansatt til skolenavn i Skole (skole, klasse) i Elev til (skole, klasse) i Klasse skole i Klasse til skolenavn i Skole (skole, klassestyrer) i Klasse til (skole, ansattnr) Merk! En skole har gjerne mer enn bare en rektor og flere lærere. I et "virkelig" system ville det vært hensiktsmessig å ha med en tabell AnsattType der for eksempel rektor, inspektør, rådgiver, lærer osv kan lagres. Hvis en ansatt kan ha flere roller (for eksempel både lærer og rektor), må man ha en egen tabell for å lagre ansattforholdene.

4 Oppgave 3 a) S U O = {1,2,3,4,5,6,7,8,9,10,'a','b','c','d','e','f','g','h','i'} U {2,4,6,8,10,12,14,16,18,20,'c','g','i'} = {1,2,3,4,5,6,7,8,9,10,'a','b','c','d','e','f','g','h','i',12,14,16,18,20} b) S U L = {1,2,3,4,5,6,7,8,9,10,'a','b','c','d','e','f','g','h','i'} U {1,3,5,7,9,11,13,15,17,19,'a','e','i','o','u','y','æ','ø','å'} = {1,2,3,4,5,6,7,8,9,10,'a','b','c','d','e','f','g','h','i',11,13,15,17,19,'o','u','y','æ','ø','å'} c) S O = {1,2,3,4,5,6,7,8,9,10,'a','b','c','d','e','f','g','h','i'} {2,4,6,8,10,12,14,16,18,20,'c','g','i'} = {2,4,6,8,10,'c','g','i'} d) L A = {1,3,5,7,9,11,13,15,17,19,'a','e','i','o','u','y','æ','ø','å'} {10,11,12,13,14,15,16,17,18,19,20} = {11,13,15,17,19} e) A L = {10,11,12,13,14,15,16,17,18,19,20} {1,3,5,7,9,11,13,15,17,19,'a','e','i','o','u','y','æ','ø','å'} = {11,13,15,17,19} f) L \ S = {1,3,5,7,9,11,13,15,17,19,'a','e','i','o','u','y','æ','ø','å'} \ {1,2,3,4,5,6,7,8,9,10,'a','b','c','d','e','f','g','h','i'} = {11,13,15,17,19,'o','u','y','æ','ø','å'} g) S \ L = {1,2,3,4,5,6,7,8,9,10,'a','b','c','d','e','f','g','h','i'} \ {1,3,5,7,9,11,13,15,17,19,'a','e','i','o','u','y','æ','ø','å'} = {2,4,6,8,10,'b','c','d','f','g','h'} h) (S L) \ O = ({1,2,3,4,5,6,7,8,9,10,'a','b','c','d','e','f','g','h','i'} {1,3,5,7,9,11,13,15,17,19,'a','e','i','o','u','y','æ','ø','å'}) \ {2,4,6,8,10,12,14,16,18,20,'c','g','i'} = {1,3,5,7,9,'a','e','i'} \ {2,4,6,8,10,12,14,16,18,20,'c','g','i'} = {1,3,5,7,9,'a','e'}

5 Oppgave 4 a)

6 b)

7 c) Oppgave 5 a) Dette skal gå uten feilmeldinger b) Dette skal gå uten feilmeldinger c) SELECT * FROM sykehus; Antall rader: 16 Antall kolonner: 7

8 forkortelse navn region adresse postnr telefon_sentralbord ant_ansatte AHUS Akershus universitetssykehus HF Helse Sør-Øst Sykehusgata OSLO Oslo universitetssykehus HF Helse Sør-Øst Sykehusgata SIV Sykehuset i Vestfold HF Helse Sør-Øst Sykehusgata SIHF Sykehuset Innlandet HF Helse Sør-Øst Sykehusgata STHF Sykehuset Telemark HF Helse Sør-Øst Sykehusveien d) SELECT navn, region FROM sykehus; Antall rader: 16 Antall kolonner: 2 navn region Akershus universitetssykehus HF Helse Sør-Øst Oslo universitetssykehus HF Helse Sør-Øst Sykehuset i Vestfold HF Helse Sør-Øst Sykehuset Innlandet HF Helse Sør-Øst Sykehuset Telemark HF Helse Sør-Øst e) SELECT DISTINCT region FROM sykehus; NB! Her skal det IKKE brukes GROUP BY! Antall rader: 4 Antall kolonner: 1 region Helse Midt-Norge Helse Nord Helse Sør-Øst Helse Vest f) SELECT navn FROM sykehus WHERE region = 'Helse Vest'; Antall rader: 5 Antall kolonner: 1

9 navn Haukeland universitetssjukehus Odda sjukehus Stavanger universitetssjukehus Førde Sentralsjukehus Lærdal Sjukehus g) SELECT * FROM sykehus WHERE ant_ansatte <> 2845; eller SELECT * FROM sykehus WHERE ant_ansatte!= 2845; Antall rader: 15 Antall kolonner: 7 postnr telefon_sentralbord ant_ansatte AHUS Akershus universitetssykehus HF Helse Sør-Øst Sykehusgata OSLO Oslo universitetssykehus HF Helse Sør-Øst Sykehusgata SIV Sykehuset i Vestfold HF Helse Sør-Øst Sykehusgata SIHF Sykehuset Innlandet HF Helse Sør-Øst Sykehusgata STHF Sykehuset Telemark HF Helse Sør-Øst Sykehusveien h) SELECT navn, region, adresse FROM sykehus WHERE adresse LIKE 'Sykehusveien%'; Antall rader: 6 Antall kolonner: 3

10 navn region adresse Sykehuset Telemark HF Helse Sør-Øst Sykehusveien 5 Sykehuset Østfold HF Helse Sør-Øst Sykehusveien 6 Sørlandet sykehus Helse Sør-Øst Sykehusveien 7 Stavanger universitetssjukehus Helse Vest Sykehusveien 20 Sykehuset Namsos Helse Midt-Norge Sykehusveien 8 i) SELECT navn, region, adresse FROM sykehus WHERE adresse NOT LIKE 'Sykehusveien%'; eller SELECT navn, region, adresse FROM sykehus WHERE NOT adresse LIKE 'Sykehusveien%'; Antall rader: 10 Antall kolonner: 3 navn region adresse Akershus universitetssykehus HF Helse Sør-Øst Sykehusgata 1 Oslo universitetssykehus HF Helse Sør-Øst Sykehusgata 2 Sykehuset i Vestfold HF Helse Sør-Øst Sykehusgata 3 Sykehuset Innlandet HF Helse Sør-Øst Sykehusgata 4 Haukeland universitetssjukehus Helse Vest Sjukehusvegen 65 Oppgave 6 a) Feltet navn kan splittes opp i følgende felter: fornavn, etternavn fornavn, mellomnavn, etternavn b) navn kan splittes opp i fornavn og etternavn, eller i fornavn, mellomnavn og etternavn taxi kan splittes opp i Merke (Ford), modell (Mondeo 2.0D) og årsmodell (1999) turdatoogtid kan splittes opp i turtid_fra og turtid_til, evt kan man splitte i fire slik at man i tillegg får turdato_fra og turdato_til

11 turstartsted og turstoppsted kan stå som det er, eller splittes opp i gatenavn og husnummer c) CREATE TABLE eier( eierid INT NOT NULL, navn VARCHAR(50), PRIMARY KEY(eierid) ); CREATE TABLE video( videoid INT NOT NULL, navn VARCHAR(50), sjanger VARCHAR(25), PRIMARY KEY(videoid) ); CREATE TABLE videoeierskap( eierid INT NOT NULL, videoid INT NOT NULL, PRIMARY KEY(eierid, videoid), FOREIGN KEY (eierid) references eier, FOREIGN KEY (videoid) references video ); d) INSERT INTO eier VALUES(1, 'Per'); INSERT INTO eier VALUES(2, 'Anne'); INSERT INTO eier VALUES(3, 'Ola'); INSERT INTO eier VALUES(4, 'Kjersti'); INSERT INTO video VALUES(1, 'Dirty Dancing', 'Familie'); INSERT INTO video VALUES(2, 'Rambo', 'Action'); INSERT INTO video VALUES(3, 'Politiskolen 1', 'Komedie'); INSERT INTO videoeierskap VALUES(1, 1);

12 INSERT INTO videoeierskap VALUES(1, 2); INSERT INTO videoeierskap VALUES(2, 3); INSERT INTO videoeierskap VALUES(3, 2); INSERT INTO videoeierskap VALUES(4, 1); e) UPDATE video SET sjanger = 'Romantisk komedie' WHERE navn = 'Dirty Dancing'; f) Problemer som kan oppstå når to personer skal bytte filmer: Når man har kjørt den første delen av oppdateringen, så vil den ene personen eie begges filmer, og man har ikke lenger noen oversikt over hvem som eide hva i utgangspunktet. Forslag til UPDATE-setninger: UPDATE videoeierskap SET eierid = 2 WHERE eierid = 3; UPDATE videoeierskap SET eierid = 3 WHERE videoid = 3 AND eierid = 2; Oppgave 7 a) Dette skal gå greit uten feilmeldinger, slik: For MySQL: mysql -u elinkaan_v11 -p -D elinkaan_v11 \. landskoder-create.sql \. mysql-24timerlop07-10-create.sql For PostgresSQL: psql -f landskoder-create.sql -d elinkaan_v11 -U elinkaan psql -f psql-24timerlop07-10-create.sql -d elinkaan_v11 -U elinkaan b) Dette skal gå greit uten feilmeldinger, slik: For MySQL: mysql -u elinkaan_v11 -p -D elinkaan_v11 \. mysql-landskoder-utf8.sql \. mysql-24timerlop07-10-utf8.sql

13 For PostgreSQL: psql -f psql-landskoder-utf8.sql -d elinkaan_v11 -U elinkaan psql -f psql-24timerlop07-10-utf8.sql -d elinkaan_v11 -U elinkaan c) SELECT COUNT(*) ; Antall rader: 1 Antall kolonner: 1 count d) SELECT distanse_km, fornavn, etternavn, dato, arrsted, arrland WHERE distanse_km BETWEEN 200 AND 210; Antall rader: 594 Antall kolonner: 6 distanse_km fornavn etternavn dato arrsted arrland Angel Marcos de la Mata Garcia Barcelona ESP Maurice Chenais Sene FRA Olivier Lhuillery Arcueil FRA 206 Vasilij Emanov St. Petersburg RUS Christian Fournier Montigny-en-Gohelle FRA e) SELECT distanse_km, fornavn, etternavn, dato, arrsted, arrland WHERE distanse_km >= 200 AND distanse_km <= 210; Antall rader: 594 Antall kolonner: 6

14 distanse_km fornavn etternavn dato arrsted arrland Angel Marcos de la Mata Garcia Barcelona ESP Maurice Chenais Sene FRA Olivier Lhuillery Arcueil FRA 206 Vasilij Emanov St. Petersburg RUS Christian Fournier Montigny-en-Gohelle FRA f) SELECT DISTINCT fornavn, etternavn WHERE nasjonalitet IN (SELECT landskode FROM landskode WHERE landsnavn = 'Norge') ORDER BY etternavn ASC; (i dette tilfellet kan vi evt bruke = istedenfor IN siden vi vet at subquery-en kun returnerer ett svar, men i teorien kunne et landsnavn hatt to landskoder) eller SELECT DISTINCT fornavn, etternavn WHERE nasjonalitet = 'NOR' ORDER BY etternavn ASC; eller SELECT DISTINCT fornavn, etternavn, landskode WHERE nasjonalitet = landskode AND landsnavn = 'Norge' ORDER BY etternavn ASC; Antall rader: 73 Antall kolonner: 2 fornavn etternavn Henrik Aasbø Ulf Aas Hansen Øistein Ackenhausen Mujtaba Ahmad

15 Rune Akselsen g) SELECT DISTINCT fornavn, etternavn, fodt_aar WHERE nasjonalitet IN (SELECT landskode FROM landskode WHERE landsnavn = 'USA') ORDER BY fornavn DESC; eller SELECT DISTINCT fornavn, etternavn, fodt_aar WHERE nasjonalitet = 'USA' ORDER BY fornavn DESC; eller SELECT DISTINCT fornavn, etternavn, fodt_aar, landskode WHERE nasjonalitet = landskode AND landsnavn = 'USA' ORDER BY fornavn DESC; Antall rader: 1274 Antall kolonner: 3 fornavn etternavn fodt_aar Zeb Gray Zachary Lewis 1977 Zach Gingerich 1979 Zach Pierce 1973 Yen Nguyen 1962 h) SELECT fornavn, etternavn, nasjonalitet, distanse_km * 1000 AS "Distanse i meter" WHERE

16 EXTRACT(year FROM dato) = 2010 AND distanse_km = (SELECT MAX(distanse_km) WHERE EXTRACT(year FROM dato) = 2010 ); evt. kan også funksjonen date_part brukes i PostgreSQL, slik: SELECT fornavn, etternavn, nasjonalitet, distanse_km * 1000 AS "Distanse i meter" WHERE DATE_PART('year', dato) = 2010 AND distanse_km = (SELECT MAX(distanse_km) WHERE DATE_PART('year', dato) = 2010 ); Antall rader: 1 Antall kolonner: 4 fornavn etternavn nasjonalitet Distanse i meter Shingo Inoue JPN i) SELECT landsnavn FROM landskode WHERE landsnavn NOT LIKE 'S%'; eller SELECT landsnavn FROM landskode WHERE NOT landsnavn LIKE 'S%'; Antall rader: 53 Antall kolonner: 1 landsnavn Korea Russland Frankrike Italia Tjekkia

17 j) SELECT fornavn, etternavn WHERE nasjonalitet = 'MLI' OR nasjonalitet = 'RSA' OR nasjonalitet = 'MEX'; Antall rader: 15 Antall kolonner: 2 fornavn etternavn Juan Antonio Bravo Ramirez Eric Wright Jesus Gonzalez Hernandez Bougary (Doudou) Coulibaly Jose Roberto Espino Balderas k) SELECT fornavn, etternavn WHERE nasjonalitet IN( SELECT landskode FROM landskode WHERE landskode = 'MLI' OR landskode = 'RSA' OR landskode = 'MEX'); Antall rader: 15 Antall kolonner: 2 fornavn etternavn Juan Antonio Bravo Ramirez Eric Wright Jesus Gonzalez Hernandez Bougary (Doudou) Coulibaly Jose Roberto Espino Balderas l) = brukes for å sammeligne faste tekststrenger (for eksempel 'Norge'), mens LIKE brukes for å sammenligne tekststrenger der deler av teksten er ukjent (for eksempel 'Nor%' for ord som starter med Nor og der det kommer noe mer etterpå.) m) MySQL: \h, \? og help kan brukes om hverandre i MySQL alle disse tre brukes for å få hjelp med mysql-operasjoner (for eksempel hvordan bytte database, endre passord, liste tabeller osv)

18 help contents brukes for å skaffe en oversikt over hva man kan spørre om (for eksempel help comparison operators) PostgreSQL: \h brukes for å få opp hjelp med SQL-kommandoer \? brukes for å få hjelp med psql-operasjoner (for eksempel hvordan bytte database, endre passord, liste tabeller osv) n) MySQL: SHOW tables; PostgreSQL: \dt o) SELECT DISTINCT nasjonalitet WHERE distanse_km > 200 AND EXTRACT(year FROM dato) = 2007 ORDER BY nasjonalitet ASC; Antall rader: 32 Antall kolonner: 1 nasjonalitet ARG AUS AUT BEL BRA p) SELECT DISTINCT fornavn, etternavn, nasjonalitet WHERE fodt_aar IS NULL; Antall rader: 925 Antall kolonner: 3

19 fornavn etternavn nasjonalitet Adair Goncalvez Silva BRA Adao Miranda da Silva BRA Adolfo Eguilar ESP Adrian McDermott GBR Adriano da Costa Antunes BRA q) SELECT COUNT(*) WHERE fodt_aar IS NOT NULL; eller SELECT COUNT(*) WHERE NOT fodt_aar IS NULL; Antall rader: 1 Antall kolonner: 1 count Oppgave 8 a) Feil: Det mangler informasjon om hvilken tabell data skal hentes fra Riktig setning: SELECT fornavn WHERE nasjonalitet = NOR ; b) Feil: Det mangler semikolon på slutten av spørringen Riktig setning: SELECT etternavn WHERE fornavn = Per ;

20 c) Feil: NOT kan ikke stå alene foran en subquery. Det riktige er NOT IN. I tillegg er det en feil inne i subqueryen. Man kan ikke ha et uttrykk a'la x=3 inne i en SELECT; til dette formålet har man WHERE. Man kan heller ikke bruke = når man skal teste på et uttrykk (til forskjell fra en fast tekststreng); da bruker man LIKE. Ukjent tegn i en tekststreng er heller ikke *, men %. Riktig setning: SELECT fornavn, etternavn WHERE nasjonalitet NOT IN (SELECT landskode FROM landskode WHERE landsnavn LIKE 'K%'); d) Feil: Man kan ikke bruke AND når man skal liste opp hvilke kolonner som skal være med i en SELECT I tillegg finnes det ikke noen kolonne som heter arrnavn. Er det landet man er ute etter kanskje? Riktig setning: SELECT arrsted, arrland ; e) SELECT AVG(nasjonalitet) ; Feil: Man kan ikke beregne gjennomsnitt av en tekststreng. Riktig setning: Her er det umulig å vite hva som egentlig var ønskelig, så det finnes ingen riktig setning. Kort oppsummert Man skal ikke bruke LIKE til annet enn testing av tekststrenger! For datoer, tall og andre udde datatyper har man egne funksjoner for testing av deler av verdien LIKE og = skal ikke brukes om hverandre. = brukes ved testing av faste strenger, for eksempel 'Per', mens LIKE brukes der deler av strengen er ukjent, også kjent som regulæruttrykk, for eksempel 'Pe%'. Det motsatte av LIKE og = er NOT LIKE og <> (evt!=). DISTINCT og GROUP BY er ikke det samme! DISTINCT brukes når man skal returnere unike rader, for eksempel i tilfeller der hvert fornavn kun skal listes opp en gang. GROUP BY brukes kun i forbindelse med agreggeringsfunksjoner som MAX, MIN, COUNT,... Når vi skal teste på om en verdi er NULL skal vi bruke uttrykket IS NULL, aldri = NULL eller LIKE NULL.

Oblig 1 Databaser vår 2011

Oblig 1 Databaser vår 2011 Oblig 1 Databaser vår 2011 Dette arbeidskravet tester primærkunnskaper i faget, og det er her grunnlaget for videre framgang i kurset legges. Oppgaven leveres individuelt på Fronter. Får du problemer med

Detaljer

Repetisjon: Normalformer og SQL

Repetisjon: Normalformer og SQL IN2090 databaser og datamodellering Repetisjon: Normalformer og SQL Mathias Stang og Stein Michael Storleer 21. november 2018 1 Agenda Normalformer Funksjonelle avhengigheter Nøkler Finne hvilke normalformer

Detaljer

Løsningsforlag for oblig 2, databaser 2010

Løsningsforlag for oblig 2, databaser 2010 Løsningsforlag for oblig 2, databaser 2010 Oppgave 1 a) Det kan være flere hytteeiere med samme navn, så dette vil ikke være være noen god identifikator for hytteeiere. Kombinasjon eier og hjemadresse

Detaljer

Oppgaver Oppgave a: Sett opp mulige relasjoner

Oppgaver Oppgave a: Sett opp mulige relasjoner Løsningsforslag til øving 4: Relasjonsmodellen Kjell Toft Hansen 18.09.2008 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1: databaser Oppgaver Oppgave a: Sett opp

Detaljer

Oppgave 1 1. Spørring: Resultattabell: 2. Spørring: Resultattabell: 3. Spørring:

Oppgave 1 1. Spørring: Resultattabell: 2. Spørring: Resultattabell: 3. Spørring: Kjell Toft Hansen 02.10.2008 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1: databaser Oppgave 1 1. Spørring: SELECT oh.*, delnr, kvantum FROM ordrehode oh, ordredetalj

Detaljer

Oppgave 1 (Opprett en database og en tabell)

Oppgave 1 (Opprett en database og en tabell) Oppgave 1 (Opprett en database og en tabell) 1) I «Object Explorer» (i «SQL Server Management Studio»), høyreklikk over Databases : 1 2 2) Skriv så databasenavnet og klikk OK: 3) Plasser så kursoren på

Detaljer

1. SQL datadefinisjon og manipulering

1. SQL datadefinisjon og manipulering Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL datadefinisjon og manipulering Tore Mallaug 7.10.2008 Lærestoffet er utviklet for faget Databaser 1. SQL datadefinisjon og manipulering

Detaljer

Databaser: Relasjonsmodellen, del I

Databaser: Relasjonsmodellen, del I LC238D http://www.aitel.hist.no/fag/_dmdb/ Databaser: Relasjonsmodellen, del I En relasjon er en matematisk mengde side 2 Egenskaper ved relasjoner side 3 Entitetsintegritet side 4-5 Referanseintegritet

Detaljer

Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember :30 18:30 (4 timer)

Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember :30 18:30 (4 timer) Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember 2018 14:30 18:30 (4 timer) 1. Eksterne skranker (5%) I modellene nedenfor (ORM2) skal

Detaljer

Datamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2

Datamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side 15-16 INSERT-setningen side 17 DELETE-setningen side

Detaljer

Sensorveiledning for IN2090 og INF desember :30 18:30 (4 timer)

Sensorveiledning for IN2090 og INF desember :30 18:30 (4 timer) Sensorveiledning for IN2090 og INF1300 6. desember 2018 14:30 18:30 (4 timer) 1. Eksterne skranker (5%) I modellene nedenfor (ORM2) skal du anta at alle begreper har en unik representasjon. Er plasseringen

Detaljer

Datamodellering og databaser SQL, del 2

Datamodellering og databaser  SQL, del 2 http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side 15-16 INSERT-setningen side 17 DELETE-setningen side

Detaljer

Databaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen

Databaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen Databaser Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen Tema for dagen Relasjonsmodellen Hvorfor relasjoner? Fra ER diagram til relasjoner 22.09.2008

Detaljer

Datamodellering og databaser SQL, del 2

Datamodellering og databaser  SQL, del 2 http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side 15-16 INSERT-setningen side 17 DELETE-setningen side

Detaljer

EKSAMEN 6102 / 6102N DATABASER

EKSAMEN 6102 / 6102N DATABASER EKSAMEN 6102 / 6102N DATABASER 06.12.2016 Tid: 4 timer (10-14) Målform: Sidetall: Hjelpemidler: Merknader: Vedlegg: Bokmål / nynorsk 13 (inkludert denne) Ingen Ingen Eksempeltabeller Sensuren finner du

Detaljer

Integritetsregler i SQL. Primærnøkler

Integritetsregler i SQL. Primærnøkler Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler skranker på attributter og tupler Interrelasjonsskranker assertions Triggere INF212

Detaljer

1. Innføring i bruk av MySQL Query Browser

1. Innføring i bruk av MySQL Query Browser Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Innføring i bruk av MySQL Query Browser Kjell Toft Hansen 28.02.2007 Lærestoffet er utviklet for faget LV338D Databaseadministrasjon 1. Innføring

Detaljer

Integritetsregler i SQL

Integritetsregler i SQL UNIVERSITETET I OSLO Integritetsregler i SQL INF3100 8.2.2005 Ragnar Normann 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler

Detaljer

SQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data

SQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data SQL Structured Query Language Definere tabeller Skranker Fylle tabeller med data Lage en tabell med SQL create table R (A 1 D 1 [S 1 ],... A n D n [S n ], [liste av skranker] R er navnet på relasjonen/tabellen

Detaljer

SQL 3: Opprette tabeller, datainnsetting og utsnitt

SQL 3: Opprette tabeller, datainnsetting og utsnitt SQL 3: Opprette tabeller, datainnsetting og utsnitt Læreboka kap. 4 03.11.2008 Kjell Toft Hansen 1 Datainnsetting Legg til en ny leverandor i tabellen leverandor INSERT INTO leverandor (lev_nr, lev_navn,

Detaljer

En lett innføring i foreninger (JOINs) i SQL

En lett innføring i foreninger (JOINs) i SQL En lett innføring i foreninger (JOINs) i SQL Noen ord om forening (JOIN)! 2 JOINs til gjennomgang! 3 1. INNER JOIN! 3 Eksempel på [INNER] JOIN! 4 NATURAL JOIN! 5 Eksempel på NATURAL JOIN! 5 2. LEFT [OUTER]

Detaljer

Institutt for datateknikk. Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL

Institutt for datateknikk. Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL NTNU Norges teknisk-naturvitenskapelige Universitet Institutt for datateknikk og informasjonsvitenskap Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL Side 1

Detaljer

Øvingsoppgave uke 3. Fanger i fengsel

Øvingsoppgave uke 3. Fanger i fengsel Øvingsoppgave uke 3 Fanger i fengsel I enden av Justisveien i Berg, ikke langt fra svenskegrensa ligger Halden Fengsel. Fengselet har flere celler med plass til fanger. En database er opprettet for å lagre

Detaljer

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language Mer SQL: kandidat-, primær- og fremmednøkler Definere tabeller med integritetsregler Hente data fra tabeller select-from-where distinct order by Eksempler kjøres i PostgreSQL

Detaljer

INF1300 SQL Structured Query Language del 1. Stoff som blir/ble forelest i oktober 2013

INF1300 SQL Structured Query Language del 1. Stoff som blir/ble forelest i oktober 2013 INF1300 SQL Structured Query Language del 1 Stoff som blir/ble forelest i oktober 2013 Dagens tema SQLs definisjonsspråk SQLs spørrespråk select-from-where distinct order by SQLs manipulasjonsspråk Indekser

Detaljer

MySQL-database, php. Innhold. 8 MySQL-database, php. 8.1 Databasen MySQL

MySQL-database, php. Innhold. 8 MySQL-database, php. 8.1 Databasen MySQL Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Helge Hafting 16.10.2007 Lærestoffet er utviklet for faget LV476D/LN476D Linux systemdrift Innhold 8 1 8.1 Databasen MySQL.............................

Detaljer

INF1300 Introduksjon til databaser: SQL Structured Query Language. En første introduksjon Lysark til forelesning mandag 14.

INF1300 Introduksjon til databaser: SQL Structured Query Language. En første introduksjon Lysark til forelesning mandag 14. INF1300 Introduksjon til databaser: SQL Structured Query Language En første introduksjon Lysark til forelesning mandag 14. september 2009 Dagens tema SQLs definisjonsspråk SQLs spørrespråk select-from-where

Detaljer

Miniverden og ER- modell

Miniverden og ER- modell TDT4145 Datamodellering og databasesystemer SQL- oppgave 1 Miniverden og ER- modell Vi tar utgangspunkt i en enkel modell for en pizza- restaurant, der følgende ER- diagram beskriver databasen: Relasjonsdatabase-

Detaljer

Metaspråket for å beskrive grammatikk

Metaspråket for å beskrive grammatikk 1 SQL-syntaks Korrekt språkbruk bygger på et sett av regler. Eksempler: En SQL utvalgsspørring inneholder alltid ordene SELECT og FROM, mens WHERE og tilhørende betingelse er valgfri. Etter SELECT kan

Detaljer

Integritetsregler i SQL

Integritetsregler i SQL UNIVERSITETET I OSLO Integritetsregler i SQL Institutt for Informatikk INF3100 13.2.2007 Ellen Munthe-Kaas 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende

Detaljer

EKSAMEN DATABASER

EKSAMEN DATABASER EKSAMEN 6102 DATABASER 30.05.2016 Tid: 4 timer (9-13) Målform: Sidetall: Hjelpemidler: Merknader: Vedlegg: Bokmål 7 (inkludert denne) Ingen Ingen Eksempeldata Sensuren finner du på StudentWeb. Vekting

Detaljer

SELECT DISTINCT Fornavn, Etternavn, Programtittel FROM Program P, Medvirkende M, Deltagelse D. SELECT Tilgjengelighet FROM Program

SELECT DISTINCT Fornavn, Etternavn, Programtittel FROM Program P, Medvirkende M, Deltagelse D. SELECT Tilgjengelighet FROM Program [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 10/11-15 DISTINCT Pregnante navn på kolonner Boolske operatorer: OR, NOT Beregningsfunksjoner og Gruppering NULL-verdier Maria

Detaljer

INF1300 Introduksjon til databaser: SQL Structured Query Language. En første introduksjon Lysark til forelesning onsdag 22.

INF1300 Introduksjon til databaser: SQL Structured Query Language. En første introduksjon Lysark til forelesning onsdag 22. INF1300 Introduksjon til databaser: SQL Structured Query Language En første introduksjon Lysark til forelesning onsdag 22. september 2010 Dagens tema SQLs definisjonsspråk SQLs spørrespråk select-from-where

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: SQL SQLs spørrespråk: select-from-where distinct order by Indekser INF1300-15.10.2007 Ellen Munthe-Kaas 1 SQL The Intergalactic Dataspeak

Detaljer

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn EKSAMENSFORSIDE Skriftlig eksamen med tilsyn Emnekode: Emnenavn: 6102 Databaser Dato: Tid fra / til: 06.06.2017 10:00-14:00 Ansv. faglærer: Bjørn Kristoffersen Campus: Fakultet: Bø Handelshøyskolen Antall

Detaljer

Fag TDT4145 Datamodellering og databasesystemer Øving 3: Relasjonsalgebra og SQL

Fag TDT4145 Datamodellering og databasesystemer Øving 3: Relasjonsalgebra og SQL NTNU Norges teknisk-naturvitenskapelige Universitet Institutt for datateknikk og informasjonsvitenskap Fag TDT4145 Datamodellering og databasesystemer Øving 3: Relasjonsalgebra og SQL Oppgave 1 (Oppgaven

Detaljer

Databaser kort intro. Tom Heine Nätt

Databaser kort intro. Tom Heine Nätt Databaser kort intro Tom Heine Nätt Agenda Hva er en database? Hva er SQL? Hente ut data fra en database SELECT Behandle data i en database (kort) CREATE TABLE, INSERT, UPDATE, DELETE Databaser med flere

Detaljer

Utvikling fra kjernen og ut

Utvikling fra kjernen og ut Utvikling fra kjernen og ut PHP-arkitektur Brukergrensesnitt! inn ut Dynamisk web-side bygges opp på grunnlag av spørring mot databasen Utviklingsretning Applikasjon Virkelighetsmodell Plattform Bruker

Detaljer

Datamodellering 101 En tenkt høgskoledatabase

Datamodellering 101 En tenkt høgskoledatabase Datamodellering 101 En tenkt høgskoledatabase Spesifikasjoner for databasen vi skal modellere: Oversikt over studenter med: Fullt navn Klasse Studium Avdeling Brukernavn Fødselsdag Adresse Telefonnummer

Detaljer

Høgskolen i Telemark EKSAMEN 6102 DATABASER 10.12.2015. Tid: 10-14. Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

Høgskolen i Telemark EKSAMEN 6102 DATABASER 10.12.2015. Tid: 10-14. Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1 Høgskolen i Telemark EKSAMEN 6102 DATABASER 10.12.2015 Tid: 10-14 Målform: Sidetall: Hjelpemidler: Merknader: Bokmål/nynorsk 13 med forside Ingen Ingen Vedlegg: Eksempeldata til oppgave 1 Eksamensresultater

Detaljer

Relasjoner terminologi

Relasjoner terminologi Relasjoner terminologi Kopi av lysark fra forelesningen 1. september. Dette er utdrag fra et notat som snart blir publisert. Dette notatet egner seg bedre til repetisjon og selvstudium enn disse arkene.

Detaljer

EKSAMEN 6102 / 6102N DATABASER

EKSAMEN 6102 / 6102N DATABASER EKSAMEN 6102 / 6102N DATABASER 06.12.2016 Tid: 4 timer (10-14) Målform: Sidetall: Hjelpemidler: Merknader: Vedlegg: Bokmål / nynorsk 13 (inkludert denne) Ingen Ingen Eksempeltabeller Sensuren finner du

Detaljer

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen Databaser Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen Tema for dagen Hva er relasjonsalgebra? Seleksjon Projeksjon Produkt Indre forening Ytterforening Settoperasjoner: union, snitt, differanse

Detaljer

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet. Løsningsforslag

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet. Løsningsforslag 1 Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Løsningsforslag Eksamen i emne INF115 Databaser og modellering Tirsdag 31. mai 2016 Tid: 9:00 12:00 Tillatte hjelpemidler: Ingen Oppgavesette

Detaljer

UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ragnar Normann 1

UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ragnar Normann 1 UNIVERSITETET I OSLO SQL Structured Query Language (forts.) Institutt for Informatikk INF3100 7.2.2005 Ragnar Normann 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan være

Detaljer

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn EKSAMENSFORSIDE Skriftlig eksamen med tilsyn Emnekode: Emnenavn: DAT1000 Database 1 Dato: Tid fra / til: 13.05.2019 10.00 14.00 Ansvarlig faglærer: Bjørn Kristoffersen Campus: Fakultet: Bø Handelshøyskolen

Detaljer

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter Sortering og søking i Java-API-et Tabeller og Arraylister Comaparable Comparator equals() LC9D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc9d.php Høgskolen i Sør-Trøndelag,

Detaljer

SQL Introduksjonskurs. Oversikt

SQL Introduksjonskurs. Oversikt SQL Introduksjonskurs Oversikt Oversikt 2/7 Introduksjon til datamodellering Normalisering Logisk skjema til Database Strukturelle operasjoner Operasjoner mot data Kontrolloperasjoner Aggregering og indekser

Detaljer

1. SQL spørringer mot flere tabeller

1. SQL spørringer mot flere tabeller 1. SQL spørringer mot flere tabeller Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL spørringer mot flere tabeller Tore Mallaug 29.9.2008 Lærestoffet er utviklet for faget Databaser

Detaljer

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informatikk Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Roger Midtstraum: 995 72 420 Svein Erik Bratsberg: 995 39

Detaljer

SLUTTPRØVE 5602 DATABASER I 5.12.2008. 17 (inkludert vedlegg og denne forsida) Vedlegg: A: Eksempeldata og B: Svarark til oppgave 4

SLUTTPRØVE 5602 DATABASER I 5.12.2008. 17 (inkludert vedlegg og denne forsida) Vedlegg: A: Eksempeldata og B: Svarark til oppgave 4 Høgskolen i Telemark SLUTTPRØVE 5602 DATABASER I 5.12.2008 Tid: 9-14 Målform: Sidetal: Hjelpemiddel: Merknader: Bokmål og nynorsk 17 (inkludert vedlegg og denne forsida) Ingen Ingen Vedlegg: A: Eksempeldata

Detaljer

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language Litt tabellterminologi Definere tabeller Fylle tabeller med data Hente data fra tabeller select-from-where distinct order by Relasjoner terminologi relasjonsnavn Personale

Detaljer

EKSAMEN. Kontroller at oppgavesettet er komplett før du begynner å besvare spørsmålene.

EKSAMEN. Kontroller at oppgavesettet er komplett før du begynner å besvare spørsmålene. EKSAMEN Emnekode: Emne: ITF10306 Databaser Dato: 21.05.19 Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven) Oppgavesettet består av 3 tekstoppgaver og en quizz. Vedlegget består

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: SQL SQLs definisjonsspråk SQLs spørrespråk: select-from-where distinct order by SQLs manipulasjonsspråk Indekser Filmdatabasen INF1300

Detaljer

Tabeller og enkle spørringer

Tabeller og enkle spørringer Tabeller og enkle spørringer Database, relasjonsdatabase Databasehåndteringssystem (DBHS) Databasesystem Tabell, kolonne, rad, datatype, verdi, primærnøkkel Utvalgsspørringer i SQL Velge ut rader Velge

Detaljer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt. Side 1 av 7 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG AVDELING FOR INFORMATIKK OG E-LÆRING Kandidat nr.: Eksamensdato: 12.05.2005 Varighet: Fagnummer: Fagnavn: Klasse(r): Studiepoeng: 9 0900-1200 (3 timer) LO336D Databaser og systemering

Detaljer

Prosedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

Prosedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19 Prosedyrer Lars Vidar Magnusson October 26, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 26, 2011 1 / 19 Repetisjon om triggere og prosedyrer Triggere og prosedyrer ligner på hverandre

Detaljer

En liten rekap. Spørrespråk. I dag SELECT

En liten rekap. Spørrespråk. I dag SELECT [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 06/11-15 Databaser høsten 2015 En liten rekap ER-diagram - vi modellerer dataene våre til danne best mulig grunnlag for informasjonen

Detaljer

INF1300 Introduksjon til databaser: SQL Structured Query Language

INF1300 Introduksjon til databaser: SQL Structured Query Language INF1300 Introduksjon til databaser: SQL Structured Query Language En første introduksjon Lysark til forelesning mandag 14. september 2009 SQL Structured Query Language SQL Structured Query Language er

Detaljer

Tilkobling og Triggere

Tilkobling og Triggere Tilkobling og Triggere Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 12, 2011 1 / 25 Tilkobling med PHP PHP bruker databasespesifike moduler til å koble

Detaljer

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004 INF 329: Web-Teknologier Dataimplementasjon Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004 av: Dag Viggo Lokøen (dagvl@ii.uib.no) Kent Inge F. Simonsen (kentis@ii.uib.no)

Detaljer

Normalisering. Hva er normalisering?

Normalisering. Hva er normalisering? LC238D http://www.aitel.hist.no/fag/_dmdb/ Normalisering Hva er normalisering? side 2 Normaliseringens plass i utviklingsprosessen side 3 Eksempel side 4 Funksjonell avhengighet side 5-6 Første normalform

Detaljer

Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL

Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL NTNU Norges teknisk-naturvitenskapelige Universitet Institutt for datateknikk og informasjonsvitenskap Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL Side 1

Detaljer

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser 1 ITGK - H2010, Matlab Dagens tema : Teori - Databaser 2 I dag Teori: Databaser Bok: 8.1 8.2 (8.1-8.4 i gamle bøker) Læringsmål Lære det grunnleggende om databaser Lære det grunnleggende om databasedesign

Detaljer

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models LC238D Datamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models Oppsummering: Å oversette fra ER- til relasjonsmodell

Detaljer

Databaser. - Normalisering -

Databaser. - Normalisering - Databaser - Normalisering - Innholdsfortegnelse 1. Normalisering... 2 1.1. Redundans... 2 1.2. Anomalier (uregelmessigheter etter oppdateringer i databasen)... 2 1.2.1. Innsettingsanomalier (Insertion

Detaljer

EKSAMEN DATABASER

EKSAMEN DATABASER EKSAMEN 5602 DATABASER 06.12.2016 Tid: 5 timer (10-15) Målform: Sidetall: Hjelpemidler: Merknader: Vedlegg: Bokmål / nynorsk 15 (inkludert denne) Ingen Ingen Eksempeltabeller Sensuren finner du på StudentWeb.

Detaljer

Oppgave: Finn navn og tittel på alle som har arbeidet på prosjektet «Vintersalg»

Oppgave: Finn navn og tittel på alle som har arbeidet på prosjektet «Vintersalg» Skjema Prosjekt(PId, Pnavn, KId, Pleder, StartDato) Ansatt(AId, Navn, Tittel, Fdato, Pnr, AnsDato) Timeliste(AId, Dato, PId, Timer) Kunde(KId, Knavn, Adresse) Oppgave: Finn navn og tittel på alle som har

Detaljer

SQL: Integritetsregler, triggere og views

SQL: Integritetsregler, triggere og views UNIVERSITETET I OSLO SQL: Integritetsregler, triggere og views Institutt for Informatikk INF3100 14.2.2014 Ellen Munthe-Kaas 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet fremmednøkler

Detaljer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 99539963 Roger Midtstraum: 99572420

Detaljer

Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller

Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller LC238D http://www.aitel.hist.no/fag/_dmdb/ Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller ER-modellen, intro.

Detaljer

Kortkoder andre helseforetak - Sykehuset i Vestfold Kortkode HF Langnavn HF Langnavn (sykehus/klinikk)

Kortkoder andre helseforetak - Sykehuset i Vestfold Kortkode HF Langnavn HF Langnavn (sykehus/klinikk) Kortkoder andre helseforetak - Sykehuset i Vestfold Kortkode HF Langnavn HF Langnavn (sykehus/klinikk) SykehusapotekNord Finnmarkssykehuset HF Universitetssykehuset Nord-Norge HF Nordlandssykehuset HF

Detaljer

Oppgave 3 - normalisering

Oppgave 3 - normalisering Oppgave 3 - normalisering Løsningsforslag Oppgave 3 - løsning 22.10.2014 Øvelsesoppgave 3 1. Normaliser logisk skjema fra oppgave 1 og 2 (Læringssenter) 2. Normaliser logisk skjema fra seminarøvelsen (Nøsteelskere)

Detaljer

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models LC238D Datamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models Oppsummering: Å oversette fra ER- til relasjonsmodell

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - Kandidatnr: AITeL Eksamensdato: 2.desember 2009 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D LO191D Videregående programmering

Detaljer

Videregående programmering 6

Videregående programmering 6 Videregående programmering 6 1. Feilkontroll i klasser uten unntaksobjekter Klasser skal lages sikre. Argumentverdier skal kontrolleres, og eventuelle feil skal rapporteres til klienten. I praksis har

Detaljer

Løsningsforslag maskindatabasen på Ifi SQL og normalisering

Løsningsforslag maskindatabasen på Ifi SQL og normalisering Løsningsforslag maskindatabasen på Ifi SQL og normalisering Oppgave 1 select prosjektid, ansattid, dato, timer from Prosjekttimer where status = 'merknad' order by prosjektid, ansattid; Oppgave 2 Fra primærnøkkelen

Detaljer

SQL: Datatyper m.m. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Datatyper m.m. V18 1 / 12

SQL: Datatyper m.m. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Datatyper m.m. V18 1 / 12 SQL: Datatyper m.m. Evgenij Thorstensen V18 Evgenij Thorstensen SQL: Datatyper m.m. V18 1 / 12 Datatyper, kort om mye Vi går en rask ekskursjon i manualen, Kap. 8. https://www.postgresql.org/docs/9.2/sql.html

Detaljer

Normalisering. Hva er normalisering?

Normalisering. Hva er normalisering? LC238D http://www.aitel.hist.no/fag/_dmdb/ Normalisering Hva er normalisering? side 2 Normaliseringens plass i utviklingsprosessen side 3 Eksempel side 4 Funksjonell avhengighet side 5-6 Første normalform

Detaljer

Databasedesign HVA? HVORDAN? E/R diagram. Begrepsmessig databasedesign. Logisk databasedesign. Fysisk databasedesign

Databasedesign HVA? HVORDAN? E/R diagram. Begrepsmessig databasedesign. Logisk databasedesign. Fysisk databasedesign Databasedesign HVA? Begrepsmessig databasedesign E/R diagram Logisk databasedesign HVORDAN? Fysisk databasedesign Databaser Leksjon 7: Logisk databasedesign - 1 Logisk databasedesign Fra E/R til tabellstruktur:

Detaljer

Høgskolen i Telemark EKSAMEN 6102 DATABASER Tid: Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

Høgskolen i Telemark EKSAMEN 6102 DATABASER Tid: Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1 Høgskolen i Telemark EKSAMEN 6102 DATABASER 02.12.2014 Tid: 10-14 Målform: Sidetall: Hjelpemidler: Merknader: Bokmål/nynorsk 13 med forside Ingen Ingen Vedlegg: Eksempeldata til oppgave 1 Eksamensresultater

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 4.mai 2011 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D Campus: LC191D Videregående

Detaljer

Bruke SQL fra Python. Med Psycopg2

Bruke SQL fra Python. Med Psycopg2 Bruke SQL fra Python Med Psycopg2 0 1 (1/3) 1 (2/3) 1 (3/3) 2 Pakken psycopg2 3 Pakken psycopg2 De viktigste klassene vi trenger i psycopg2: connection Håndterer forbindelsen fra Python til PostgreSQL

Detaljer

UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET I OSLO SQL Structured Query Language (forts.) Institutt for Informatikk INF3100 11.2.2008 Ellen Munthe-Kaas 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan

Detaljer

IN2090 Databaser og datamodellering 07 Datamanipulering

IN2090 Databaser og datamodellering 07 Datamanipulering IN2090 Databaser og datamodellering 07 Datamanipulering Leif Harald Karlsen leifhka@ifi.uio.no Universitetet i Oslo 1 / 43 Komplisert eksempel Finn kundenavn og productnavn på alle kunder som har bestilt

Detaljer

Delinnlevering 2. INF1050, våren Inge Svale Hauger Handagard (ishandag) Tor Hildrum (thildru)

Delinnlevering 2. INF1050, våren Inge Svale Hauger Handagard (ishandag) Tor Hildrum (thildru) Delinnlevering 2 INF050, våren 2005 Inge Svale Hauger Handagard (ishandag) ihan@broadpark.no Tor Hildrum (thildru) thhildru@student.matnat.uio.no Øystein Riiser Gundersen (oysteirg) oystein.rg@gmail.com

Detaljer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 995 39 963 Roger Midtstraum: 995 72

Detaljer

Del 3: Noark 5-basert databasestruktur

Del 3: Noark 5-basert databasestruktur Del 3: Noark 5-basert databasestruktur Oppgaven består av en CREATE-del, en INSERT-del og en SELECT-del. CREATEdelen går ut på å lage en databasestruktur etter spesifikasjonene i Noark 5. Strukturen er

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Det meste av resten av SQL Sammenligning med tekstmønstre Aggregeringsfunksjoner Gruppering Kvantorer Nestede spørsmål View JDBC INF1300

Detaljer

INF1300 Det meste av resten av SQL. Utleggsark v. 2.0

INF1300 Det meste av resten av SQL. Utleggsark v. 2.0 INF1300 Det meste av resten av SQL Utleggsark v. 2.0 Dagens temaer Sammenligning med tekstmønstre Aggregeringsfunksjoner Nestede spørsmål Gruppering Relasjonssammenligninger: View JDBC exists in any all

Detaljer

Akershus universitetssykehus (Ahus) Helse Sør-Øst RHF (Ahus) (tomt felt) Avdeling for akuttmedisin

Akershus universitetssykehus (Ahus) Helse Sør-Øst RHF (Ahus) (tomt felt) Avdeling for akuttmedisin https://helseregister.no/index_main.html NIR-medlem "Region" "Organisasjon" "Klinikk" "Avdeling" Helse Sør-Øst Divisjon for Sykehuset Østfold HF Fredrikstad Helse Sør-Øst RHF Sykehuset Østfold HF akuttmedisin

Detaljer

svarforslag SLUTTEKSAMEN IBE211 Databaser, våren 2015

svarforslag SLUTTEKSAMEN IBE211 Databaser, våren 2015 svarforslag SLUTTEKSAMEN IBE211 Databaser, våren 2015 Dato: 11/5-2015. Tid: 4 timer, skriftlig, ingen hjelpemidler. Oppgave 1 (80 %) Vi skal lage et sterkt forenklet system for Sjøfartsdirektoratet som

Detaljer

UNIVERSITETET SQL. Structured Query Language (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET SQL. Structured Query Language (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET IOSLO SQL Structured Query Language g (forts.) Institutt for Informatikk INF3100 9.2.2009 Ellen Munthe-Kaas 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan

Detaljer

Notater: INF1300. Veronika Heimsbakk 8. januar 2013

Notater: INF1300. Veronika Heimsbakk 8. januar 2013 Notater: INF1300 Veronika Heimsbakk veronahe@student.matnat.uio.no 8. januar 2013 Innhold 1 ORM 3 1.1 Setningers aritet......................... 3 1.2 Faktatyper og broer i ORM................... 3 1.3

Detaljer

Spilleprogram Nytt 27/8: Ytterligere endringer i fotball. Se nytt kampoppsett. Orienteringsoppsett er lagt inn. Volleyball oppdatert med B-spill.

Spilleprogram Nytt 27/8: Ytterligere endringer i fotball. Se nytt kampoppsett. Orienteringsoppsett er lagt inn. Volleyball oppdatert med B-spill. Spilleprogram Nytt 27/8: Ytterligere endringer i fotball. Se nytt kampoppsett. Orienteringsoppsett er lagt inn. Volleyball oppdatert med B-spill. BADMINTON: AHUS-hallen på AHUS-området Start: kl. 10:00

Detaljer

18th - 20th June 2010

18th - 20th June 2010 4 GBR 2 34.93 84.98 84.98 1 34.4 84.65 84.65 2 SVK 1 35.4 84.83 84.83 31 2 2 36.35 4 86.84 9.84 26 FRA 2 2 2 36.25 4 87.4 91.4 2 35.55 85.6 85.6 1 SVK 1 2 36.22 2 86.73 88.73 3 35.62 85.61 85.61 5 GER

Detaljer

Applikasjonsutvikling med databaser

Applikasjonsutvikling med databaser Applikasjonsutvikling med databaser Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 10.10.2011 October 12, 2011 1 / 24 Applikasjonsutvikling med databaser Databaser tilbyr

Detaljer

INF1300 Det meste av resten av

INF1300 Det meste av resten av INF1300 Det meste av resten av SQL Utleggsark v. 1.0 Tekstmønstre I SQL kan vi bruke like for å sammenligne et tekst-attributt med et tekstmønster Et tekstmønster er en tekstkonstant hvor to tegn, kalt

Detaljer

Avansert bruk av SQL. Avanserte spørringer Valguttrykk Spørring på spørring Unionspørringer Delspørringer, vekselvirkende delspørringer Kvantorer

Avansert bruk av SQL. Avanserte spørringer Valguttrykk Spørring på spørring Unionspørringer Delspørringer, vekselvirkende delspørringer Kvantorer Avansert bruk av SQL Avanserte spørringer Valguttrykk Spørring på spørring Unionspørringer Delspørringer, vekselvirkende delspørringer Kvantorer Begrensninger ved SQL Pensum: Kapittel 5 Databaser Leksjon

Detaljer