Oblig 2 Databaser vår 2011

Størrelse: px
Begynne med side:

Download "Oblig 2 Databaser vår 2011"

Transkript

1 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 på Fronter. Får du problemer med innleveringen er det viktig at du søker hjelp med en gang, enten ved å gå til HelpDesk eller ved å snakke med Elin eller Per-Olav (veileder/gruppelærer). For hjelp med Fronter, se: Frist for innlevering: Tirsdag 8/ kl. 14:00 Krav til oppgave: Man skal ha gjort helhjertede forsøk på å løse alle oppgaver. Jobb jevnt og trutt med oppgavene, og spør om hjelp dersom det er noe du lurer på. Det anbefales at man jobber individuelt med denne oppgaven slik at alle studenter får den basiskunnskap man trenger videre. Det er selvfølgelig ikke noe i veien for at man spør andre studenter om hjelp, men da er det viktig at begge parter har utbytte av slik hjelp. Hver student må rette oppgaven til en annen student og levere et anonymt evalueringsskjema for å få sitt arbeidskrav godkjent. Man beholder "rettepar" fra oblig1, men de som ikke ble fordelt den gang, vil bli fordelt av Elin 9/ Hvert par får som sist tilsendt den andres oppgave på epost. Fasit og rettemal som skal brukes under rettingen legges ut på Fronter. På døra til Elin (rom DU1-023) vil det henge en plastmappe med et evalueringsskjema for arbeidskravet. Evalueringen er anonym, og skal ikke merkes med navn eller dato. Retteark leveres i individuell mappe på Fronter (som for oblig 1), mens evalueringsskjema for arbeidskravet leveres i resepsjonen ved hovedinngangen. Resultat av evalueringen bli sendt ut til dere alle straks det foreligger.

2 Oppgave 1 Denne oppgaven handler om normalisering. Først et eksempel: Du er ansatt i et firma som skal lage en database over norske fengsler. Du har fått et datasett med data som skal lagres i databasen, og denne informasjonen har du lagt inn i en tabell i excel slik at du skal få bedre oversikt over dataene: fengsel_id fengsel_navn fengsel_adr fengsel_tlfnr antall_ansatte celle ' ' 'Ula Fengsel' 'Uleborgveien 7, 9287 Uleborg' ' ' 50 'A1-002', 'enkeltrom' - 20 ' ' 'Ula Fengsel' 'Uleborgveien 7, 9287 Uleborg' ' ' 50 'A1-003', 'enkeltrom' - 20 ' ' 'Ula Fengsel' 'Uleborgveien 7, 9287 Uleborg' ' ' 50 'A1-004', 'enkeltrom' - 20 ' ' 'Ula Fengsel' 'Uleborgveien 7, 9287 Uleborg' ' ' 50 'GU1-001', 'glattcelle' - 5 ' ' 'Ula Fengsel' 'Uleborgveien 7, 9287 Uleborg' ' ' 50 'GU1-003', 'glattcelle' - 5 ' ' 'Sola Landsfengsel' 'Flyplassveien 99, 5020 Bergen' ' ' 75 'B1001', 'enkeltrom' - 50 ' ' 'Sola Landsfengsel' 'Flyplassveien 99, 5020 Bergen' ' ' 75 'B3002', 'enkeltrom' - 50 ' ' 'Greikampen fengsel' 'Greikampen, 2090 Grei' ' ' 10 'A3-010', 'enkeltrom' - 10 ' ' 'Greikampen fengsel' 'Greikampen, 2090 Grei' ' ' 10 'A2-001', 'enkeltrom' - 10 ' ' 'Greikampen fengsel' 'Greikampen, 2090 Grei' ' ' 10 'U1-001', 'glattcelle' - 10 Sammen med datasettet fikk du en beskrivelse av hvordan systemet ønskes bygget opp: "Databasen skal lagre informasjon om norske fengsler. Informasjon om fengsel skal inneholde fengselets 8-sifrede id-nummer, fengselets navn, adresse og telefonnummer, antall ansatte, og informasjon om celler i form av en id og hvilke typer og antallet celler som finnes. Et fengsel kan bare ha en adresse og ett telefonnummer." Hvordan skal vi så gripe problemet an? Det første vi må lete etter er data som ikke er udelelige, dvs data som er ikke-atomære, i tillegg til repeterende attributter eller attributtgrupper. Dette jobbet vi litt med i oblig 1. Ser vi på dataene i tabellen over er det noen felter, evt. attributter, som utmerker seg: fengsel_adr inneholder både gateadresse, poststed og postnummer, og er dermed langt fra udelelig. Celle inneholder både celleid, celletype og celleantall og stiller i samme klasse. Dette må vi gjøre noe med, skal vi komme videre i prosessen! Vi deler opp alle disse ikke-atomære verdiene, som det så fint heter, og sitter dermed igjen med følgende tabell:

3 fengsel_id fengsel_navn fengsel_adr fengsel_postnr fengsel_poststed fengsel_tlfnr antall_ansatte celle_id celle_type celle_antall ' ' 'Ula Fengsel' 'Uleborgveien 7' '9287' 'Uleborg' ' ' 50 'A1-002' 'enkeltrom' 20 ' ' 'Ula Fengsel' 'Uleborgveien 7' '9287' 'Uleborg' ' ' 50 'A1-003' 'enkeltrom' 20 ' ' 'Ula Fengsel' 'Uleborgveien 7' '9287' 'Uleborg' ' ' 50 'A1-004' 'enkeltrom' 20 ' ' 'Ula Fengsel' 'Uleborgveien 7' '9287' 'Uleborg' ' ' 50 'GU1-001' 'glattcelle' 5 ' ' 'Ula Fengsel' 'Uleborgveien 7' '9287' 'Uleborg' ' ' 50 'GU1-003' 'glattcelle' 5 ' ' 'Sola Landsfengsel' 'Flyplassveien 99' '5020' 'Bergen' ' ' 75 'B1001' 'enkeltrom' 50 ' ' 'Sola Landsfengsel' 'Flyplassveien 99' '5020' 'Bergen' ' ' 75 'B3002' 'enkeltrom' 50 ' ' 'Greikampen fengsel' 'Greikampen' '2090' 'Grei' ' ' 10 'A3-010' 'enkeltrom' 10 ' ' 'Greikampen fengsel' 'Greikampen' '2090' 'Grei' ' ' 10 'A2-001' 'enkeltrom' 10 ' ' 'Greikampen fengsel' 'Greikampen' '2090' 'Grei' ' ' 10 'U1-001' 'glattcelle' 10 Denne tabellen sier vi at er i 1. normalform, forkortet 1NF. Det neste vi nå skal gjøre er å se på hvilken nøkkel vi må lage oss for å få rader som kan identifiseres unikt. Målet er å finne den kombinasjonen som inneholder færrest mulig felter, men som likevel er unik. Dette kalles for tabellens kandidatnøkkel, og vi sier at den er en minimalistisk nøkkel. Hvis en tabell har flere kandidatnøkler, må vi velge oss en som kan være primærnøkkel. Mulige kandidatnøkler for tabellen vår er: (fengsel_id, celle_id). Hvorfor det? En kombinasjon av alle feltene vil også gjøre en rad unik, men en nøkkel som består av alle feltene vil ikke være minimalistisk. fengsel_id eller celle_id kan heller ikke være primærnøkkel alene siden et fengsel inneholder flere celler, og siden det kan finnes flere fengsler som bruker samme system for å beskrive celle-id. Steg 3 er å se på hvilke felter som kan knyttes til hele primærnøkkelen og hvilke som bare kan knyttes til deler av primærnøkkelen. Den enkleste måten å gjøre dette på er å tegne en "avhengighetstegning": fengsel_id fengsel_navn fengsel_adr fengsel_postnr fengsel_poststed antall_ansatte celle_id celle_type celle_antall /\ /\ /\ /\ /\ De "avhengighetslinjene" som kun er avhengige av deler av primærnøkkelen (i avhengighetstegningen markert med fet tekst) må vi gjøre noe med. Disse er

4 markert med rødt. Den lyseblå "avhengighetslinjen" skal vi ikke bry oss om nå. Det er neste steg. Løsningen er å splitte ut feltene som er knyttet kun til deler av primærnøkkelen i en egen tabell. fengsel: fengsel_id fengsel_navn fengsel_adr fengsel_postnr fengsel_poststed fengsel_tlfnr antall_ansatte ' ' 'Ula Fengsel' 'Uleborgveien 7' '9287' 'Uleborg' ' ' 50 ' ' 'Sola Landsfengsel' 'Flyplassveien 99' '5020' 'Bergen' ' ' 75 ' ' 'Greikampen fengsel' 'Greikampen' '2090' 'Grei' ' ' 10 Fengselscelle: fengselscelletype: fengsel_id celle_id celle_type fengsel_id celle_type celle_antall ' ' 'A1-002' 'enkeltrom' ' ' 'enkeltrom' 20 ' ' 'A1-003' 'enkeltrom' ' ' 'glattcelle' 5 ' ' 'A1-004' 'enkeltrom' ' ' 'enkeltrom' 50 ' ' 'GU1-001' 'glattcelle' ' ' 'enkeltrom' 10 ' ' 'GU1-003' 'glattcelle' ' ' 'glattcelle' 10 ' ' 'B1001' 'enkeltrom' ' ' 'B3002' 'enkeltrom' ' ' 'A3-010' 'enkeltrom' ' ' 'A2-001' 'enkeltrom' ' ' 'U1-001' 'glattcelle' Disse tabellene sier vi at er i 2. normalform, forkortet 2NF. Det er nå bare steg 4 som gjenstår. Steg 4 består i å finne felter som er knyttet til andre felter enn primærnøkkelen. I vårt eksempel er det kun ett slikt tilfelle, nemlig forholdet mellom postnummer og poststed (markert med lyseblå "avhengighetslinje" i Steg 3). Disse er helt opplagt knyttet sammen, og må dermed splittes ut i en egen tabell. Vi ender da opp med følgende tabeller:

5 fengsel: poststed: fengsel_id fengsel_navn fengsel_adr fengsel_postnr fengsel_tlfnr antall_ansatte postnr poststed ' ' 'Ula Fengsel' 'Uleborgveien 7' '9287' ' ' 50 '9287' 'Uleborg' ' ' 'Ula Fengsel' 'Uleborgveien 7' '9287' ' ' 50 '5020' 'Bergen' ' ' 'Sola Landsfengsel' 'Flyplassveien 99' '5020' ' ' 75 '2090' 'Grei' ' ' 'Greikampen fengsel' 'Greikampen' '2090' ' ' 10 Fengselscelle: fengselscelletype: fengsel_id celle_id celle_type fengsel_id celle_type celle_antall ' ' 'A1-002' 'enkeltrom' ' ' 'enkeltrom' 20 ' ' 'A1-003' 'enkeltrom' ' ' 'glattcelle' 5 ' ' 'A1-004' 'enkeltrom' ' ' 'enkeltrom' 50 ' ' 'GU1-001' 'glattcelle' ' ' 'enkeltrom' 10 ' ' 'GU1-003' 'glattcelle' ' ' 'glattcelle' 10 ' ' 'B1001' 'enkeltrom' ' ' 'B3002' 'enkeltrom' ' ' 'A3-010' 'enkeltrom' ' ' 'A2-001' 'enkeltrom' ' ' 'U1-001' 'glattcelle' Disse tabellene sier vi at er i 3. normalform, forkortet 3NF. Det finnes også flere normalformer, men dette bekymrer ikke vi oss for. Vi kan glede oss over å være i mål! Nå er det din tur til å prøve! a) Du skal rydde opp i data over hytter med deres hytteeiere i hyttefelt rundt omkring i landet. Du har fått opplyst følgende om dataene og deres forhold til hverandre: et hyttefelt har et navn og en adresse to hyttefelt kan ikke ha samme navn en hytte har en eier og ligger i et hyttefelt der den har et unikt nummer en hytte har et antall sengeplasser og informasjon om den har innlagt vann og strøm eller ikke

6 en eier har et navn, en hjemmeadresse og et mobiltelefonnummer en eier kan eie flere hytter Du har fått tildelt dataene i følgende form: hyttefeltnavn hyttefeltadresse hyttenr hytteinfo eiernavn hjemadresse mobilnr 'Solsiden' 'Kjelleråsen, 1111 Kjeller' 1 'Ant.sengeplasser: 3 Strøm: Nei Vann: Ja' 'Solsiden' 'Kjelleråsen, 1111 Kjeller' 2 'Ant.sengeplasser: 8 Strøm: Ja Vann: Ja' 'Sjøvegen' 'Stavangerstranda, 3333 Stavanger' 'Fjellbygda' 'Gammelsætra, 6666 Alvdal' 1 'Ant.sengeplasser: 6 Strøm: Nei Vann: Nei' 3 'Ant.sengeplasser: 4 Strøm: Nei Vann: Ja' 'Hans Hansen' 'Storgata 10, 9999 Stokkmarknes' ' ' 'Heidi Olsen' 'Parkveien 10, 2222 Oslo' ' ' 'Jon Johnsen' 'Portveien 2, 4444 Barnetv' NULL 'Heidi Olsen' 'Parkveien 10, 2222 Oslo' ' ' Hvorfor kan det være et problem at det ikke finnes noen eierid (evt personnr eller lignende) i dataene du har fått tildelt? Finn alle brudd på 1NF i datasettet du har fått tildelt, og lag den nye tabellen i henhold til 1NF inkludert en unik id for eier. b) Finn kandidatnøkler for den nye tabellen, og lag en avhengighetstegning. Lag nye tabeller i henhold til 2NF c) Finn eventuelle avhengigheter mellom felter som ikke er primærnøkkel-felter. Lag nye tabeller i henhold til 3NF Oppgave 2 Denne oppgaven handler om logikk og operatorrekkefølge. Vi bruker databasen med 24timersløp fra oblig1 som utgangspunkt. I databaser har man, som i matematikken det som kalles for operatorer. For at man skal kunne regne riktig, må man kjenne til hvilken prioritet de ulike operatorene har. Når det gjelder de vanlige matematiske operatorene vi kjenner som pluss, minus, gange, dele, parentes og minus som fortegn, har disse følgende prioritet:

7 1. parenteser 2. minus som fortegn 3. gange og dele 4. pluss og minus Hva betyr så dette? Jo, det betyr at vi må lese et matematisk stykke i riktig rekkefølge for å få riktig svar. Eksempel: (1+2) * (3-1) = 6, fordi parenteser har høyest prioritet og skal leses først. Dermed skal man lese: 3*2 = * 3-1 = 8, fordi * har høyere prioritet enn + og -. Dermed skal man lese: 1 + (2*3) - 1 = 1+6-1=6-1 * 2 + (2+3) = 3, og her har parenteser høyere prioritet enn som fortegn som igjen har høyere prioritet enn *, som igjen har høyere prioritet enn +. Dermed skal man lese: ((-1) * 2 ) + (2+3) = (-2) + 5 = 3 a) Hva er svaret på følgende matematiske stykker? Vis hvordan du kommer fram til svaret! * * (4 + 7) * * / 5 5. (5 + 20) / / 5 10 / * 12 / * 12 / (4-8) Ikke bare har vi slike matematiske operatorer, men vi har også noen logiske. De heter parenteser, ikke, og, eller og eksklusiv eller, og kjennetegnes ved tegnene (, ),,, V og V b) Vi kjenner igjen de logiske operatorene fra SQL, men hva heter de der og hvilken prioritetsrekkefølge har de? Du skal nå bruke databasen med 24timersløp fra oblig1 som utgangspunkt for å skrive litt SQL. I besvarelser skal du legge inn: de 5 første radene av det returnerte svaret på spørringen antall rader som returneres En meget klok mann ved navn demorgan laget en gang to lover. c) Hva sier demorgans lover? Skriv dem både med logisk notasjon og oversatt til SQLsk d) Du trenger bare å hente ut fornavn, etternavn, fodt_aar og nasjonalitet. Skriv følgende utsagn som SQL-setning, forklar hvordan den skal leses og legg ved resultatet som angitt ovenfor:

8 1. fodt_aar = 1977 ELLER fodt_aar = 1968 OG nasjonalitet = NOR 2. (fodt_aar = 1977 ELLER fodt_aar = 1968) OG nasjonalitet = NOR 3. IKKE nasjonalitet = NOR OG fodt_aar = IKKE (nasjonalitet = NOR OG fodt_aar = 1968) e) Gitt følgende SQL-setning: SELECT fornavn, etternavn, nasjonalitet FROM res24timerlop WHERE NOT (nasjonalitet LIKE 'N%' OR nasjonalitet LIKE 'P%'); 1) Hva gjør setningen? 2) Skriv den om i henhold til demorgans lov og sjekk at du får samme svar. Svaret skal gis både med logisk notasjon og som SQL f) Gitt følgende SQL-setning: SELECT DISTINCT fornavn, etternavn, nasjonalitet FROM res24timerlop WHERE nasjonalitet = 'NOR' AND (klasse = 'M45' OR klasse = 'W45'); Oppgave 3 1) Hva gjør setningen? 2) Skriv den om i henhold til den distributive lov og sjekk at du får samme svar. Svaret skal gis både med logisk notasjon og som SQL Denne oppgaven handler om datamodeller. Først tar vi et et eksempel: En oppgave om datamodellering starter ofte med en tekst som man må plukke fra hverandre. Det skal vi også gjøre: " Du skal lage en database med informasjon om innsamlede planter. Plantene samles inn av forskere som registrerer dataene på en nettside. Denne nettsiden sender dataene videre til et program som legger dataene inn i din database. Planter samles inn fra plantefelt. Disse plantefeltene ligger på ulike steder i Norge, og feltene kjennetegnes av et kodenavn bestående av en stor bokstav etterfulgt av fire siffer og deretter en stor bokstav igjen. For å vite hvor et plantefelt er må dette spesifiseres gjennom UTM-koordinater for øverste venstre og nederste høyre hjørne, og feltet er således alltid firkantet. Alle planter skal lagres med botaniske navn både på latin og norsk. Det kan være flere planter av samme type i et plantefelt, og plantens plassering spesifiseres med UTM-koordinater. Man ønsker å ha med informasjon om tidspunkt og litt beskrivende informasjon for observasjon av planten i det enkelte felt."

9 Det første som det kan være lurt å gjøre er å merke seg alle substantiver i teksten, slik: " Du skal lage en database med informasjon om sjeldne planter. Informasjonen samles inn av forskere som registrerer dataene på en nettside. Denne nettsiden sender dataene videre til et program som legger dataene inn i din database. Planteinformasjon samles inn fra plantefelt som forskerne har krabbet rundt i. Disse plantefeltene ligger på ulike steder i Norge, og feltene kjennetegnes av et kodenavn bestående av en stor bokstav etterfulgt av fire siffer og deretter en stor bokstav igjen. For å vite hvor et plantefelt er må dette spesifiseres gjennom UTM-koordinater for øverste venstre og nederste høyre hjørne, og feltet er således alltid firkantet. Alle planter skal lagres med botaniske navn både på latin og norsk, og i tillegg trengs rødlistestatus, altså en tosifret kode for hvor truet planten er. Kodene som finnes er: CR-Akutt truet, EN-Sterkt truet, VU-Sårbar og NT-Nær truet. Det kan være flere planter av samme type i et plantefelt, men de opptrer aldri i grupper og plantens plassering kan dermed spesifiseres med funnpunktets UTM-koordinater. Man ønsker å ha med informasjon om tidspunkt og litt beskrivende informasjon for observasjon av planten i det enkelte felt." Deretter må man luke ut den informasjonen som er viktig, og prøve å gruppere denne. De mest iøynefallende grupperingene er plante, plantefelt og forsker, men vi drister oss også til å ta med funnpunkt, evt. kalt plantefunn. Vi prøve å legge noen av våre substantiver med litt info under hver gruppe: Plante navn latin navn norsk roedllistestatus Plantefelt kodenavn (X####X) sted i Norge (stedsnavn, kommune, fylke) UTMnord øverste venstre hjørne UTMøst øverste venstre hjørne UTMnord nederste høyre hjørne UTMøst nederste høyre hjørne Plantefunn plante dato plantefelt plassering UTMnord plassering UTMøst forsker Forsker navn Neste steg er å se litt nærmere på hver av gruppene vi har funnet, og se om noen av dem har felter med mer enn en type informasjon, evt om noen av dataene må splittes ut i egne grupper. Gruppa plante ser helt fin ut, men det kunne vært nyttig med en id som identifiserer planta. Gruppa Plantefunn ser veldig bra ut. Forsker ser litt snau ut, så der kan det være lurt å være litt kreativ. Vi legger til noen ekstra felter som vi selv synes er relevante, siden det ikke er mer informasjon å hente fra teksten: tilknyttet_institusjon, id (for å identifisere forskeren unikt), i tillegg kan det være lurt å splitte navn i fornavn og etternavn, men det er ikke livsnødvendig. La oss så se på gruppa Plantefelt. Her er det litt å grave i. Hvis vi ser på feltet sted i Norge, så inneholder dette både stedsnavn, kommune og fylke. Felter skal aldri inneholde flere data, så denne må deles opp. Deler vi den opp, så ser vi at det er rom for splittelser. Vi kan splitte ut fylke i en egen gruppe, slik at vi bare trenger en fylkeskobling fra plantefelt-gruppa. Det samme kan vi gjøre med kommune, men vi må huske på at lista over kommuner også må inneholde informasjon om fylke, for det finnes definitivt kommuner med samme navn rundt omkring. Etter dette sitter vi igjen med følgende grupper:

10 Plante planteid navn latin navn norsk rødlistestatus Plantefelt kodenavn (X####X) stedsnavn kommune fylke UTMnord øverste venstre hjørne UTMøst øverste venstre hjørne UTMnord nederste høyre hjørne UTMøst nederste høyre hjørne Plantefunn plante dato plantefelt plassering UTMnord plassering UTMøst forsker Forsker Fylke forskerid fylkesnr fornavn fylkesnavn etternavn tilknyttet_institusjon Kommune kommunenr fylkesnr kommunenavn Nå begynner dette å ligne på tabeller i en database, og det er også meningen. Neste steg er å tegne opp en modell med koblingen mellom gruppene, heretter kalt tabellene. Når vi skal lære oss modellering er det greit å bruke papir, blyant og viskelær. Datamodellene er på dette stadiet ikke så store, og vi vil ikke forstyrres av programmer som prøver å være hjelpsomme, men som i starten mer har en tendens til å forvirre oss (se modellen på neste side) :

11

12 Så kan vi lage CREATE TABLE-setninger for å opprette alle tabeller. Det er viktig å opprette tabellene i riktig rekkefølge, dvs at vi ikke kan opprette en tabell som har en kobling til en annen tabell, før denne andre tabellen er opprettet. CREATE TABLE plante( planteid INT NOT NULL, navn_latin VARCHAR(50), navn_norsk VARCHAR(50), rodlistestatus VARCHAR(2), PRIMARY KEY (planteid) ); CREATE TABLE forsker( forskerid int NOT NULL, fornavn VARCHAR(50), etternavn VARCHAR(50), tilknyttet_institusjon VARCHAR(30), PRIMARY KEY (forskerid) ); CREATE TABLE fylke( fylkesnr VARCHAR(2) NOT NULL, fylkesnavn VARCHAR(50), PRIMARY KEY (fylkesnr) ); CREATE TABLE kommune( kommunenr VARCHAR(2) NOT NULL, fylkesnr VARCHAR(2) NOT NULL, kommunenavn VARCHAR(50), PRIMARY KEY (kommunenr, fylkesnr), FOREIGN KEY (fylkesnr) REFERENCES fylke ); CREATE TABLE plantefelt( kodenavn VARCHAR(6) NOT NULL, stedsnavn VARCHAR(75),

13 kommunenr VARCHAR(2), fylkesnr VARCHAR(2), UTMnord_ovh INT, UTMost_ovh INT, UTMnord_nhh INT, UTMost_nhh INT, PRIMARY KEY (kodenavn), FOREIGN KEY (kommunenr, fylkesnr) REFERENCES kommune ); CREATE TABLE plantefunn( planteid INT NOT NULL, dato DATE NOT NULL, plantefelt VARCHAR(6), plassering_utmnord INT NOT NULL, plassering_utmost INT NOT NULL, forsker INT, PRIMARY KEY (planteid, dato, plassering_utmnord, plassering_utmost), FOREIGN KEY (planteid) REFERENCES plante, FOREIGN KEY (plantefelt) REFERENCES plantefelt, FOREIGN KEY (forsker) REFERENCES forsker ); Oppgaven starter på neste side!

14 a) Vi har kommet over en datamodell som ikke er helt ferdig. Datamodellen vi har fått inneholder informasjon om fugleordener (for eksempel spurvefugler) og fuglearter (for eksempel gråspurv), der en orden består av flere fuglearter, mens en art bare kan tilhøre en orden. Tegn inn en kobling mellom tabellene og legg inn eventuelle dataverdier for å koble dem sammen. Modellen skal tegnes på papir, scannes inn og leveres sammen med resten av besvarelsen. b) Det skal tegnes en datamodell for bussruter. Modellen skal inneholde informasjon om busser og bussruter. Det er en veldig enkel tabell på den måten at en bussrute kun kjøres av en fast buss. En rute har et nummer, et navn og en type. Dette er kun starten på en større modell på den måten at den senere kan bygges ut med informasjon om rutetider osv, men dette trenger vi ikke å bekymre oss over nå. Gitt følgende CREATE TABLE-setninger, skal dere tegne en datamodell. Modellen skal tegnes på papir, scannes inn og leveres sammen med resten av besvarelsen.

15 CREATE TABLE buss( bussid INT NOT NULL, regnr VARCHAR(7), merke VARCHAR(15), modell VARCHAR(20), drivstofftype VARCHAR(1), PRIMARY KEY (bussid) ); CREATE TABLE bussrute( ruteid INT NOT NULL, rutenavn VARCHAR(15), rute_type VARCHAR(25), bussid INT, PRIMARY KEY (ruteid), FOREIGN KEY (bussid) REFERENCES buss ); c) Gitt at en bussrute kan kjøres av flere busser, hva må vi da gjøre med datamodellen og CREATE TABLE-setningene våre? Tegn og fortell. d) Påskeharen skal levere ut påskeegg til alle barn, og trenger hjelp med forberedelsene. Systemet dere skal lage skal inneholde informasjon om innhold i hvert enkelt påskeegg, og hvem som skal ha eggene. Systemet skal ikke lagre historiske data, men kun vise tildeling av egg for et gitt tilfelle. Det skal kun lagres id, navn, alder, gateadresse, husnummer og bynavn for mottagere av påskeeggene. For enkelthets skyld finnes det ikke gater med samme navn innenfor en by, men det kan finnes flere barn i samme hus. Det skal kun lagres en id, et navn og mengde av innholdet. Det skal lagres informasjon om typen innhold et egg kan ha, for eksempel om alt er glutenfritt, sukkerfritt eller uten kunstige tilsetningsstoffer. Lag datamodell og CREATE TABLE som oppfyller kravene i teksten.

16 Oppgave 4 Denne oppgaven inneholder noen oppgaver med grunnleggende SQL i tillegg til oppgaver om JOIN, og vi skal bruke tabellene fra eksempelet i oppgave 3 som utgangspunkt. I besvarelsen skal du legge inn: de 5 første radene av det returnerte svaret på spørringen antall rader som returneres. a) Du skal nå legge inn data i tabellene. Plantenavn, funnsteder, funndatoer og rødlistestatus er hentet fra nettsiden: Andre data er et resultat av egen kreativitet(evt. mangel på dette). Ytterligere forklaring ligger etter dataene, og MÅ leses. Her er data som skal inn: plante 1;Dracocephalum ruyschiana;dragehode;vu 2;Botrychium boreale;fjellmarinøkkel;nt 3;Salix daphnoides;påskepil;vu 4;Lithospermum officinale;legesteinfrø;vu 5;Ophioglossum vulgatum;ormetunge ;VU 6;Botrychium lanceolatum;handmarinøkkel;en 7;Grifola frondosa;korallkjuke;vu 8;Fistulina hepatica;oksetundesopp;nt 9;Herminium monorchis;honningblom;cr forsker 1;Per;Olsen;Universitetet i Stavanger 2;Anne;Jensen;Høgskolen i Lillehammer 3;Kari;Knutsen;Statens Naturoppsyn 4;Jens;Jensen;Universitetet i Tromsø 5;Hanne Merethe;Hansen;Statens Naturoppsyn 6;Ove Petter Andreas Jalmar;Ovesen;Høgskolen i Østfold 7;Line Karoline;Hansen Jensen;Norsk Botanisk Forening 8;Ottar;Zendium;Statens strålevern fylke 05;Oppland 01;Østfold 08;Telemark 06;Buskerud 15;Møre og Romsdal

17 19;Troms 18;Nordland 12;Hordaland 04;Hedmark kommune 04;01;Moss 24;06;Øvre Eiker 63;15;Sunndal 02;19;Tromsø 01;05;Lillehammer 25;06;Nedre Eiker 11;01;Hvaler 20;18;Alstahaug 36;04;Tolga 15;05;Våga 01;01;Halden plantefelt O4455V;Mo;15;05; ;184400; ; Ø3243M;Bile;04;01; ;252700; ; B6534E;Dramdal;24;06; ;214825; ; M4374S;Grøvudalshytta;63;15; ;185450; ; O4456V;Vakkersletta;15;05; ;188100; ; T7645T;Fløya;02;19; ;655875; ; O5364L;Gausa;01;05; ;249650; ; B7539E;Strykåsen;25;06; ;222340; ; Ø2154H;Vadholmen, Asmaløy;11;01; ;267100; ; Ø2178H;Vikerkilen øst;11;01; ;267250; ; N6489A;Bumarka, Blomsøya;20;18; ;376350; ;37550 H6502T;Storøyvollan;36;04; ;281300; ; O1234V;Nordre Strondsætri;15;05; ;186100; ; Ø1122H;Boberg;01;01; ;289400; ; Ø1143H;Os kirkegård;01;01; ;293500; ; plantefunn 1; ;O4455V; ;184402;2

18 1; ;Ø3243M; ;252696;6 1; ;B6534E; ;214841;7 2; ;M4374S; ;185478;1 2; ;O4456V; ;188150;5 2; ;T7645T; ;655900;4 3; ;O5364L; ;249679;2 4; ;B7539E; ;222342;6 5; ;Ø2154H; ;267162;6 5; ;Ø2178H; ;267292;7 5; ;N6489A; ;376440;4 6; ;H6502T; ;281365;5 6; ;O1234V; ;186101;6 7; ;Ø1122H; ;289435;6 8; ;Ø1143H; ;293541;7 Du må selv legge på kode for INSERT-statements. Husk riktig fnutt-bruk til riktig datatype! Slik legger du inn datoer i MySQL: str_to_date(' ', '%d.%m.%y') Slik legger du inn datoer i PostgreSQL: to_date(' ', 'dd.mm.yyyy') Lag en fil som heter plantedata.sql og legg alle insert-statements i denne fila. Lagre fila på ditt hjemmeområde på serveren frigg. Logg på serveren frigg.hiof.no, og kjør følgende kommando: iconv -c -f ISO t UTF-8 -o plantedata-utf8.sql plantedata.sql Legg inn dataene fra fila plantedata-utf8.sql i databasen. b) Skriv ut norsk navn på alle planter med Rødlistestatus VU c) Hvor mange plantefelt er registrert i systemet? d) Skriv ut en liste over alle institusjoner som har ansatte forskere. Hver institusjon skal kun listes ut en gang. e) Skriv ut en liste over institusjoner og hvor mange forskere hver av dem har. Tittel (overskrift) på tellefeltet skal være 'Antall forskere'. f) Finn det kartesiske produktet av tabellene fylke og kommune g) Lag en liste med alle fylkesnr, fylkesnavn og kommunenavn. Fylker som ikke har noen registrerte kommuner skal ikke være med. Bruk JOIN. Du skal vise at du kan skrive setningen både med og uten JOIN-operatoren h) Lag en liste med stedsnavn og kommunenr for plantefelt som er plassert i samme kommune. Hint: SELF JOIN

19 i) Lag en liste med stedsnavn og kommunenavn for plantefelt som er plassert i samme kommune. j) Lag en liste over planter har samme rødlistestatus som en annen plante. Hver plante skal bare listes opp en gang. k) Skriv ut en liste over antallet forskere som har funnet en gitt plante. Plantenavn og 'Antall forskere' skal skrives ut. Lista skal sorteres synkende på antall forskere. Oppgave 5 Denne oppgaven handler om litt videregående SQL, og vi skal bruke databasen med 24timersløp fra oblig1 som utgangspunkt. I besvarelsen skal du legge inn: de 5 første radene av det returnerte svaret på spørringen antall rader som returneres. Noen av spørringene MÅ kjøres i PostgreSQL fordi det er enkelte deler av SQL-språket som ikke støttes av MySQL. Dette vil stå i den enkelte oppgave. a) Finn hele navnet og hvilken klasse de stiller i for de deltagerne som er av samme kjønn som deg selv og som har samme forbokstav som deg i for- og etternavn. Hvert navn med tilhørende klasse skal kun listes opp en gang. b) Hvor mange juniorløpere stilte til start i 2010? Hint: Du må finne ut hvilke klassenavn som brukes om juniorer før du får skrevet spørringen. c) Finn fornavn, etternavn og nasjonalitet for deltagere fra Norden (Norge, Sverige, Finland, Danmark og Island). Bruk ELLER. Hver deltager skal listes opp en gang. d) Finn fornavn, etternavn og nasjonalitet for deltagere fra Norden (Norge, Sverige, Finland, Danmark og Island). Bruk IN (subquery). Hver deltager skal listes opp en gang. e) Finn fornavn og etternavn på kvinner som stilte i klasse 'W35' eller 'W45' i Bruk UNION f) Finn gjennomsnittlig tilbakelagte kilometer for kvinner i g) Finn gjennomsnittlig tilbakelagte kilometer for henholdsvis kvinner og menn i Bruk SUBSTRING og ALIAS for å få ut første bokstav av klassestrengen og for å gi et kallenavn som tittel for dette klasse-feltet. Tittel på "gjennomsnittsfeltet" skal være 'Gjennomsnittlig antall km' h) Denne oppgaven MÅ løses i PostgreSQL! Bruk INTERSECT til å finne fornavn, etternavn og nasjonalitet til deltagere som deltok både i 2007 og 2010.

20 i) Skriv om setningen i forrige oppgave uten bruk av INTERSECT j) For ethvert land som har deltatt med flere enn 10 deltagere i 2010 skal du liste ut landsnavn, antallet deltagere og gjennomsnittlig antall km for disse deltagerne. Bruk ALIAS for å kalle tellefeltet for AntallDeltagere og gjennomsnittsfeltet for DistKm. Lista skal sorteres synkende på distkm. Hint! Les om HAVING i boka deres k) Skriv ut all informasjon om den beste deltageren i herreklassen gjennom tidene. l) Skriv ut fullt navn og nasjonalitet for den beste deltageren gjennom tidene, uavhengig av klasse. Tittel på det returnerte feltet skal være 'Beste deltager gjennom tidene'. Resultatet skal skrives på formen 'Per Olsen fra Norge'. Du må bruke strengkonkatinering for å slå sammen for- og etternavn og land. m) Lag en liste med fornavn, etternavn og nasjonalitet for deltagere som ikke deltar i noen klasse (der klasse ikke er spesifisert). Oppgave 6 Forklar med egne ord hva disse SQL-setningene gjør? Databasen med 24timersløp brukes a) SELECT arrsted, dato, fornavn, COUNT(*) FROM res24timerlop WHERE fornavn = 'Peter' GROUP BY arrsted, dato, fornavn HAVING COUNT(*) > 3 ; b) SELECT fornavn, etternavn, fodt_aar, distanse_km FROM res24timerlop WHERE distanse_km = 200 OR fodt_aar > 1950 AND fodt_aar < 1960; c) SELECT fornavn, etternavn, fodt_aar, distanse_km FROM res24timerlop WHERE fodt_aar > 1950 AND (fodt_aar < 1960 OR distanse_km = 200); d) SELECT fornavn, etternavn, (distanse_km / 10) AS regnefelt FROM res24timerlop WHERE klasse LIKE '%35' ORDER BY regnefelt DESC; e) SELECT DISTINCT fornavn FROM res24timerlop WHERE fornavn LIKE 'P%i_e'; f) SELECT fornavn, MAX(distanse_km) FROM res24timerlop GROUP BY fornavn; Lykke til!

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

Oblig 3 Databaser vår 2011

Oblig 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

Detaljer

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

Ø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

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

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

Løsningsforlag for oblig 1, databaser 2010

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

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

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

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

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

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

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

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

Obligatorisk oppgave nr. 3 i INF1300 høsten 2008

Obligatorisk oppgave nr. 3 i INF1300 høsten 2008 Obligatorisk oppgave nr. 3 i INF1300 høsten 2008 Oppgaven er beregnet på å løses og leveres som et samarbeid mellom to studenter, men det er lov for dem som vil seg selv så vondt, å levere en individuell

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG AVDELING FOR TEKNOLOGI Institutt for databehandling Kandidat nr.: Eksamensdato: 09.05.2005 Varighet: 0900-1200 (3 timer) Fagnummer: LO323D Fagnavn: Databaser Klasse(r): NETT 2006V

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Obligatorisk oppgave nr. 3 i INF1300 høsten 2009

Obligatorisk oppgave nr. 3 i INF1300 høsten 2009 Obligatorisk oppgave nr. 3 i INF1300 høsten 2009 Oppgaven er beregnet på å løses og leveres som et samarbeid mellom to studenter, men det er lov for dem som vil seg selv så vondt, å levere en individuell

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: Eksamensdato: 6.desember 2010 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasse(r): LC238D Datamodellering og databaser HING2009HA

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

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

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

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

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

Dagens program. Kunnskapsorganisasjon og gjenfinning 1. Spørring mot databaser: SQL 2 - Spørring mot flere tabeller 12.11.2014

Dagens 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

Detaljer

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid: 09.00-13.00

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid: 09.00-13.00 EKSAMEN Emnekode: ITM20606 ITF10208 Dato: Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid: 09.00-13.00 05/06-2009 Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater

Detaljer

INF3100 V2018 Obligatorisk oppgave nr. 2

INF3100 V2018 Obligatorisk oppgave nr. 2 INF3100 V2018 Obligatorisk oppgave nr. 2 Oppgavesettet skal løses og leveres individuelt. Gjennomføring og innlevering av oppgaven skal skje i henhold til gjeldende retningslinjer ved Institutt for informatikk,

Detaljer

Alle attributter har NULL som mulig verdi. mulige verdier for integer: NULL, 0, 1, 2, 3...

Alle 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

Detaljer

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Verden Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Velkommen

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

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

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen. Tetris Introduksjon Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å

Detaljer

Verden. Steg 1: Vinduet. Introduksjon

Verden. Steg 1: Vinduet. Introduksjon Verden Introduksjon Processing Introduksjon Velkommen til verdensspillet! Her skal vi lage begynnelsen av et spill hvor man skal gjette hvilke verdensdeler som er hvor. Så kan du utvide oppgava til å heller

Detaljer

1. Normalisering Kommentarer til læreboka

1. Normalisering Kommentarer til læreboka Tore Mallaug 6.11.2007 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for fagene LN323D Databaser 1. Resymé: Denne leksjonen viser et eksempel på normalisering av en liten database.

Detaljer

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill! Tetris Skrevet av: Kine Gjerstad Eide Kurs: Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett

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

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

Kunnskapsorganisasjon og gjenfinning 1

Kunnskapsorganisasjon og gjenfinning 1 Kunnskapsorganisasjon og gjenfinning 1 Normalisering Tine Lodberg Frost Normalisering 14.10.2014 Dagens forelesning Pensum Berget, G. (2010). Relasjonsdatabaser og datamodellering (3. utg.). Oslo: Høgskolen

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

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den. PXT: Stein, saks, papir Skrevet av: Bjørn Hamre Kurs: Microbit Introduksjon Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den. Steg 1: Velge tilfeldig

Detaljer

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering INF1300 Introduksjon til databaser Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering Mathias Stang (mjstang@ifi.uio.no) 21. november 2016 Agenda Hensikten med ORM-modellering Hva er lov

Detaljer

Datamodellering med UML (forts.)

Datamodellering med UML (forts.) Datamodellering med UML (forts.) jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2- Modellenes to formål Interesseområdet

Detaljer

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering INF1300 Introduksjon til databaser Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering Mathias Stang (mjstang@ifi.uio.no) 21. november 2017 Agenda Hensikten med ORM-modellering Hva er lov

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

Hvordan hente ut listen over et hagelags medlemmer fra Hageselskapets nye portal

Hvordan hente ut listen over et hagelags medlemmer fra Hageselskapets nye portal Hvordan hente ut listen over et hagelags medlemmer fra Hageselskapets nye portal Av Ole Petter Vik, Asker Versjon 2.3 20.03.2012 Beskrivelsene for hvert enkelt skritt er over hvert skjermbilde. Via Hageselskapets

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

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

Løsningsforslag eksamen i IN

Løsningsforslag eksamen i IN Løsningsslag eksamen i IN112 14.12.1992 1 A Symbolene σ, π og betegn henholdsvis seleksjon, projeksjon og naturlig join. Akt-utlån σ ER-NULL(Returdato) IDAG - Lånedato > 28 (Utlån) Svar1 Lån Akt-utlån

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

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

Eksamen i IBE102 Webutvikling Våren 2017.

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

Detaljer

Eksamen i Internetteknologi Fagkode: IVA1379

Eksamen i Internetteknologi Fagkode: IVA1379 Høgskolen i Narvik Side 1 av 5 Eksamen i Internetteknologi Fagkode: IVA1379 Tid: Mandag, 07.06.04, 9:00-12:00 Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler tillatt. Eksamen består av 4 oppgaver

Detaljer

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 12. august 2013 Eksamenstid (fra-til): 15:00-19:00 Hjelpemiddelkode/Tillatte

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

1. Relasjonsmodellen. 1.1. Kommentarer til læreboka

1. Relasjonsmodellen. 1.1. Kommentarer til læreboka Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Relasjonsmodellen Tore Mallaug 2.9.2013 Lærestoffet er utviklet for faget Databaser 1. Relasjonsmodellen Resymé: Denne leksjonen gir en kort

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1300 Introduksjon til databaser Eksamensdag: 30. november 2012 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:

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

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF3100/INF4100 Databasesystemer Eksamensdag : Tirsdag 8. juni 2004 Tid for eksamen : 09.00-12.00 Oppgavesettet er på : 5 sider

Detaljer

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 12. august 2013 Eksamenstid (fra-til): 15:00-19:00 Hjelpemiddelkode/Tillatte

Detaljer

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

Detaljer

Steg 1: Piler og knappetrykk

Steg 1: Piler og knappetrykk PXT: Er du rask nok? Skrevet av: Julie Christina Revdahl Kurs: Microbit Tema: Blokkbasert, Spill, Elektronikk Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1300 Introduksjon til databaser Eksamensdag: 1. desember 2014 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:

Detaljer

Ekvivalente stier (Equivalence of Path, EOP) i storm

Ekvivalente stier (Equivalence of Path, EOP) i storm Ekvivalente stier (Equivalence of Path, EOP) i storm Dette er ikke rett fram, derfor denne beskrivelsen. Vi tar utgangspunkt i følgende modell for kinoer og kinoforestillinger: Bilde 1 ORM2 modell I bildet

Detaljer

Emnenavn: Ny/utsatt eksamen. Eksamenstid: Faglærer: Edgar Bostrøm. Erik Åsberg. Davide Roverso

Emnenavn: Ny/utsatt eksamen. Eksamenstid: Faglærer: Edgar Bostrøm. Erik Åsberg. Davide Roverso Høgskolen i østfold EKSAMEN Emnekode: Emnenavn: ITF301415 Store datamengder: analyse og prosessering Ny/utsatt eksamen Dato: Eksamenstid: 20.05.2016 09:00-12:00 Hjelpemidler: Ingen Faglærer: Edgar Bostrøm

Detaljer

Introduksjon til fagfeltet

Introduksjon til fagfeltet LC238D http://www.aitel.hist.no/fag/_dmdb/ Introduksjon til fagfeltet Datafiler side 2 Databasesystemer side 3-5 Databasearkitektur ANSI/SPARC side 6-7 Datamodeller side 8 Flerbruker databasesystem side

Detaljer

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering IN2090 Databaser og datamodellering Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering Mathias Stang (mjstang@ifi.uio.no) 19. november 2018 Agenda Hensikten med ORM-modellering Hva er lov

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

Modellenes to formål. Datamodellering med UML (forts.) Fra naturlig språk til datamodell. Figur 5-2. Ogdens trekant

Modellenes to formål. Datamodellering med UML (forts.) Fra naturlig språk til datamodell. Figur 5-2. Ogdens trekant Modellenes to formål Interesseområdet Dataering med UML (forts.) Beskrivelse jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem

Detaljer

SQL og Mengdelære. Oracle, MySQL, Access, bruker forskjellige syntaks.

SQL og Mengdelære. Oracle, MySQL, Access, bruker forskjellige syntaks. SQL og Mengdelære Oracle, MySQL, Access, bruker forskjellige syntaks. Kan vi beskrive, hva SQL er og hva man kan gjøre med SQL, uavhengig av konkret syntaks!!! Hvilke universale formelle språk har vi til

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

Focusportal brukerveiledning hovedleder SØNDAGSSKOLEN NORGE

Focusportal brukerveiledning hovedleder SØNDAGSSKOLEN NORGE Focusportal brukerveiledning hovedleder SØNDAGSSKOLEN NORGE # 1 Innlogging # 2 Introduksjon # 3 Registrere nye barn/ledere # 4 Hvordan finne barn/ledere som tidligere har vært medlemmer # 5 Dubletter #

Detaljer

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive, 1. Last ned og installer XAMPP. 2. Sjekk at alt fungerer. 3. MySQL. Vi begynner med databaseserveren, MySQL. Gå til DOS klarmelding eller ledetekst (finnes under tilbehør på startmenyen om du ikke som

Detaljer

Test 2 OOP. - Prøveeksamen

Test 2 OOP. - Prøveeksamen Test 2 OOP - Prøveeksamen 2007 - Viktig: Jobb med oppgavene som om det var eksamen Ikke snakk med sidemann, ta korte pauser, benytt kun skriftlige hjelpemidler du hadde tenkt til å hatt med på eksamen.

Detaljer

Verdens korteste grunnkurs i Excel (2007-versjonen)

Verdens korteste grunnkurs i Excel (2007-versjonen) Verdens korteste grunnkurs i Excel (2007-versjonen) NB! Vær oppmerksom på at Excel kan se annerledes ut hos dere enn det gjør på bildene under. Her er det tatt utgangspunkt i programvaren fra 2007, mens

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO INF050/INF02 vår2005 Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 050 Systemutvikling INF02 Utvikling av datasystemer Eksamensdag: Onsdag 5. juni 2005 Tid for

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1300 Introduksjon til databaser Eksamensdag: 30. november 2015 Tid for eksamen: 09.00 15.00 Oppgavesettet er på: 6 sider Vedlegg:

Detaljer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 26. mai 2014 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte

Detaljer

Oppgave 1 Datamodellering 22 %

Oppgave 1 Datamodellering 22 % Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL EKSAMENSOPPGAVE I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER Eksamensdato:

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

Relasjonsdatabasedesign

Relasjonsdatabasedesign UNIVERSITETET I OSLO Relasjonsdatabasedesign Normalformer Institutt for Informatikk INF3100-1.2.2010 Ellen Munthe-Kaas 1 Normalformer Normalformer er et uttrykk for hvor godt vi har lykkes i en dekomposisjon

Detaljer

CabinWeb BRUKERDOKUMENTASJON ET SYSTEM UTVIKLET AV DELFI DATA

CabinWeb BRUKERDOKUMENTASJON ET SYSTEM UTVIKLET AV DELFI DATA CabinWeb BRUKERDOKUMENTASJON ET SYSTEM UTVIKLET AV DELFI DATA Sist oppdatert 18.02.2010 INNHOLD INNHOLD... 1 HVA ER CABINWEB... 2 HVA KAN DU BRUKE CABINWEB TIL?... 3 HVA ER NYTT I CABINWEB VERSJON 2.0...

Detaljer