Datamodellering og databaser SQL, del 2

Størrelse: px
Begynne med side:

Download "Datamodellering og databaser SQL, del 2"

Transkript

1 SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side INSERT-setningen side 17 DELETE-setningen side 18 Indekser side 19 Læreboka: Side , , , Se også Forelesning 9, uke 41 Eksempelbase leverandor lev_nr lev_navn status lev_by 1 Svendsen 20 Lillehammer 2 Jensen 10 Porsgrunn 3 Bø 30 Porsgrunn 4 Christiansen 20 Lillehammer 5 Andersen 30 Arendal produkt prod_nr prod_navn kode vekt prod_by 1 synåler rød 12 Lillehammer 2 binders grønn 17 Porsgrunn 3 skruer blå 17 Risør 4 skruer rød 14 Lillehammer leveranse lev_nr prod_nr antall knapper blå 12 Porsgrunn 6 spiker rød 19 Lillehammer side 2 1

2 Virtuelle tabeller views ikke øyeblikksbilder Et view definerer en spørring under et bestemt navn. Syntaks: CREATE VIEW navn AS spørring; Eksempel: create view daarlige_leverandorer as select lev_nr, lev_navn, status from leverandor where status < 30; select * from daarlige_leverandorer; Vi lager ikke en fysisk tabell, men vi gir navn til et vindu mot databasen Kan bruke et view på samme måte som en vanlig fysisk tabell, men det er begrensninger på oppdateringer. Aktuelt for å forenkle spørringer. Aktuelt for å lage spesialtilpassede utsnitt. lev_nr lev_navn status lev_by 1 Svendsen 20 Lillehammer 2 Jensen 10 Porsgrunn 3 Bø 30 Porsgrunn 4 Christiansen 20 Lillehammer 5 Andersen 30 Arendal side 3 Oppdatering via virtuelle tabeller (views) Hva skal til for at en skal kunne oppdatere tabeller (insert, delete, update) som vises i et vindu (view)? SQL-standard: Vinduet må være basert på kun én tabell. Definisjonen må ikke inneholde uttrykk, funksjoner, mengdeoperatorer, de reserverte ordene DISTINCT, GROUP BY eller ORDER BY. Oracle godtar i visse tilfeller oppdatering av vinduer som er basert på mer enn én tabell JavaDB støtter ikke oppdatering via view s i det hele tatt side 4 2

3 Oppdatering via virtuelle tabeller (views) (ikke implementert i JavaDB) UPDATE UPDATE daarlige_leverandorer SET lev_navn = 'Olsen' WHERE lev_nr = 5; DELETE DELETE FROM daarlige_leverandorer WHERE lev_nr = 4; (krever: DELETE FROM leveranse WHERE lev_nr = 4;) INSERT INSERT INTO daarlige_leverandorer VALUES(8, 'Bye', 40); Opprettes, men vises ikke i den virtuelle tabellen WITH CHECK OPTION forhindrer at rader som ikke passer inn i den virtuelle tabellen blir lagt inn: CREATE VIEW daarlige_leverandorer2 AS SELECT lev_nr, lev_navn,status FROM leverandor WHERE status < 30 WITH CHECK OPTION; Forandrer dataene i den fysiske tabellen leverandor. side 5 Oppdatering via virtuelle tabeller basert på mer enn én fysisk tabell (ikke pensum) CREATE VIEW lev_info AS SELECT l.lev_nr, lev_navn, p.prod_nr, prod_navn, leveranse.antall FROM leverandor l, leveranse, produkt p WHERE l.lev_nr = leveranse.lev_nr AND p.prod_nr = leveranse.prod_nr AND p.prod_nr < 3; SELECT * FROM lev_info; observer utskrift! Ikke tillatt: UPDATE lev_info SET lev_navn = Hansen WHERE lev_nr = 2; Tillatt i Oracle: UPDATE lev_info SET antall = 500 WHERE lev_nr = 2 AND prod_nr = 1; UPDATE lev_info SET antall = 700 WHERE lev_nr = 2; side 6 3

4 NULL-verdier NULL betyr at dataverdien mangler. Det er ikke det samme som tallverdien 0 eller et tekstfelt som inneholder bare blanke tegn. Kan spare oss for mye problemer dersom vi kan unngå NULL-verdier. Kan bruke DEFAULT til å angi verdi som skal gjelde dersom spesiell verdi ikke oppgis: CREATE TABLE leverandor( lev_nr INTEGER, lev_navn VARCHAR(15) NOT NULL, status INTEGER DEFAULT 0, lev_by VARCHAR(15) DEFAULT ' ', CONSTRAINT lev_pk PRIMARY KEY(lev_nr)); Merk at i Oracle (ikke i JavaDB) blir den tomme strengen '' tolket som NULL. For at det ikke skal skje må strengen innholde minst ett blankt tegn. DEFAULT-verdiene tas i bruk f.eks. slik: INSERT INTO leverandor(lev_nr, lev_navn) VALUES(1234, 'Svendsen'); Kan vanligvis ikke bruke default-verdier for fremmednøkler. side 7 NULL-verdier, forts Eksempel tabellen lev_med_null: lev_nr lev_navn status lev_by 1 Svendsen NULL NULL 2 Jensen 10 Porsgrunn 3 Bø 30 Porsgrunn 4 Christiansen 20 Lillehammer 5 Andersen 30 Arendal 6 Jensen NULL NULL 7 Hansen 40 NULL CREATE TABLE lev_med_null( lev_nr INTEGER, lev_navn VARCHAR(15) NOT NULL, status INTEGER, lev_by VARCHAR(15), CONSTRAINT lev_med_null_pk PRIMARY KEY(lev_nr)); INSERT INTO lev_med_null SELECT * FROM leverandor; INSERT INTO lev_med_null( lev_nr, lev_navn, status, lev_by) VALUES(6, 'Jensen', NULL, NULL); INSERT INTO lev_med_null( lev_nr, lev_navn, status, lev_by) VALUES(7, 'Hansen', 40, NULL); UPDATE lev_med_null SET status = NULL, lev_by = NULL where lev_nr = 1; side 8 4

5 Test på NULL-verdier Test på likhet select * from lev_med_null where status is null; Test på ulikhet select * from lev_med_null where status is not null; side 9 Du må alltid ta hensyn til mulige NULL-verdier Eksempel: Finn alle som helt sikkert ikke er stasjonert på Lillehammer Select * from lev_med_null where lev_by <> Lillehammer ; Finn alle som kan være stasjonert på Lillehammer Select * from lev_med_null where lev_by = Lillehammer or lev_by is null; Vi burde heller hatt en default-veredi som var satt til f.eks. «Ikke plassert». Disse ville vi fått ut i den første spørringen. side 10 5

6 COUNT( ), GROUP BY og NULL --COUNT(*) select count(*) from lev_med_null; --COUNT(lev_by) - teller kun ikke-null-verdier select count(lev_by) from lev_med_null; --COUNT(DISTINCT lev_by) select count(distinct lev_by) from lev_med_null; --GROUP BY - null-verdier tilhører en og samme gruppe -- Hvor mange leverandører i hver by? select lev_by, count(*) "antall" from lev_med_null group by lev_by; side 11 DISTINCT, aggregeringsfunksjoner og NULL-verdier ----DISTINCT - alle nullverdier håndteres som like SELECT DISTINCT status FROM lev_med_null; Aggregeringsfunksjoner --Finn gjennomsnittlig statusverdi SELECT AVG(status) FROM lev_med_null; -- svar 26. Regner ikke med null-verdiene SELECT SUM(status) / COUNT(status) FROM lev_med_null; -- svar 26. Regner ikke med null-verdiene SELECT SUM(status) / COUNT(*) FROM lev_med_null; -- svar 18. Regner med alle radene side 12 6

7 NULL-verdier i beregninger Beregninger med NULL Verdien av et aritmetisk uttrykk med NULL blir NULL. NULL-verdier er ikke lik noen annen verdi (unntak GROUP BY og DISTINCT der en NULL-verdi behandles som lik med en annen NULL-verdi): Rader med NULL-verdier i sammenlikningsfeltet blir dermed ikke med i indre forening Gjelder spesielt der fremmednøkler er NULL For å få med disse må en bruke LEFT/RIGHT JOIN side 13 NULL-verdier i delspørringer Det handler om å ta hensyn til at resultatene fra delspørringen kan inneholder en eller flere NULL-verdier. SELECT lev_nr, lev_by FROM lev_med_null WHERE lev_navn > 'B'; LEV_NR LEV_BY <null> 2 Porsgrunn 3 Porsgrunn 4 Lillehammer 6 <null> 7 <null> SELECT * from produkt WHERE prod_by IN (SELECT lev_by FROM lev_med_null WHERE lev_navn > 'B'); PROD_NR PROD_NAVN KODE VEKT PROD_BY 1 synåler rød 12.0 Lillehammer 2 binders grønn 17.0 Porsgrunn 4 skruer rød 14.0 Lillehammer 5 knapper blå 12.0 Porsgrunn 6 spiker rød 19.0 Lillehammer SELECT * from produkt WHERE prod_by NOT IN (SELECT lev_by FROM lev_med_null WHERE lev_navn > 'B'); Resultat: Ingen rader Spørringen sjekker om prod_by er blant en mengde med byer som også omfatter null-verdier. Vi kan imidlertid ikke si at en prod_by er lik en av disse null-verdiene. Derfor får vi ikke ut prod_nr 3. Spørringen gir ut prod_by hvis den ikke er blant en mengde med byer som også omfatter null-verdier. Disse null-verdiene kan være den byen vi søker etter. Derfor kan vi ikke si at den ikke er det. Derfor får vi ikke ut noe. Else Lervik, oktober 2010 side 14 7

8 UPDATE-setningen Produkt 2 skal skifte til fargekode gul, og vekten skal økes med 3: update produkt set kode = gul, vekt = 3 where prod_nr = 2; Gjør om alle vektene fra gram til kilo update produkt set vekt = vekt / 1000; Nullstill antall levert for alle leverandører i Porsgrunn: update leveranse set antall = 0 where lev_nr in (select lev_nr from leverandor where lev_by = Porsgrunn ); Sett lev_by til NULL for leverandør 3: update leverandor set lev_by = null where lev_nr = 3 side 15 Endre primærnøkkelverdi Endre leverandør-nummer 3 til 7: UPDATE leverandor SET lev_nr = 7 WHERE lev_nr = 3; ikke tillatt hvis autonummerert verdi ikke tillatt pga fremmednøkkelverdi i leveranse UPDATE CASCADE ville gjort dette mulig, og også endret alle aktuelle fremmednøkkelverdier dersom primærnøkkelen ikke er et løpenummer, må vi regne med at det før eller senere kan bli aktuelt å forandre på den system uten UPDATE CASCADE lage ny leverandør-rad, endre lev_nr i leveranse til å referere til denne nye raden, slette opprinnelige leverandør-rad må defineres som én transaksjon side 16 8

9 INSERT-setningen Enkle INSERT-setninger INSERT INTO leverandor(lev_nr, lev_navn, status, lev_by) VALUES(10, 'Åseby', 20, 'Oslo'); INSERT INTO leverandor(lev_nr, lev_navn) VALUES(DEFAULT, 'Hansen'); For øvrige felt brukes DEFAULT- og NULL-verdier Kopierer data fra en tabell til en annen (aktuelt ved historikk): CREATE TABLE daarlige_leverandor( lev_nr INTEGER PRIMARY KEY, lev_navn VARCHAR(15) NOT NULL, status INTEGER, lev_by VARCHAR(15)); INSERT INTO daarlige_leverandor(lev_nr, lev_navn, status, lev_by) SELECT * FROM leverandor WHERE status < 30; Bør vurdere å slette dataene som er kopiert fra tabellen leverandor side 17 DELETE-setningen DELETE FROM leveranse; sletter alle dataene DELETE FROM leveranse WHERE... DELETE FROM leverandor WHERE lev_nr = 3; ikke tillatt hvis leverandøren har leveranse (fremmednøkkelkrav) side 18 9

10 Indekser Indekser muliggjør hurtigsøking blant dataene Vanlig at primærnøkler og fremmednøkler indekseres automatisk, se f.eks. NetBeans/JavaDB Indeksen lagret på egen fil liten fil som ofte får plass i minnet nøkkelverdi og peker til de fysiske dataene (blokka der dataene er lagret, én diskaksess pr oppslag) Kan ha flere indekser pr tabell Indeksene ofte organisert som B+-tre (se figur side 273) Mulig å opprette ekstra indekser på kolonner som en vet at ofte etterspørres CREATE INDEX indeksnavn ON tabell(kolonnenavn); DROP INDEX indeksnavn; Indekser gir raskere søk, men tregere oppdatering side 19 10

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

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

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

SQL, del 1 - select. Hva er SQL?

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

Detaljer

SQL, del 1 - select. Hva er SQL?

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

Detaljer

LC238D Datamodellering og databaser SQL, del 1 - SELECT

LC238D 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

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

Metaspråket for å beskrive grammatikk

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

Detaljer

Integritetsregler i SQL. Primærnøkler

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

Detaljer

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

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

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

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

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

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

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

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

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

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

Detaljer

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

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

Applikasjonsutvikling med databaser

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

Detaljer

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

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

Detaljer

Tilkobling og Triggere

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

Detaljer

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

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

Detaljer

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

Å 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

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

9. ASP med databasekopling, del II

9. ASP med databasekopling, del II Else Lervik 23.03.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 9. Resymé: I forrige leksjon så vi hvordan ASP kunne brukes til å vise

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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Detaljer

SQL: Integritetsregler, triggere og views

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

Detaljer

Transaksjoner og flerbrukerproblematikk. Transaksjoner

Transaksjoner og flerbrukerproblematikk. Transaksjoner LC238D http://www.aitel.hist.no/fag/_dmdb/ Transaksjoner og flerbrukerproblematikk Transaksjoner side 2-4 Låseteknikker side 5 Isolasjonsnivåer side 6-7 Flerbrukerproblemer i fbm utførelse av transaksjoner

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

SQL SELECT-FROM-WHERE. Skjemadefinisjon og datainnsetting i SQL. Semantikk bak ein-relasjons-spørring

SQL 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

Detaljer

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

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

Detaljer

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

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

Detaljer

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

ORDBMS og OODBMS i praksis

ORDBMS og OODBMS i praksis ORDBMS og OODBMS i praksis Lars Vidar Magnusson November 2, 2011 Lars Vidar Magnusson () Forelesning i DAS 01.11.2011 November 2, 2011 1 / 18 Eksempler på ORDBMS Flere av de store databaser i dag hevder

Detaljer

Transaksjoner og flerbrukerproblematikk. Transaksjoner

Transaksjoner og flerbrukerproblematikk. Transaksjoner LC238D http://www.aitel.hist.no/fag/_dmdb/ Transaksjoner og flerbrukerproblematikk Transaksjoner side 2-4 Låseteknikker side 5 Isolasjonsnivåer side 6-7 Flerbrukerproblemer i fbm utførelse av transaksjoner

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

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

Detaljer

Utvikling fra kjernen og ut

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

Detaljer

Klasser skal lages slik at de i minst mulig grad er avhengig av at klienten gjør bestemte ting STOL ALDRI PÅ KLIENTEN!

Klasser skal lages slik at de i minst mulig grad er avhengig av at klienten gjør bestemte ting STOL ALDRI PÅ KLIENTEN! Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse Transaksjonshåndtering LC191D Videregående programmering

Detaljer

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

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

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

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

Detaljer

Videregående programmering 6

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

Detaljer

10. ASP og SQL Innledning Recordset-objektet. Innhold. Referanse til læreboka Kapittel Se detaljer nedenfor.

10. ASP og SQL Innledning Recordset-objektet. Innhold. Referanse til læreboka Kapittel Se detaljer nedenfor. Else Lervik 29.03.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 10. Resymé: Vi begynner med å inspisere Recordset-objektet. Deretter

Detaljer

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

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

Detaljer

Ø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

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

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

Detaljer

5602 DATABASER 02.12.2010. Bokmål/nynorsk. 17 (inkludert denne forsiden) Eksamensresultatene blir offentliggjort på Studentweb.

5602 DATABASER 02.12.2010. Bokmål/nynorsk. 17 (inkludert denne forsiden) Eksamensresultatene blir offentliggjort på Studentweb. Høgskolen i Telemark EKSAMEN 5602 DATABASER 02.12.2010 Tid: 9-14 Målform: Sidetall: Hjelpemidler: Merknader: Bokmål/nynorsk 17 (inkludert denne forsiden) Ingen Ingen Vedlegg: A: Eksempeldata og B: Svarark

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

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

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

Detaljer

UNIVERSITETET. triggere og views. Institutt for Informatikk. INF Arne Maus 1

UNIVERSITETET. triggere og views. Institutt for Informatikk. INF Arne Maus 1 UNIVERSITETET IOSLO SQL: Integritetsregler, triggere og views Institutt for Informatikk INF3100 28.2.2012 Arne Maus 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet fremmednøkler

Detaljer

EKSAMEN. Emnekode: ITF10306. Emne: Databaser. Dato: 13.05.13 Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven)

EKSAMEN. Emnekode: ITF10306. Emne: Databaser. Dato: 13.05.13 Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven) EKSAMEN Emnekode: ITF10306 Emne: Databaser Dato: 13.05.13 Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven) Faglærer: Edgar Bostrøm Oppgavesettet består av 4 sider inklusiv denne

Detaljer

1. Introduksjon til Oracle Express Edition

1. Introduksjon til Oracle Express Edition Kjell Toft Hansen 22.06.2010 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO177D Databaseprogrammering med PL/SQL 1. Dette notatet skal gi deg en kort innføring i bruken av Oracle

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Informasjonsbærende referansemåter Resten av realiseringsalgoritmen Sterk realisering Realisering versus modellering INF1300-31.10.2016

Detaljer

svarforslag SLUTTEKSAMEN IBE211 Databaser, våren 2015

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

Detaljer

Systemutvikling fra kjernen og ut, fra skallet og inn

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

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

Detaljer

Oppgave #1 Tablespacer, Tabeller, Indexer, og Brukere

Oppgave #1 Tablespacer, Tabeller, Indexer, og Brukere IS-203 Oblig innlevering: Del 4 Frist: 15.04.2011 Oppgave #1 Tablespacer, Tabeller, Indexer, og Brukere Vi har lært hvordan man oppretter tablespacer og, underveis, lært om de ulike måter å forvalte extentene

Detaljer

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

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

Detaljer

Databaser 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

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

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

Detaljer

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

INF1300 Introduksjon til databaser

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

Detaljer

PostGIS som navet i dataforvaltningen ved Skog og landskap

PostGIS som navet i dataforvaltningen ved Skog og landskap PostGIS som navet i dataforvaltningen ved Skog og landskap muligheter, utfordringer og erfaringer Ingvild Nystuen, Lars Opsahl, Teknologiforum, 12.11.2014 Skog og landskap Den store verden Data kopieres

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

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

SQL Introduksjonskurs. Oversikt

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

Detaljer

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

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: 23. mai 2013 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte

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: 19. mai 2003 Varighet: 0900-1300 Fagnummer: Fagnavn: Klasser: LV193D Web-programmering med JSP NETT Studiepoeng:

Detaljer

Databaser & objektorientering.

Databaser & objektorientering. Databaser & objektorientering. Noen grunnbegreper innen objektorientering. Klasser og forekomster klasser beskriver strukturen for noe. Beskrivelsen inneholder: et navn attributter /egenskaper / tilstander

Detaljer

UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer.

UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer. UNIVERSITETET IOSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF30 22.2.2011

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

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

Utvikling fra kjernen og ut

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

Detaljer

Ekvivalente stier (Equivalence of Path, EOP) i storm

Ekvivalente stier (Equivalence of Path, EOP) i storm Ekvivalentestier(EquivalenceofPath,EOP)istORM Detteerikkerettfram,derfordennebeskrivelsen.Vitarutgangspunktifølgende modellforkinoerogkinoforestillinger: Bilde1 ORM2 modell I bildet under ser du modellen

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

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

Høgskolen i Telemark EKSAMEN 6102 DATABASER 02.12.2014. Tid: 10-14. 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

Relasjoner terminologi

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

Detaljer

Å programmere databasetjeneren JavaDB. Programkoden ligger i databasen

Å programmere databasetjeneren JavaDB. Programkoden ligger i databasen http://www.aitel.hist.no/fag/_dmdb/ Å programmere databasetjeneren JavaDB Programkoden ligger i databasen: hva, hvorfor og hvordan side 2-5 Hallo til verden (eksempel) side 6 CallSpec s side 7 CREATE PROCEDURE

Detaljer

Samtidighetsfenomener og anomalier i eksekveringsplaner. INF Ellen Munthe-Kaas 1

Samtidighetsfenomener og anomalier i eksekveringsplaner. INF Ellen Munthe-Kaas 1 Samtidighetsfenomener og anomalier i eksekveringsplaner INF3100 15.3.2012 Ellen Munthe-Kaas 1 Liste over fenomener og anomalier P0 Skitten skriv w 1 (x)..w 2 (x)..(c 1 eller a 1 ) P1 Skitten les w 1 (x)..r

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

Her er eksamenssett fra Vår '09. Av Robin Sværen og Simen Arvesen.

Her er eksamenssett fra Vår '09. Av Robin Sværen og Simen Arvesen. Her er eksamenssett fra Vår '09. Av Robin Sværen og Simen Arvesen. Del 1 Kodeforståelse (10%) Her skal du kun svare på selve spørsmålet, og du trenger ikke forklare hvordan du kommer frem til svaret. NB!

Detaljer

Database security. Kapittel 14 Building Secure Software. Inf329, Høst 2005 Isabel Maldonado st10900@student.uib.no

Database security. Kapittel 14 Building Secure Software. Inf329, Høst 2005 Isabel Maldonado st10900@student.uib.no Database security Kapittel 14 Building Secure Software Inf329, Høst 2005 Isabel Maldonado st10900@student.uib.no Kort introduksjon Database er en organisert samling av data. SQL(Structured Query Language)

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

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet. TDT445 Øving 4 Oppgave a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet. Nøkkel: Supernøkkel: Funksjonell avhengighet: Data i en database som kan unikt identifisere (et sett

Detaljer

Utvikling fra kjernen og ut

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

Detaljer

Utvikling fra kjernen og ut

Utvikling fra kjernen og ut Utvikling fra kjernen og ut! inn ut Virkelighetsmodell Brukergrensesnitt Utviklingsretning Applikasjon Bruker Plattform Oppfatning av interesseområdet jfr. Systemutvikling Fra kjernen og ut, fra skallet

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

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: 15. desember 2003 Varighet: 0900 1200 Fagnummer: Fagnavn: Klasse(r): LV193D Web-programmering med JSP NETT Studiepoeng:

Detaljer

Spørringer mot flere tabeller

Spørringer mot flere tabeller Spørringer mot flere tabeller Kartesisk produkt / kryssprodukt/krysskobling Likekoblinger INNER JOIN syntaks Generelle koblinger Egenkoblinger Ytre koblinger Union, snitt og differanse Mer om gruppering

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

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 6 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL EKSAMENSOPPGAVE I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER, ver

Detaljer

Høgskoleni østfold EKSAMEN. består av 4 sider inklusiv denne forsiden. Vedlegget består av 6 sider.

Høgskoleni østfold EKSAMEN. består av 4 sider inklusiv denne forsiden. Vedlegget består av 6 sider. Høgskoleni østfold EKSAMEN Emnekode:Emne: ITF10306Databaser Dato: 12.05.15Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven) Faglærer: Edgar Bostrøm Oppgavesettet består av 4 sider

Detaljer

I denne leksjonen skal se på hvordan vi bruker innebygde og brukerdefinerte funksjoner.

I denne leksjonen skal se på hvordan vi bruker innebygde og brukerdefinerte funksjoner. Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Leksjon :MySQL - funksjoner Kjell Toft Hansen - revidert for MySQL av Tore Mallaug 27.02.2013 Lærestoffet er utviklet for faget Databaser

Detaljer

SQL Structured Query Language

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

Detaljer

DBS18 - Strategier for Query-prosessering

DBS18 - Strategier for Query-prosessering Side 1 for Databaser DBS18 - Strategier for Query-prosessering søndag 22. mai 2016 13.03 Pensum 18.1-18.4, side 655-674, unntatt 18.4.4 og 18.4.5 En spørring som blir skrevet i et høynivå-språk, må bli

Detaljer