Løsningsforlag for oblig 2, databaser 2010
|
|
- Eskil Endresen
- 8 år siden
- Visninger:
Transkript
1 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 er heller ingen god nøkkel. Brudd på 1NF: hyttefeltadresse består av flere typer informasjon. Denne kan deles opp på 2 måter: 1) (hyttefeltgatenavn, hyttefeltgatenr, hyttefeltpostnr, hyttefeltpoststed) 2) (hyttefeltadresse, hyttefeltpostnr, hyttefeltpoststed) hytteinfo består av flere typer informasjon. Denne kan deles opp slik 1) (hytteinfoantsengepl, hytteinfostrom, hytteinfovann) hjemadresse består av flere typer informasjon og kan deles opp på samme måte som hyttefeltadresse eiernavn kan evt deles opp i (eierfornavn, eieretternavn) hvis man ønsker hyttefeltnavn hyttefeltadresse hyttefelt Postnr hyttefeltpost sted hyttenr hytteinfoant Sengepl hytteinfo Strom hytteinfo Vann eierid eiernavn hjemadresse hjempostnr hjempoststed mobilnr 'Solsiden' 'Kjelleråsen' 1111 'Kjeller' 1 3 'Nei' 'Ja' 1 'Hans Hansen' 'Storgata 10' 9999 'Stokkmarknes' ' ' 'Solsiden' 'Kjelleråsen' 1111 'Kjeller' 2 8 'Ja' 'Ja' 2 'Heidi Olsen' 'Parkveien 10' 2222 'Oslo' ' ' 'Sjøvegen' 'Stavangerstranda' 3333 'Stavanger' 1 6 'Nei' 'Nei' 3 'Jon Johnsen' 'Portveien 2' 4444 'Barnetv' NULL 'Fjellbygda' 'Gammelsætra' 6666 'Alvdal' 3 4 'Nei' 'Ja' 4 'Heidi Olsen' 'Parkveien 10' 2222 Oslo ' ' b) Kandidatnøkler: (hyttefeltnavn, hyttenr) Hvorfor ikke (hyttefeltnavn, eierid)? Fordi en hytteeier kan eie flere hytter. 1 av 36
2 Hvorfor da ikke (hyttefeltnavn, hyttenr, eierid)? Fordi den ikke er minimalistisk hyttefeltnavn hyttefeltadresse hyttefeltpostnr hyttefeltpoststed hyttenr hytteinfoantsengepl hytteinfostrom hytteinfovann eierid eiernavn hjemadresse hjempostnr hjempoststed mobilnr ^ ^ ^ ^ ^ ^ hyttefelt hyttefeltnavn hyttefeltadresse hyttefeltpostnr hyttefeltpoststed 'Solsiden' 'Kjelleråsen' 1111 'Kjeller' 'Solsiden' 'Kjelleråsen' 1111 'Kjeller' 'Sjøvegen' 'Stavangerstrand a' 3333 'Stavanger' 'Fjellbygda' 'Gammelsætra' 6666 'Alvdal' hytte hyttefeltnavn hyttenr hytteinfoantsengepl hytteinfostrom hytteinfovann eierid eiernavn hjemadresse hjempostnr hjempoststed mobilnr 'Solsiden' 1 3 'Nei' 'Ja' 1 'Hans Hansen' 'Storgata 10' 9999 'Stokkmarknes' ' ' 'Solsiden' 2 8 'Ja' 'Ja' 2 'Heidi Olsen' 'Parkveien 10' 2222 'Oslo' ' ' 'Sjøvegen' 1 6 'Nei' 'Nei' 3 'Jon Johnsen' 'Portveien 2' 4444 'Barnetv' NULL 'Fjellbygda' 3 4 'Nei' 'Ja' 4 'Heidi Olsen' 'Parkveien 10' 2222 Oslo ' ' c) Felter som er avhengige av ikke-primærnøkkelattributter: hyttefeltpoststed er avhengige av hyttefeltpostnr hjempoststed er avhengige av hjempostnr eiernavn, hjemadresse, hjempostnr, hjempoststed og mobilnr er avhengige av eierid 2 av 36
3 hyttefelt hyttefeltnavn hyttefeltadresse hyttefeltpostnr 'Solsiden' 'Kjelleråsen' 1111 'Solsiden' 'Kjelleråsen' 1111 'Sjøvegen' 'Stavangerstranda' 3333 'Fjellbygda' 'Gammelsætra' 6666 hytte hyttefeltnavn hyttenr hytteinfoantsengepl hytteinfostrom hytteinfovann eierid 'Solsiden' 1 3 'Nei' 'Ja' 1 'Solsiden' 2 8 'Ja' 'Ja' 2 'Sjøvegen' 1 6 'Nei' 'Nei' 3 'Fjellbygda' 3 4 'Nei' 'Ja' 4 hytteeier eierid eiernavn hjemadresse hjempostnr mobilnr 1 'Hans Hansen' 'Storgata 10' 9999 ' ' 2 'Heidi Olsen' 'Parkveien 10' 2222 ' ' 3 'Jon Johnsen' 'Portveien 2' 4444 NULL 4 'Heidi Olsen' 'Parkveien 10' 2222 ' ' poststed hjempostnr hjempoststed 9999 'Stokkmarknes' 2222 'Oslo' 4444 'Barnetv' 1111 'Kjeller' 3333 'Stavanger' 3 av 36
4 6666 'Alvdal' Oppgave 2 a) b) * = (-1) + (2*4) + 7 = = * (4 + 7) = -1 + (2 * (4+7)) = -1 + (2 * 11) = = * * 5 = -1 + (2*4) + 7 (3*5) = = / 5 = 5 + (20 / 5) = = 9 5. (5 + 20) / 5 7 = ( (5 + 20) / 5 ) -7 = (25 / 5) 7 = 5 7 = / 5 10 / 2 = 5 + (20 / 5) (10 / 2) = = * 12 / 4-8 = 5 + ( (6 * 12) / 4) - (-8) = 5 + ( 72 / 4 ) + 8 = = * 12 / (4-8) = 5 + ( (6 * 12) / (4 - (-8)) = 5 + ( (72 / (4 + 8)) ) = 5 + (72/12) = = 11 Logiske operatorer ( ) ( ) NOT V og V Tilsvarende SQL-operatorer AND OR og XOR Prioritetsrekkefølge: Den øverste i lista (parenteser) har høyest prioritet, mens de nederst(or og XOR)e har lavest prioritet. c) Med logisk notasjon: (p q) p V q (pvq) p q 4 av 36
5 Med SQL-syntax: NOT(P OR Q) = NOT P AND NOT Q NOT(P AND Q) = NOT P OR NOT Q d) 1 SELECT fornavn, etternavn, fodt_aar, nasjonalitet WHERE fodt_aar = 1977 OR fodt_aar = 1968 AND nasjonalitet = 'NOR'; Siden AND har høyere prioritet enn OR, leses spørringen slik: SELECT fornavn, etternavn, fodt_aar, nasjonalitet WHERE (fodt_aar = 1968 AND nasjonalitet = 'NOR') OR fodt_aar = 1977; altså henter den ut deltagere som enten er født i 1968 og kommer fra Norge, eller personer som er født i 1977 (uavhengig av nasjonalitet) Antall rader: 198 fornavn etternavn fodt_aar nasjonalitet Jan Otto 1977 GER Daniel Cardoso Dias 1977 FRA Steven Escaler 1977 USA Jean-Claude Blum 1977 FRA Harri Anttila 1977 FIN 2 SELECT fornavn, etternavn, fodt_aar, nasjonalitet WHERE (fodt_aar = 1977 OR fodt_aar = 1968) AND nasjonalitet = 'NOR'; 5 av 36
6 Siden parenteser har høyere prioritet enn AND leses det inne i parentesen først. Da leses spørringen rett fram slik den står. Den henter ut deltagere som kommer fra Norge og som enten er født i 1977 eller Antall rader: 1 fornavn etternavn fodt_aar nasjonalitet Stig Laursen 1968 NOR 3 SELECT fornavn, etternavn, fodt_aar, nasjonalitet WHERE NOT nasjonalitet = 'NOR' AND fodt_aar = 1968; Siden NOT har høyere prioritet enn AND leses denne først. Vi leser altså rett fram, og får da ut alle deltagere som ikke er norske og som er født i Antall rader: 446 fornavn etternavn fodt_aar nasjonalitet Andrei Solodovnikov 1968 UKR Emmanuel Conraux 1968 FRA Hans Bern Bauer 1968 USA Josef Stöhr 1968 GER Federico Hernandez 1968 SWE 4 SELECT fornavn, etternavn, fodt_aar, nasjonalitet WHERE NOT (nasjonalitet = 'NOR' AND fodt_aar = 1968); Ser vi nærmere på denne setningen, vil vi se at den ligner på en setning fra demorgans lover. Skriver vi den om i henhold til loven får vi setningen: 6 av 36
7 SELECT fornavn, etternavn, fodt_aar, nasjonalitet WHERE NOT nasjonalitet = 'NOR' OR NOT fodt_aar = 1968; Spørringen blir nå mye lettere å lese. Siden NOT har høyere prioritet enn OR leses denne først. Spørringen returnerer alle deltagere som enten ikke er norske eller som ikke er født i Antall rader: fornavn etternavn fodt_aar nasjonalitet Angel Marcos de la Mata Garcia 1957 ESP Maurice Chenais 1950 FRA Olivier Lhuillery 1958 FRA Vasilij Emanov 1950 RUS Christian Fournier 1957 FRA e) 1. Setningen henter ut fornavn etternavn og nasjonalitet for alle deltagere som kommer fra land med nasjonalitetskoder som ikke begynner med N eller P. 2. Logisk notasjon: nasjonalitet LIKE 'N%' nasjonalitet LIKE 'P%' SQL: SELECT fornavn, etternavn, nasjonalitet WHERE NOT nasjonalitet LIKE 'N%' AND NOT nasjonalitet LIKE 'P%'; Antall rader "grunnspørring": fornavn etternavn nasjonalitet Angel Marcos de la Mata Garcia ESP 7 av 36
8 Maurice Chenais FRA Olivier Lhuillery FRA Vasilij Emanov RUS Christian Fournier FRA Antall rader min spørring (omskrevet): fornavn etternavn nasjonalitet Angel Marcos de la Mata Garcia ESP Maurice Chenais FRA Olivier Lhuillery FRA Vasilij Emanov RUS Christian Fournier FRA f) 1. Setningen henter ut fornavn, etternavn og nasjonalitet for alle deltagere som kommer fra Norge og som enten stiller i klassen M45 eller klassen W45 2. Logisk notasjon: nasjonalitet = 'NOR' klasse = 'M45' nasjonalitet = 'NOR' klasse = 'W45' SQL: SELECT DISTINCT fornavn, etternavn, nasjonalitet WHERE nasjonalitet = 'NOR' AND klasse = 'M45' OR nasjonalitet = 'NOR' AND klasse = 'W45'; Antall rader "grunnspørring": 11 fornavn etternavn nasjonalitet Anders Tøsse NOR Atle Berntsen NOR Einar Iversen NOR Frants Mohr NOR Frode Anderson NOR 8 av 36
9 Antall rader min spørring (omskrevet): fornavn etternavn nasjonalitet Anders Tøsse NOR Atle Berntsen NOR Einar Iversen NOR Frants Mohr NOR Frode Anderson NOR Oppgave 3 a) 9 av 36
10 b) 10 av 36
11 c) Hvis en bussrute kjøres av flere busser vil vi få et mange-til-mange-forhold mellom buss og bussruter. Dette forholdet må løses opp med en mellom-entitet. Denne mellom-entiteten må inneholde primærnøkkel fra både buss og bussrute, og disse vil sammen danne primærnøkkelen for mellom-entiteten. I en reell situasjon vil vi måtte operere med hvilke deler av ruta den enkelte buss tar, men dette er en oppgave for et større system. Let's keep it simple. For modell, se neste side! 11 av 36
12 d) 12 av 36
13 For modell, se neste side! 13 av 36
14 14 av 36
15 15 av 36
16 Løsningsforslag 1 CREATE TABLE innholdtype( typeid INT NOT NULL, typebeskrivelse VARCHAR(50), PRIMARY KEY (typeid) ); CREATE TABLE Paaskeegg( eggid INT NOT NULL, navnbarn VARCHAR(100), alderbarn INT, gateadresse VARCHAR(75), husnummer INT, bynavn VARCHAR(75), PRIMARY KEY (eggid) ); CREATE TABLE barnallergiinfo( eggid INT NOT NULL, innholdtype INT NOT NULL, PRIMARY KEY (eggid, innholdtype), FOREIGN KEY (eggid) REFERENCES Paaskeegg, FOREIGN KEY (innholdtype) REFERENCES innholdtype ); CREATE TABLE innhold( innholdid INT NOT NULL, navn VARCHAR(50), PRIMARY KEY (innholdid) ); CREATE TABLE innholdallergiinfo( innholdid INT NOT NULL, 16 av 36
17 innholdtype INT NOT NULL, PRIMARY KEY (innholdid, innholdtype), FOREIGN KEY (innholdid) REFERENCES innhold, FOREIGN KEY (innholdtype) REFERENCES innholdtype ); CREATE TABLE innholdegg( eggid INT NOT NULL, innholdid INT NOT NULL, mengde INT, PRIMARY KEY (eggid, innholdid), FOREIGN KEY (eggid) REFERENCES Paaskeegg, FOREIGN KEY (innholdid) REFERENCES innhold ); Løsningsforslag 2 CREATE TABLE innholdtype( typeid INT NOT NULL, typebeskrivelse VARCHAR(50), PRIMARY KEY (typeid) ); CREATE TABLE Paaskeegg( eggid INT NOT NULL, beskrivelse VARCHAR(50), PRIMARY KEY (eggid) ); CREATE TABLE eggallergiinfo( eggid INT NOT NULL, innholdtype INT NOT NULL, PRIMARY KEY (eggid, innholdtype), FOREIGN KEY (eggid) REFERENCES Paaskeegg, FOREIGN KEY (innholdtype) REFERENCES innholdtype 17 av 36
18 ); CREATE TABLE innhold( innholdid INT NOT NULL, navn VARCHAR(50), PRIMARY KEY (innholdid) ); CREATE TABLE innholdallergiinfo( innholdid INT NOT NULL, innholdtype INT NOT NULL, PRIMARY KEY (innholdid, innholdtype), FOREIGN KEY (innholdid) REFERENCES innhold, FOREIGN KEY (innholdtype) REFERENCES innholdtype ); CREATE TABLE barn( barnid INT NOT NULL, navn VARCHAR(100), alder INT, gateadresse VARCHAR(75), husnummer INT, bynavn VARCHAR(75), eggid INT, PRIMARY KEY (barnid), FOREIGN KEY (eggid) REFERENCES Paaskeegg ); CREATE TABLE barnallergiinfo( barnid INT NOT NULL, innholdtype INT NOT NULL, PRIMARY KEY (barnid, innholdtype), FOREIGN KEY (barnid) REFERENCES barn, FOREIGN KEY (innholdtype) REFERENCES innholdtype 18 av 36
19 ); CREATE TABLE innholdegg( eggid INT NOT NULL, innholdid INT NOT NULL, mengde INT, PRIMARY KEY (eggid, innholdid), FOREIGN KEY (eggid) REFERENCES Paaskeegg, FOREIGN KEY (innholdid) REFERENCES innhold ); Oppgave 4 a) INSERT INTO plante VALUES(1, 'Dracocephalum ruyschiana','dragehode', 'VU'); INSERT INTO plante VALUES(2, 'Botrychium boreale','fjellmarinøkkel', 'NT'); INSERT INTO plante VALUES(3, 'Salix daphnoides','påskepil', 'VU'); INSERT INTO plante VALUES(4, 'Lithospermum officinale','legesteinfrø', 'VU'); INSERT INTO plante VALUES(5, 'Ophioglossum vulgatum','ormetunge ', 'VU'); INSERT INTO plante VALUES(6, 'Botrychium lanceolatum','handmarinøkkel', 'EN'); INSERT INTO plante VALUES(7, 'Grifola frondosa','korallkjuke', 'VU'); INSERT INTO plante VALUES(8, 'Fistulina hepatica','oksetundesopp', 'NT'); INSERT INTO plante VALUES(9, 'Herminium monorchis','honningblom', 'CR'); INSERT INTO forsker VALUES(1, 'Per', 'Olsen', 'Universitetet i Stavanger'); INSERT INTO forsker VALUES(2, 'Anne', 'Jensen', 'Høgskolen i Lillehammer'); INSERT INTO forsker VALUES(3, 'Kari', 'Knutsen', 'Statens Naturoppsyn'); INSERT INTO forsker VALUES(4, 'Jens', 'Jensen', 'Universitetet i Tromsø'); INSERT INTO forsker VALUES(5, 'Hanne Merethe', 'Hansen', 'Statens Naturoppsyn'); INSERT INTO forsker VALUES(6, 'Ove Petter Andreas Jalmar', 'Ovesen', 'Høgskolen i Østfold'); INSERT INTO forsker VALUES(7, 'Line Karoline', 'Hansen Jensen', 'Norsk Botanisk Forening'); INSERT INTO forsker VALUES(8, 'Ottar', 'Zendium', 'Statens strålevern'); 19 av 36
20 INSERT INTO fylke VALUES('05', 'Oppland'); INSERT INTO fylke VALUES('01', 'Østfold'); INSERT INTO fylke VALUES('08', 'Telemark'); INSERT INTO fylke VALUES('06', 'Buskerud'); INSERT INTO fylke VALUES('15', 'Møre og Romsdal'); INSERT INTO fylke VALUES('19', 'Troms'); INSERT INTO fylke VALUES('18', 'Nordland'); INSERT INTO fylke VALUES('12', 'Hordaland'); INSERT INTO fylke VALUES('04', 'Hedmark'); INSERT INTO kommune VALUES('04', '01', 'Moss'); INSERT INTO kommune VALUES('24', '06', 'Øvre Eiker'); INSERT INTO kommune VALUES('63', '15', 'Sunndal'); INSERT INTO kommune VALUES('02', '19', 'Tromsø'); INSERT INTO kommune VALUES('01', '05', 'Lillehammer'); INSERT INTO kommune VALUES('25', '06', 'Nedre Eiker'); INSERT INTO kommune VALUES('11', '01', 'Hvaler'); INSERT INTO kommune VALUES('20', '18', 'Alstahaug'); INSERT INTO kommune VALUES('36', '04', 'Tolga'); INSERT INTO kommune VALUES('15', '05', 'Våga'); INSERT INTO kommune VALUES('01', '01', 'Halden'); INSERT INTO plantefelt VALUES('O4455V', 'Mo', '15', '05', , , , ); INSERT INTO plantefelt VALUES('Ø3243M', 'Bile', '04', '01', , , , ); INSERT INTO plantefelt VALUES('B6534E', 'Dramdal', '24', '06', , , , ); INSERT INTO plantefelt VALUES('M4374S', 'Grøvudalshytta', '63', '15', , , , ); INSERT INTO plantefelt VALUES('O4456V', 'Vakkersletta', '15', '05', , , , ); INSERT INTO plantefelt VALUES('T7645T', 'Fløya', '02', '19', , , , ); INSERT INTO plantefelt VALUES('O5364L', 'Gausa', '01', '05', , , , ); INSERT INTO plantefelt VALUES('B7539E', 'Strykåsen', '25', '06', , , , ); INSERT INTO plantefelt VALUES('Ø2154H', 'Vadholmen, Asmaløy', '11', '01', , , , ); INSERT INTO plantefelt VALUES('Ø2178H', 'Vikerkilen øst', '11', '01', , , , ); INSERT INTO plantefelt VALUES('N6489A', 'Bumarka, Blomsøya', '20', '18', , , , 37550); 20 av 36
21 INSERT INTO plantefelt VALUES('H6502T', 'Storøyvollan', '36', '04', , , , ); INSERT INTO plantefelt VALUES('O1234V', 'Nordre Strondsætri', '15', '05', , , , ); INSERT INTO plantefelt VALUES('Ø1122H', 'Boberg', '01', '01', , , , ); INSERT INTO plantefelt VALUES('Ø1143H', 'Os kirkegård', '01', '01', , , , ); INSERT INTO plantefunn VALUES(1, to_date(' ', 'dd.mm.yyyy'), 'O4455V', , , 2); INSERT INTO plantefunn VALUES(1, to_date(' ', 'dd.mm.yyyy'), 'Ø3243M', , , 6); INSERT INTO plantefunn VALUES(1, to_date(' ', 'dd.mm.yyyy'), 'B6534E', , , 7); INSERT INTO plantefunn VALUES(2, to_date(' ', 'dd.mm.yyyy'), 'M4374S', , , 1); INSERT INTO plantefunn VALUES(2, to_date(' ', 'dd.mm.yyyy'), 'O4456V', , , 5); INSERT INTO plantefunn VALUES(2, to_date(' ', 'dd.mm.yyyy'), 'T7645T', , , 4); INSERT INTO plantefunn VALUES(3, to_date(' ', 'dd.mm.yyyy'), 'O5364L', , , 2); INSERT INTO plantefunn VALUES(4, to_date(' ', 'dd.mm.yyyy'), 'B7539E', , , 6); INSERT INTO plantefunn VALUES(5, to_date(' ', 'dd.mm.yyyy'), 'Ø2154H', , , 6); INSERT INTO plantefunn VALUES(5, to_date(' ', 'dd.mm.yyyy'), 'Ø2178H', , , 7); INSERT INTO plantefunn VALUES(5, to_date(' ', 'dd.mm.yyyy'), 'N6489A', , , 4); INSERT INTO plantefunn VALUES(6, to_date(' ', 'dd.mm.yyyy'), 'H6502T', , , 5); INSERT INTO plantefunn VALUES(6, to_date(' ', 'dd.mm.yyyy'), 'O1234V', , , 6); INSERT INTO plantefunn VALUES(7, to_date(' ', 'dd.mm.yyyy'), 'Ø1122H', , , 6); INSERT INTO plantefunn VALUES(8, to_date(' ', 'dd.mm.yyyy'), 'Ø1143H', , , 7); NB! Statements er skrevet med PostgreSQL-funksjoner. For MySQL heter dato-funksjonen str_to_date og skrives på formen: str_to_date(' ', '%d.%m.%y') b) SELECT navn_norsk FROM plante WHERE rodlistestatus = 'VU'; Antall rader: 5 Antall kolonner: 1 navn_norsk av 36
22 Dragehode Påskepil Legesteinfrø Ormetunge Korallkjuke c) SELECT count(*) FROM plantefelt; Antall rader: 1 Antall kolonner: 1 count d) SELECT DISTINCT tilknyttet_institusjon FROM forsker; Antall rader: 7 Antall kolonner: 1 tilknyttet_institusjon Høgskolen i Lillehammer Høgskolen i Østfold Norsk Botanisk Forening Statens Naturoppsyn Statens strålevern e) SELECT tilknyttet_institusjon, count(forskerid) AS "Antall forskere" FROM forsker GROUP BY tilknyttet_institusjon; 22 av 36
23 Antall rader: 7 Antall kolonner: 2 tilknyttet_institusjon Antall forskere Høgskolen i Østfold 1 Høgskolen i Lillehammer 1 Norsk Botanisk Forening 1 Universitetet i Stavanger 1 Statens strålevern 1 f) SELECT f.*, k.* FROM fylke f, kommune k; Antall rader: 99 Antall kolonner: 5 fylkesnr fylkesnavn kommunenr fylkesnr kommunenavn Oppland Moss 05 Oppland Øvre Eiker 05 Oppland Sunndal 05 Oppland Tromsø 05 Oppland Lillehammer g) SELECT f.fylkesnr, fylkesnavn, kommunenavn FROM fylke f, kommune k WHERE f.fylkesnr = k.fylkesnr; SELECT f.fylkesnr, fylkesnavn, kommunenavn FROM fylke f JOIN kommune k ON f.fylkesnr = k.fylkesnr; Antall rader: 11 Antall kolonner: 3 fylkesnr fylkesnavn kommunenavn 23 av 36
24 Østfold Moss 06 Buskerud Øvre Eiker 15 Møre og Romsdal Sunndal 19 Troms Tromsø 05 Oppland Lillehammer h) SELECT pf1.stedsnavn, pf2.stedsnavn, pf1.kommunenr FROM plantefelt pf1, plantefelt pf2 WHERE pf1.kommunenr = pf2.kommunenr AND pf1.kodenavn <> pf2.kodenavn AND pf1.fylkesnr = pf2.fylkesnr; og SELECT pf1.stedsnavn, pf2.stedsnavn, pf1.kommunenr FROM plantefelt pf1 JOIN plantefelt pf2 ON (pf1.kommunenr = pf2.kommunenr AND pf1.fylkesnr = pf2.fylkesnr) WHERE pf1.kodenavn <> pf2.kodenavn; Antall rader: 10 Antall kolonner: 3 stedsnavn stedsnavn kommunenr Mo Nordre Strondsætri 15 Mo Vakkersletta 15 Vakkersletta Nordre Strondsætri 15 Vakkersletta Mo 15 Vadholmen, Asmaløy Vikerkilen øst 11 eventuellt: SELECT DISTINCT pf1.stedsnavn, pf1.kommunenr FROM plantefelt pf1, plantefelt pf2 WHERE pf1.kommunenr = pf2.kommunenr AND pf1.fylkesnr = pf2.fylkesnr 24 av 36
25 AND pf1.kodenavn <> pf2.kodenavn; Antall rader: 7 Antall kolonner: 2 stedsnavn kommunenr Boberg 01 Mo 15 Nordre Strondsætri 15 Os kirkegård 01 Vadholmen, Asmaløy 11 i) SELECT pf1.stedsnavn, pf2.stedsnavn, kommunenavn FROM plantefelt pf1, plantefelt pf2, kommune k WHERE pf1.kodenavn <> pf2.kodenavn AND pf1.kommunenr = pf2.kommunenr AND pf1.fylkesnr = pf2.fylkesnr AND pf1.kommunenr = k.kommunenr AND pf2.kommunenr = k.kommunenr AND pf1.fylkesnr = k.fylkesnr AND pf2.fylkesnr = k.fylkesnr; Antall rader: 10 Antall kolonner: 3 stedsnavn stedsnavn kommunenavn Mo Nordre Strondsætri Våga Mo Vakkersletta Våga 25 av 36
26 Vakkersletta Nordre Strondsætri Våga Vakkersletta Mo Våga Vadholmen, Asmaløy Vikerkilen øst Hvaler eventuelt: SELECT DISTINCT pf1.stedsnavn, kommunenavn FROM plantefelt pf1, plantefelt pf2, kommune k WHERE pf1.kodenavn <> pf2.kodenavn AND pf1.kommunenr = pf2.kommunenr AND pf1.fylkesnr = pf2.fylkesnr AND pf1.kommunenr = k.kommunenr AND pf2.kommunenr = k.kommunenr AND pf1.fylkesnr = k.fylkesnr AND pf2.fylkesnr = k.fylkesnr; Antall rader: 7 Antall kolonner: 2 stedsnavn kommunenavn Boberg Halden Mo Våga Nordre Strondsætri Våga Os kirkegård Halden Vadholmen, Asmaløy Hvaler j) SELECT DISTINCT p1.navn_norsk FROM plante p1, plante p2 WHERE p1.planteid <> p2.planteid AND p1.rodlistestatus = p2.rodlistestatus; SELECT DISTINCT p1.navn_norsk FROM plante p1 JOIN plante p2 ON p1.rodlistestatus = p2.rodlistestatus WHERE p1.planteid <> p2.planteid; 26 av 36
27 Antall rader: 7 Antall kolonner: 1 navn_norsk Dragehode Fjellmarinøkkel Korallkjuke Legesteinfrø Oksetundesopp k) SELECT navn_norsk, COUNT(forsker) AS "Antall forskere" FROM plantefunn pf, plante p WHERE pf.planteid = p.planteid GROUP by navn_norsk ORDER BY "Antall forskere" DESC; SELECT navn_norsk, COUNT(forsker) AS "Antall forskere" FROM plantefunn pf JOIN plante p ON pf.planteid = p.planteid GROUP by navn_norsk ORDER BY "Antall forskere" DESC; Antall rader: 8 Antall kolonner: 2 navn_norsk Antall forskere Ormetunge 3 Dragehode 3 Fjellmarinøkkel 3 Handmarinøkkel 2 Oksetundesopp 1 Oppgave 5 a) 27 av 36
28 Tar meg selv som eksempel. Siden jeg er kvinne og har forbokstavene E i fornavn og A i etternavn blir min spørring slik: SELECT DISTINCT fornavn, etternavn, klasse WHERE fornavn LIKE 'E%' AND etternavn LIKE 'A%' AND klasse LIKE 'W%'; Hadde jeg vært mann så hadde den blitt slik: SELECT DISTINCT fornavn, etternavn, klasse WHERE fornavn LIKE 'E%' AND etternavn LIKE 'A%' AND klasse LIKE 'M%'; b) SELECT COUNT (*) WHERE klasse LIKE '%JUN' AND EXTRACT (YEAR FROM dato) = '2010'; Antall rader: 1 Antall kolonner: 1 count c) SELECT DISTINCT fornavn, etternavn, nasjonalitet r, landskode l 28 av 36
29 WHERE r.nasjonalitet = l.landskode AND (landsnavn = 'Norge' OR landsnavn = 'Sverige' OR landsnavn = 'Finland' OR landsnavn = 'Danmark' OR landsnavn = 'Island'); Antall rader: 560 Antall kolonner: 3 fornavn etternavn nasjonalitet Aimo Kostiainen FIN Aku Kopakkala FIN Alan Sneum DEN Alex Carl Verner Henriksen DEN Anders Hempel SWE d) SELECT DISTINCT fornavn, etternavn, nasjonalitet WHERE nasjonalitet IN( SELECT landskode FROM landskode WHERE landsnavn = 'Norge' OR landsnavn = 'Sverige' OR landsnavn = 'Finland' OR landsnavn = 'Danmark' OR landsnavn = 'Island'); Antall rader: 560 Antall kolonner: 3 29 av 36
30 fornavn etternavn nasjonalitet Aimo Kostiainen FIN Aku Kopakkala FIN Alan Sneum DEN Alex Carl Verner Henriksen DEN Anders Hempel SWE e) SELECT fornavn, etternavn r WHERE klasse = 'W35' AND EXTRACT (YEAR FROM dato) = '2008' UNION SELECT fornavn, etternavn r WHERE klasse = 'W45' AND EXTRACT (YEAR FROM dato) = '2008'; Antall rader: 194 Antall kolonner: 2 fornavn etternavn Agnes Soulignac Aileen Scott Alison Combs Amelia Garcia Portillo Analia Razzetto f) SELECT AVG(distanse_km) WHERE klasse LIKE 'W%' AND EXTRACT (YEAR FROM dato) = '2010'; 30 av 36
31 Antall rader: 1 Antall kolonner: 1 avg g) SELECT SUBSTRING(klasse, 1, 1) AS klasse_wm, AVG(distanse_km) AS "Gjennomsnittlig antall km" WHERE EXTRACT (YEAR FROM dato) = '2010' AND klasse IS NOT NULL GROUP BY klasse_wm; Antall rader: 2 Antall kolonner: 2 klasse_wm Gjennomsnittlig antall km W M h) SELECT fornavn, etternavn, nasjonalitet WHERE EXTRACT (YEAR FROM dato) = '2007' 31 av 36
32 INTERSECT SELECT fornavn, etternavn, nasjonalitet WHERE EXTRACT (YEAR FROM dato) = '2010'; Antall rader: 814 Antall kolonner: 3 fornavn etternavn nasjonalitet Achilleas Katsaros GRE Adao Miranda da Silva BRA Adrian Sergio Pettenon ARG Akos Konya HUN Aku Kopakkala FIN i) SELECT DISTINCT fornavn, etternavn, nasjonalitet r1 WHERE EXTRACT (YEAR FROM r1.dato) = '2007' AND EXISTS( SELECT * r2 WHERE EXTRACT (YEAR FROM r2.dato) = '2010' AND r1.fornavn = r2.fornavn AND r1.etternavn = r2.etternavn AND r1.nasjonalitet = r2.nasjonalitet); Antall rader: 814 Antall kolonner: 3 fornavn etternavn nasjonalitet Achilleas Katsaros GRE 32 av 36
33 j) Adao Miranda da Silva BRA Adrian Sergio Pettenon ARG Akos Konya HUN Aku Kopakkala FIN SELECT landsnavn, COUNT(id) AS AntallDeltagere, AVG(distanse_km) AS DistKm r, landskode l WHERE r.nasjonalitet = l.landskode AND EXTRACT(YEAR FROM dato) = '2010' GROUP BY landsnavn HAVING COUNT(id) > 10 ORDER BY DistKm DESC; Antall rader: 27 Antall kolonner: 3 landsnavn antalldeltagere distkm Norge Japan Ungarn Russland Tjekkia av 36
34 k) SELECT * WHERE distanse_km = (SELECT MAX(distanse_km) WHERE klasse LIKE 'M%' ); Antall rader: 1 Antall kolonner: 10 id distanse_km etternavn fornavn nasjonalitet fodt_aar klasse dato arrsted arrland Sekiya Ryoichi JPN 1967 M Taipei TPE l) SELECT fornavn ' ' etternavn ' fra ' landsnavn AS "Beste deltager gjennom tidene" r, landskode l WHERE r.nasjonalitet = l.landskode AND distanse_km = (SELECT MAX(distanse_km) ); Antall rader: 1 Antall kolonner: 1 Beste deltager gjennom tidene Ryoichi Sekiya fra Japan m) SELECT fornavn, etternavn, nasjonalitet WHERE klasse IS NULL; 34 av 36
35 Antall rader: 1 Antall kolonner: 1207 fornavn etternavn nasjonalitet Petr Mikulasek CZE Milan Mikulasek CZE Coran Lang AUS Ildefonso Emerson de Mira BRA Coran Lang AUS Oppgave 6 a) Henter arrangementsted, dato, fornavn og antall løp for alle deltagere som heter Peter til fornavn og som har løpt mer enn 3 løp totalt på et gitt sted. b) Henter fornavn, etternavn, fødselsår og distanse i kilometer for alle deltagere som er født mellom 1950 og 1960 (der 1950 og 1960 ikke er inkludert) eller som har løpt 200km. c) Henter fornavn, etternavn, fødselsår og distanse i kilometer for alle deltagere som er født mellom 1950 og 1960 (der 1950 og 1960 ikke er inkludert) i tillegg til alle deltagere som er født etter 1950 og har løpt 200km. d) Henter fornavn, etternavn og distanse_km i mil for alle deltagere som stiller i 35-årsklassen (både kvinner og menn). Lista sorteres synkende etter antall mil. e) Henter ut en liste over fornavn på alle deltagere med fornavn som begynner med stor P etterfulgt av ett eller flere tegn (bokstaver) og som deretter slutter 35 av 36
36 med en i, ett enkelt tegn og helt til slutt en e (det vil si at tredje siste tegn er i, siste tegn er e og det i mellom er en hvilken som helst bokstav). f) Henter ut en liste over fornavn og det beste resultat(distanse i kilometer) for deltagere med dette fornavnet. 36 av 36
Løsningsforlag for oblig 1, databaser 2010
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
DetaljerØ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
DetaljerMetasprå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
DetaljerSELECT 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
DetaljerSQL 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,
DetaljerOppgave 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
DetaljerInstitutt 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
DetaljerRepetisjon: 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
DetaljerMiniverden 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-
DetaljerOblig 2 Databaser vår 2011
Oblig 2 Databaser vår 2011 Dette arbeidskravet er en videreføring av arbeidskrav 1, og tester primærkunnskaper i normalisering og modellering i tillegg til litt mer avansert SQL. Oppgaven leveres individuelt
Detaljer1. 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
DetaljerHø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
DetaljerDatabaser. 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
DetaljerSensorveiledning 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
DetaljerSystemutvikling fra kjernen og ut, fra skallet og inn
Systemutvikling fra kjernen og ut, fra skallet og inn Løsninger til oppgaver i kap A.10 i Appendiks A - SQL Legg merke til at oppgave 22 er blitt noe presisert. 1. Hvor mange innbyggere er det i Norge?
DetaljerLø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
DetaljerOppgaver 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
DetaljerEn 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
Detaljer1. 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
DetaljerOppgave 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å
DetaljerDatamodellering 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
DetaljerTabeller 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
DetaljerDatamodellering 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
DetaljerDatamodellering 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
DetaljerNorge tekst 2. Oppgaver. Arbeid med ord læremidler A/S, 2012. Astrid Brennhagen www.arbeidmedord.no
Norge tekst 2 Oppgaver Arbeid med ord læremidler A/S, 2012 1 Hvor mange fylker er det i Norge? 16? 19 21 19 2 Hvilket ord skal ut? Trøndelag Akershus Østlandet Sørlandet Vestlandet 3 Hvilket ord skal ut??
DetaljerTilkobling 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
DetaljerHØ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
DetaljerOblig 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
DetaljerFag 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*** Spm. 1 *** Hvor mange elever er det på den skolen du jobber på?
*** Spm. 1 *** Hvor mange elever er det på den skolen du jobber på? Antall intervju 86 43 43 48 31 52 34 42 44 0-49 27 33 21 44 3 44-17 36 50-99 14 19 9 21 6 23-10 18 100-199 20 21 19 21 16 33-21 18 200-299
Detaljer18th - 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
DetaljerDatabaser. 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
DetaljerHØ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
Detaljerinfotorg Enkel brukermanual
infotorg Enkel brukermanual Innhold Innledning... 4 Logg inn... 4 Feilmelding... 4 Sperret bruker / Glemt passord... 5 Bytt passord... 6 Innstillinger og oppstartsregister... 6 Søk og Svar... 7 Velg tjeneste/register...
DetaljerDatabaser 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
DetaljerEKSAMEN 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
DetaljerAvansert 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Å 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,
DetaljerDelinnlevering 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
DetaljerIntegritetsregler 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
DetaljerIntegritetsregler 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
DetaljerRelasjoner terminologi. Kopi av lysark fra forelesningen 13. oktober. Legges ut inntil notatet som samler alt om SQL kommer...
Relasjoner terminologi Kopi av lysark fra forelesningen 13. oktober. Legges ut inntil notatet som samler alt om SQL kommer... /* Lage et view med oversikt over hvor mange funksjoner * filmarbeiderne med
DetaljerDagens program. Kunnskapsorganisasjon og gjenfinning 1. Spørring mot databaser: SQL 2 - Spørring mot flere tabeller 12.11.2014
Kunnskapsorganisasjon og gjenfinning 1 Spørring mot databaser: SQL 2 - Spørring mot flere tabeller SQL 2 - flere tabeller 12.11.2014 Dagens program SQL oppgave 2 - løsningsforslag Spørring mot flere tabeller
DetaljerOblig 3 Databaser vår 2011
Oblig 3 Databaser vår 2011 Dette arbeidskravet er en videreføring av arbeidskrav 2, og tester modellering i tillegg til SQL. Oppgaven består av en individuell og en gruppedel. En gruppe skal bestå av 2-3
Detaljer24th FIG TRA WAGC - Draw of Lots
4th FIG TRA WAGC - Draw of Lots IND Trampoline Men 4 St. N Fed. BRA ITA POR GBR BUL RSA KAZ TUR GBR GER BUL POL FRA RUS 4 USA 4 ESP 4 GBR 4 RUS 4 MEX 4 DEN POL BLR RSA ITA USA MEX BLR ESP ARG GRE 7 LAT
DetaljerLøsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 23. mai 2013 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte
DetaljerDette er vår første obligatoriske oppgave i kurset Moderne Databaseteknologi.
Innledning Dette er vår første obligatoriske oppgave i kurset Moderne Databaseteknologi. Oppgaven går ut på å implementer en database. Vi skal utforske og implementere noen av de mer avanserte mulighetene
DetaljerEKSAMENSFORSIDE 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
DetaljerEn 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]
DetaljerUniversitetet 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
DetaljerIN2090 Databaser og datamodellering. 08 Typer og skranker
IN2090 Databaser og datamodellering 08 Typer og skranker Leif Harald Karlsen leifhka@ifi.uio.no Universitetet i Oslo 1 / 29 Databasers typesystem De fleste relasjonelle databaser har et strengt typesystem
DetaljerSQL, del 1 - select. Hva er SQL?
LC238D http://www.aitel.hist.no/fag/_dmdb/ SQL, del 1 - select Hva er SQL? side 2 Eksempelbase side 3 SELECT-setningen, syntaks side 4-5 Operatorer side 6 Å hente ut et radintervall fra resultatsettet
DetaljerObjektorientering 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
DetaljerIN2090 Databaser og datamodellering. 08 Typer og skranker
IN2090 Databaser og datamodellering 08 Typer og skranker Leif Harald Karlsen leifhka@ifi.uio.no Universitetet i Oslo 1 / 29 Databasers typesystem De fleste relasjonelle databaser har et strengt typesystem
DetaljerProsedyrer. 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
DetaljerUNIVERSITETET 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
DetaljerSQL SELECT-FROM-WHERE. Skjemadefinisjon og datainnsetting i SQL. Semantikk bak ein-relasjons-spørring
SQL Språk for Skjemadefinisjon Spørringar Database-oppdateringar Svært høgnivå: i prinsippet skriv ein kva ein vil ha som resultat, utan å spesifisere korleis Sterk grad av optimalisering effektivt Skjemadefinisjon
DetaljerSQL 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
DetaljerEksamensoppgave 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
DetaljerFag 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
DetaljerARBEIDS- OG VELFERDSDIREKTORATET / STATISTIKKSEKSJONEN
ARBEIDS- OG VELFERDSDIREKTORATET / STATISTIKKSEKSJONEN // NOTAT Personer med nedsatt arbeidsevne og mottakere av arbeidsavklaringspenger. Desember 214 Skrevet av Åshild Male Kalstø, Ashild.Male.Kalsto@nav.no
DetaljerIntegritetsregler 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
DetaljerRapport om lokal brukerundersøkelse høsten 2014 ved NAV Ås
Rapport om lokal brukerundersøkelse høsten ved NAV Ås Om undersøkelsen Formålet med de lokale brukerundersøkelsene er å gi brukerne anledning til å gi tilbakemelding om NAV-kontoret og å få informasjon
DetaljerIndre select-setninger Nestede select-setninger
Indre select-setninger Nestede select-setninger Setninger som beregner en tabell med kun én verdi select avg(lonn) from Ansatt where avd = 'marketing ; select avg(lonn)from Ansatt where avd = 'marketing
DetaljerUNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1
UNIVERSITETET I OSLO SQL Structured Query Language (The intergalactic dataspeak) Institutt for Informatikk INF3100 1.2.2005 Ragnar Normann 1 SQL SQL Structured Query Language er et deklarativt språk for
DetaljerVideregå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
DetaljerDatabaser: 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
DetaljerUtvikling 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
DetaljerHvor mange blir vi egentlig? Astri Syse Forskningsavdelingen
Hvor mange blir vi egentlig? Astri Syse Forskningsavdelingen millioner innbyggere 14 13 12 11 1 9 8 Høye barnetall Høy levealder Høy innvandring Middels barnetall Middels levealder Middels innvandring
DetaljerRapport om. lokal brukerundersøkelse høsten 2015 ved NAV Malvik
Rapport om lokal brukerundersøkelse høsten ved NAV Malvik Om undersøkelsen Formålet med de lokale brukerundersøkelsene er å gi brukerne anledning til å gi tilbakemelding om NAV-kontoret og å få informasjon
DetaljerINFORMASJON OM STRAFFEGJENNOMFØRING MED ELEKTRONISK KONTROLL - RUNE LEANDER HANSEN FØDT 06.12.1955
K rim inalom soraen reaion sørvest Rune Leander Hansen Vikevegen 1808 5568 Vikebygd U. off. 13 Deres ref: Vår ref: 201514997 Dato: 17.08.2015 INFORMASJON OM STRAFFEGJENNOMFØRING MED ELEKTRONISK KONTROLL
DetaljerDatabasers typesystem. IN2090 Databaser og datamodellering. 08 Typer og skranker. SQL-standarden vs. RDBMSer. Hvilke datatyper har vi
IN2090 Databaser og datamodellering 08 Typer og skranker Leif Harald Karlsen leifhka@ifi.uio.no Databasers typesystem De fleste relasjonelle databaser har et strengt typesystem Alle kolonner må ha en tilhørende
DetaljerMySQL-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.............................
DetaljerEksamen i IBE102 Webutvikling Våren 2017.
Avdeling for Logistikk Eksamen i IBE102 Webutvikling Våren 2017. Eksamensdag: 5. mai 2017 Tid: 9-13. Faglærer/tlf: Ketil Danielsen, 90619434 Hjelpemidler: Ingen. Antall sider, inkl. forsiden: 6 Målform:
DetaljerAlle attributter har NULL som mulig verdi. mulige verdier for integer: NULL, 0, 1, 2, 3...
NULL verdier Alle attributter har NULL som mulig verdi mulige verdier for integer: NULL, 0, 1, 2, 3... Dog mulig å lage tabeller med attributter som forbyr NULL Ulik bruk: manglende informasjon («vet ikke
DetaljerEKSAMEN. 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
DetaljerSpør hvilken: Bygning Etasje By Fylke Land Skår 0-5
ADDENBROOKE'S COGNITIVE EXAMINATION - ACE-R (2005) Norsk oversettelse ved Tor Rosness, Margit Gausdal, Linda Gjøra og Knut Engedal Navn: Fødelsesdato: Yrke: Dato på undersøkelse: Undersøkers navn: Sykehus:
DetaljerSQL, del 1 - select. Hva er SQL?
LC238D http://www.aitel.hist.no/fag/_dmdb/ SQL, del 1 - select Hva er SQL? side 2 Eksempelbase side 3 SELECT-setningen, syntaks side 4-5 Operatorer side 6 Å hente ut et radintervall fra resultatsettet
DetaljerOm tabellene. Januar - februar 2019
Om tabellene "Om statistikken - Personer med nedsatt arbeidsevne" finner du på nav.no ved å følge lenken under relatert informasjon på siden "Personer med nedsatt arbeidsevne". Fylke. Antall I alt I alt
DetaljerPersoner med nedsatt arbeidsevne. Fylke og alder. Tidsserie måned
Om tabellene "Om statistikken - Personer med nedsatt arbeidsevne" finner du på nav.no ved å følge lenken under relatert informasjon på siden "Personer med nedsatt arbeidsevne". Fylke. Antall I alt I alt
DetaljerOm tabellene. Januar - mars 2019
Om tabellene "Om statistikken - Personer med nedsatt arbeidsevne" finner du på nav.no ved å følge lenken under relatert informasjon på siden "Personer med nedsatt arbeidsevne". Fylke. Antall I alt I alt
DetaljerPersoner med nedsatt arbeidsevne. Fylke og alder. Tidsserie måned
Om tabellene "Om statistikken - Personer med nedsatt arbeidsevne" finner du på nav.no ved å følge lenken under relatert informasjon på siden "Personer med nedsatt arbeidsevne". Fylke. Antall I alt I alt
DetaljerPersoner med nedsatt arbeidsevne. Fylke og alder. Tidsserie måned
Om tabellene "Om statistikken - Personer med nedsatt arbeidsevne" finner du på nav.no ved å følge lenken under relatert informasjon på siden "Personer med nedsatt arbeidsevne". Fylke. Antall I alt I alt
DetaljerPersoner med nedsatt arbeidsevne. Fylke og alder. Tidsserie måned
Om tabellene "Om statistikken - Personer med nedsatt arbeidsevne" finner du på nav.no ved å følge lenken under relatert informasjon på siden "Personer med nedsatt arbeidsevne". Fylke. Antall I alt I alt
DetaljerOm tabellene. Januar - mars 2018
Om tabellene "Om statistikken - Personer med nedsatt arbeidsevne" finner du på nav.no ved å følge lenken under relatert informasjon på siden "Personer med nedsatt arbeidsevne". Fylke. Antall I alt I alt
Detaljer1. 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
DetaljerLC238D Datamodellering og databaser SQL, del 1 - SELECT
LC238D http://www.aitel.hist.no/fag/_dmdb/ SQL, del 1 - SELECT Hva er SQL? side 2 Eksempelbase side 3 SELECT-setningen, syntaks side 4-5 Operatorer side 6 Å hente ut et radintervall fra resultatsettet
DetaljerHØ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
DetaljerOm tabellene. Januar - desember 2018
Personer med nedsatt arbeidsevne. Fylke og alder. Om tabellene "Om statistikken - Personer med nedsatt arbeidsevne" finner du på nav.no ved å følge lenken under relatert informasjon på siden "Personer
DetaljerLø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
DetaljerStyringsdata for fastlegeordningen, 1. kvartal 2008 Skrevet av Jon Petter Nossen, 23. april 2008
ARBEIDS- OG VELFERDSDIREKTORATET / STATISTIKK OG UTREDNING Styringsdata for fastlegeordningen, 1. kvartal 2008 Skrevet av Jon Petter Nossen, 23. april 2008 Tabell 1 Nøkkeltall for fastlegeordningen. Prosentvis
DetaljerIntroduksjon til beslutningsstrukturer
[Kurssidene] [ ABI - fagsider bibin ] Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 Introduksjon til beslutningsstrukturer Michael Preminger (michaelp@hio.no) 24/01-14 Repitisjon fra
DetaljerOppgave: 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
DetaljerARBEIDS- OG VELFERDSDIREKTORATET 30.1.2007 STYRINGSDATA FOR FASTLEGEORDNINGEN, 4. KVARTAL 2006
ARBEIDS- OG VELFERDSDIREKTORATET 30.1.2007 STYRINGSDATA FOR FASTLEGEORDNINGEN, 4. KVARTAL 2006 Tabell 1 Nøkkeltall for fastlegeordningen. Prosentvis andel der ikke annet er oppgitt 30.06 2001 31.12 2001
Detaljerwhile-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke
[Kurssidene] [ ABI - fagsider bibin ] Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Michael Preminger
DetaljerFlere føder flere. Trude Lappegård
Flere føder flere Stadig flere kvinner føder tvillinger, både her til lands og i andre industrialiserte land. Norge og andre skandinaviske land ligger høyt i denne sammenhengen. Utviklingen har sammenheng
DetaljerSQL: 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
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 7.desember 2009 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasse(r): LC238D Datamodellering og databaser HING2008HA
DetaljerEKSAMEN (Konvertert fra en gammel PHP-eksamen)
EKSAMEN (Konvertert fra en gammel PHP-eksamen) Emnekode: Emne: ITF10208 Webprogrammering 1 Dato: Eksamenstid: 06/12-2011 09.00-13.00 Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater (håndskrevne/maskinskrevne)
DetaljerRomlig datamanipulering
Romlig datamanipulering Gunnar Tenge, 18.04.08 Romlige manipuleringsteknikker brukes i GIS-analyser. I denne artikkelen forklares alle manipuleringsteknikker som man kan forvente å finne i et GIS-program.
Detaljer