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

Størrelse: px
Begynne med side:

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

Transkript

1 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 disposisjon? Logikk Mengdelære (Kategori teori) (Type teori) Pensum: Kapittel 6 Databaser Leksjon 5: Relasjonsmodellen - 1

2 Tabeller som Mengder Hva er tabell med navn Vare for noe? Rekkefølge er uten betydning. Ingen duplikater. VNr Betegnelse Pris Kategori Antall Marsipantang Konditor Malerskrin Hobby Nisseskjegg Dukker Hengebegonia Blomster Kram tørrfluekorker Fiske 213 Tabell Vare er (per i dag) en mengde av fem rader! Vare = r1, r2, r3, r4, r5 Databaser Leksjon 5: Relasjonsmodellen - 2

3 Mengde notasjon Hvor mange forskjellige mengder beskriver vi med følgende 10 mengde uttrykk? OBS! a, a, b, c, b, a, b, c, a, c, b, a, a, a, a, a, a, b, b, a, a, c, b, c, c, c, c, c, b, b, c, a, a, Bruk av krøllparenteser i mengdelære betyr at vi abstraherer fra rekkefølge og antall! Databaser Leksjon 5: Relasjonsmodellen - 3

4 Rader som Tupler Hvordan beskriver vi rader i tabellen Vare i mengdelære? De er 5-tupler! VNr Betegnelse Pris Kategori Antall Marsipantang Konditor Malerskrin Hobby Nisseskjegg Dukker Hengebegonia Blomster Kram tørrfluekorker Fiske 213 Vare = r1, r2, r3, r4, r5 r1 = 90693, Marsipantang, 57.00, Konditor, 0 r2 = 44939, Malerskrin, , Hoppy, 2 Databaser Leksjon 5: Relasjonsmodellen - 4

5 Kartesisk produkt - Eksempel 5-tuppel 90693, Marsipantang, 57.00, Konditor, 0 tilhører hvilken mengde? Hva sier tabelldefinisjon? CREATE TABLE Vare ( VNr CHAR(5), Betegnelse VARCHAR(30), Pris DECIMAL(8,2), Kategory VARCHAR(20), Antall INTEGER ) r1 = 90693, Marsipantang, 57.00, Konditor, 0 is element av Kartesisk produkt (kryssprodukt) C(5) VC(30) D(8,2) VC(20) Int Vi bruker forkortelser C(5) for CHAR(5), VC(30) for VARCHAR(30), D(8,2) for DECIMAL(8,2), Databaser Leksjon 5: Relasjonsmodellen - 5

6 Kartesisk produkt - Eksempel CREATE TABLE Vare ( VNr CHAR(5), Betegnelse VARCHAR(30), Pris DECIMAL(8,2), Kategory VARCHAR(20), Antall INTEGER ) OBS! Innhold av tabell Vare varierer med tiden! Men tabelldefinisjon sier at tabell Vare er, til hver tidspunkt, en delmengde av kryssprodukt C 5 VC 30 D 8,2 VC 20 Int Delmengde notasjon: Vare C 5 VC 30 D 8,2 VC 20 Int Databaser Leksjon 5: Relasjonsmodellen - 6

7 Kartesisk produkt og funksjoner For n mengder S 1,, S n er kartesisk produkt (kryssproduk) definert som mengde av ordnede n-tupler: S S = x,, x x S x S En funksjon f: A B fra mengde A til mengde B gir oss for hvert element a A et entydig resultat f a B. Introduserer vi (implisitt) funksjoner hvis vi konstruerer kryssprodukt C 5 VC 30 D 8,2 VC 20 Int? Peker spørringer som SELECT VNr FROM Vare på funksjoner? projeksjoner Π : C 5 VC 30 D 8,2 VC 20 Int C(5) Π 90693, Marsipantang, 57.00, Konditor, 0 =90693 Π 44939, Malerskrin, , Hobby, 2 =44939 Databaser Leksjon 5: Relasjonsmodellen - 7

8 Projeksjoner Hvordan kan vi beskrive resultatet av spørring SELECT VNr FROM Vare? Det er bildet av delmengde Vare C(5) VC 30 D 8,2 VC 20 Int mht projeksjon Π : C 5 VC 30 D 8,2 VC 20 Int C5 Π Vare = Π r,, Π (r ) = 90692,44939,10830,64551,15217 C(5) Databaser Leksjon 5: Relasjonsmodellen - 8

9 Projeksjoner Resultatet av spørring SELECT VNr,Antall FROM Vare? Det er bildet av delmengde Vare mht projeksjon Π, : C 5 VC 30 D 8,2 VC 20 Int C(5) Int VNr Betegnelse Pris Kategori Antall Marsipantang Konditor Malerskrin Hobby Nisseskjegg Dukker Hengebegonia Blomster Kram tørrfluekorker Fiske 213 Databaser Leksjon 5: Relasjonsmodellen - 9

10 Projeksjoner Resultatet av spørring SELECT VNr,Antall FROM Vare? Π, Vare = Π, r,, Π, (r ) = 90693,0, 44939,2, 10830,42, 64551,206, (15217,213) C(5) Int VNr Betegnelse Pris Kategori Antall Marsipantang Konditor Malerskrin Hobby Nisseskjegg Dukker Hengebegonia Blomster Kram tørrfluekorker Fiske 213 Databaser Leksjon 5: Relasjonsmodellen - 10

11 Tabellene V(are) og K(ategori) KNr Kategori 1 Blomster 2 Bøker 3 Konditor Fremmednøkkel Unngår skrivefeil. Sparer lagringsplass. VNr... KNr Hvilke betingelser for fremmednøkkel? KNr is primærnøkkel i tabell Kategori Hver verdi in kolonne V.KNr forekommer også i kolonne K.KNr! Det vil si at vi har en inklusjon av bilder: Π. (Vare) Π. (Kategori) Diskusjon av diagrammer i notater! Databaser Leksjon 5: Relasjonsmodellen - 11

12 Likekobling og fremmednøkkler KNr Kategori 1 Blomster 2 Bøker 3 Konditor VNr... KNr SELECT VNr, V.KNr, Kategori FROM Vare INNER JOIN Kategori ON V.KNr = K.KNr Hvor blir fremmednøkkel av? Fremmednøkkel blir transformert til en funksjonell avhengighet i resultat tabellen! Motsatt veien, kan vi dekomponere en tabell hvis vi har funksjonell avhengighet i tabellen! Databaser Leksjon 5: Relasjonsmodellen - 12

13 Funksjonelle avhengigheter Vi sier det er en funksjonell avhengighet i en tabell T fra A til B, skrevet A B, hvis to rader med samme verdi i kolonne A må ha samme verdi i kolonne B. Hvorfor heter det «funksjonell»? Hvilken funksjon har/krever vi? fa: Π (T) Π (T) Diskuter kommutative diagrammer! Vi kan også snakke om funksjonelle avhengigheter fra en samling kolonner X til en samling kolonner Y: X Y. Vi krever da en funksjon fa: Π (T) Π (T) ANr Navn PNr 12 Lise 7 17 Ola 8 12 Lise Kari 26 Her gjelder ANr Navn. Databaser Leksjon 5: Relasjonsmodellen - 13

14 Relasjonsmodellen Relasjonsmodellen er en matematisk teori for hvordan man kan representere informasjon i «tabeller», og danner et teoretisk fundament for dagens relasjonsdatabaser. E. F. Codd (1970) A Relational Model of Data for Large Shared Data Banks. Communication of the ACM, 13 (6). Relasjonsmodellen består av tre deler: Datastruktur: Hva er en tabell? Tabeller er relasjoner Integritetsregler: Hva er lovlige data? Primærnøkler og fremmednøkler Datamanipulering: Hvordan kan data behandles? Relasjonsalgebra (kan gjøre det samme som SQL) Motivasjon for relasjonsmodellen: Representasjonsuavhengighet Hvis programmer er uavhengige av fysisk representasjon så kan strukturen endres uten at koden må endres. Pensum: Kapittel 6 Databaser Leksjon 5: Relasjonsmodellen - 14

15 Representasjonsuavhengighet Disse to tabellene inneholder samme informasjon: En databasetabell ser ut som et «regneark», men det er noen forskjeller. 5 regler følger Databaser Leksjon 5: Relasjonsmodellen - 15

16 Unike kolonner uten rekkefølge Kolonnenavn må være unike innen en tabell. AnsattNr Etternavn Fornavn AnsattDato Stilling Lønn 1 Veum Varg Løpegutt kr ,00 2 Stein Trude DBA kr ,00 Rekkefølge er uten betydning. Vi peker på en kolonne med kolonnenavn og ikke med posisjon! Databaser Leksjon 5: Relasjonsmodellen - 16

17 En mengde av rader ProsjektNr Budsjett Leder Start Slutt 1001 kr , kr , kr , kr , kr , kr , Rekkefølge er uten betydning. Det finnes ikke to like rader. Databaser Leksjon 5: Relasjonsmodellen - 17

18 Atomære verdier ProsjektNr Ansatte , 8, 13, 20 Ikke tillatt! Verdier er «enkle» (tall, tekster, datoer). Vi tillater ikke «repeterende» verdier. Vi tillater ikke «tabeller i tabeller». Nyere objektrelasjonelle databaser tillater mer kompliserte verdier. Databaser Leksjon 5: Relasjonsmodellen - 18

19 Primærnøkler Gitt en tabell T. En supernøkkel for T er en samling kolonner X slik at X A gjelder for alle kolonner A, dvs. X T: Vi krever en funksjon sn: Π (T) T som kommuterer! En kandidatnøkkel er en minimal supernøkkel. DB-designeren velger en av kandidatnøklene som primærnøkkel. Alle tabeller skal ha nøyaktig 1 primærnøkkel. Bestem kandidatnøkler og primærnøkkel for disse tabellene: Ansatt( AnsNr, PersonNr, Fornavn, Etternavn, Stilling ) Vielse( BrudPNr, BrudgomPNr, Kirkenavn, Dato ) Databaser Leksjon 5: Relasjonsmodellen - 19

20 Operatorer i relasjonsalgebra Relasjonsalgebra er et matematisk spørrespråk. Projeksjon: PNr, Tittel ( Prosjekt ) Seleksjon: Budsjett< ( Prosjekt ) Kryssprodukt: Prosjekt Ansatt Likekobling: Prosjekt Prosjekt.Leder=Ansatt.AnsNr Ansatt Union: Startdato (Prosjekt) Sluttdato (Prosjekt) Differanse: AnsattNr (Ansatt) AnsattNr (Arbeid) Snitt: AnsattNr (Arbeid) Leder (Prosjekt) Divisjon: AnsattNr, PNr (Arbeid) PNr (Prosjekt) Noen operatorer kan uttrykkes fra andre: R S = R (R S) Databaser Leksjon 5: Relasjonsmodellen - 20

21 Operatorer i relasjonsalgebra Tabell Prosjekt Tabell Ansatt Tabell Arbeid PNr Budsjett Leder Start Slutt ANr Etternavn Fornavn AnsattDato Stilling Lønn PNr ANr AntTimer Projeksjon: PNr, Budsjett ( Prosjekt ) SELECT PNr, Budsjett FROM Prosjekt Seleksjon: Budsjett< ( Prosjekt ) SELECT * FROM Prosjekt WHERE Budsjett < SELECT PNr, Budsjett FROM Prosjekt WHERE Budsjett < ? To ekvivalente muligheter: PNr, Budsjett ( Budsjett< (Prosjekt) ) Budsjett< ( PNr, Budsjett ( Prosjekt) ) Databaser Leksjon 5: Relasjonsmodellen - 21

22 Operatorer i relasjonsalgebra Tabell Prosjekt Tabell Ansatt Tabell Arbeid PNr Budsjett Leder Start Slutt ANr Etternavn Fornavn AnsattDato Stilling Lønn PNr ANr AntTimer Kryssprodukt: Prosjekt Ansatt SELECT * FROM Prosjekt, Ansatt Likekobling: Prosjekt Prosjekt.Leder=Ansatt.ANr Ansatt SELECT * FROM Prosjekt, Ansatt WHERE Prosjekt.Leder = Ansatt.ANr SELECT * FROM Prosjekt INNER JOIN Ansatt ON Prosjekt.Leder = Ansatt.ANr Databaser Leksjon 5: Relasjonsmodellen - 22

23 Operatorer i relasjonsalgebra Tabell Prosjekt Tabell Ansatt Tabell Arbeid PNr Budsjett Leder Start Slutt ANr Etternavn Fornavn AnsattDato Stilling Lønn PNr ANr AntTimer Union: Start (Prosjekt) Slutt (Prosjekt) SELECT Start FROM Prosjekt UNION SELECT Slutt FROM Prosjekt Differanse: ANr (Ansatt) ANr (Arbeid) SELECT ANr FROM Ansatt MINUS SELECT ANr FROM Arbeid Databaser Leksjon 5: Relasjonsmodellen - 23

24 Operatorer i relasjonsalgebra Tabell Prosjekt Tabell Ansatt Tabell Arbeid PNr Budsjett Leder Start Slutt ANr Etternavn Fornavn AnsattDato Stilling Lønn PNr ANr AntTimer Differanse: ANr (Ansatt) ANr (Arbeid) SELECT ANr FROM Ansatt MINUS SELECT ANr FROM Arbeid Snitt: ANr (Arbeid) Leder (Prosjekt) SELECT ANr FROM Ansatt INTERSECT SELECT ANr FROM Arbeid Noen operatorer kan uttrykkes fra andre: R S = R (R S) Databaser Leksjon 5: Relasjonsmodellen - 24

25 Operatorer i relasjonsalgebra Tabell Prosjekt Tabell Ansatt Tabell Arbeid PNr Budsjett Leder Start Slutt ANr Etternavn Fornavn AnsattDato Stilling Lønn PNr ANr AntTimer Divisjon: ANr, PNr (Arbeid) PNr (Prosjekt) Resultat er ansattnummerer til de ansatte som deltar på alle prosjekter. I analogi til heltall divisjon, beregner vi den største deltabellen D av tabellen ANr (Arbeid) slik at D Π (Prosjekt) ANr, PNr (Arbeid) SELECT ANr FROM Arbeid AS A1 WHERE NOT EXISTS ( SELECT PNr FROM Prosjekt MINUS SELECT PNr FROM Arbeid AS A2 WHERE A1.Anr = A2.Anr ) Databaser Leksjon 5: Relasjonsmodellen - 25

26 Relasjonsalgebra og SQL Et spørrespråk sies å være relasjonelt komplett hvis det er like kraftig som relasjonsalgebra. SQL er relasjonelt komplett. A, B, C ( R X=Y S ) er det samme som SELECT A, B, C FROM R, S WHERE X=Y Relasjonsalgebra er dermed en slags «målestokk» for konkrete spørrespråk (som f.eks. SQL). Relasjonsmodellen var en «arkitekttegning» for konkrete relasjonsdatabasehåndteringssystemer (RDBHS). Databaser Leksjon 5: Relasjonsmodellen - 26

27 SQL-standarden Kan deles inn i tre deler: Data Definition Language (DDL): definere tabeller, indekser og valideringsregler Data Manipulation Language (DML): legge inn nye data, endre data, slette data, hente ut data Data Control Language (DCL): brukeradministrasjon Standarder: SQL:86, SQL:89, SQL:92, SQL:1999, SQL:2003, SQL:2008 Databaseprogrammering Ikke alle programmeringsoppgaver lar seg løse med SQL. Databaseapplikasjoner består både av SQL og kode skrevet i et generelt programmeringsspråk. Programmeringsgrensesnitt mot SQL er standardisert. Databaser Leksjon 5: Relasjonsmodellen - 27

28 Databasesystemer Sluttbruker SQL Databasesystem Applikasjon Utvikler Prog.verktøy SQL DBHS Database DBA SQL SQL-editor Databaser Leksjon 5: Relasjonsmodellen - 28

29 Brukere og arbeidsoppgaver Sluttbruker Ajourhold Spørringer og rapporter Databaseadministrator Brukeradministrasjon Overvåke, optimalisere Utvikler Definere tabellstruktur og forretningsregler Utvikle applikasjoner (menyer, skjermbilder, rapporter) De aller fleste arbeidsoppgavene kan gjøres ved hjelp av SQL, men blir ofte utført med egne verktøy. Rapporteringsverktøy, modelleringsverktøy, Databaser Leksjon 5: Relasjonsmodellen - 29

30 Verktøy som genererer SQL - I Datamodellering innebærer å planlegge tabellstrukturen i en database. Eksempel på datamodell i E/R: Modelleringsverktøyet har en funksjon for å generere databaser (for ulike DBHS). Verktøyet logger seg på databasesystemet. Analyserer datamodellen. Sender en serie med CREATE TABLE setninger til DBHS. Tolker eventuelle feilmeldinger fra databasesystemet og viser dem for brukeren av modelleringsverktøyet. Databaser Leksjon 5: Relasjonsmodellen - 30

31 Verktøy som genererer SQL II Applikasjonsutvikling innebærer blant annet å definere skjermbilder og rapporter. Typiske funksjoner i et skjermbilde: Navigering Gå til første/forrige/neste/siste rad Søk og filtrering Gå til vare med varenr=1003 Vis kun varer i kategori A Legge til / slette / oppdatere Utviklingsverktøy genererer kode «bak» brukergrensesnittet. Databaser Leksjon 5: Relasjonsmodellen - 31

32 Systemarktitekturer Sentralisert databasesystem Personlige databaser Klient Klient DBHS Database Database for en avdeling på et lokalnett Virksomhetsdatabase (enterpris) Distribuert databasesystem Klient Klient Nettverk Klient Klient Flere databasetjenere geografisk spredt Database i skyen Web-løsning Web-server og databaseserver på 1 maskin Flerlagsarkitektur Nettleser Web-tjener Applikasjonstjener Databasesystem Databaser Leksjon 5: Relasjonsmodellen - 32

33 Web-databaser med HTML-klient Brukergrensesnittet består av HTML-sider, der HTML Forms brukes for å lese inndata fra bruker. 1. Bruker fyller ut skjema og bekrefter. 2. Inndata sendes over internett til web-tjeneren som parameter/verdi-par ( varenr=1003, dato= ). 3. Web-tjeneren bygger opp (parameter)spørring og sender til databasetjeneren ( SELECT ). 4. Databasetjeneren utfører spørringen og sender resultat tilbake til web-tjeneren ( «resultset» ). 5. Web-tjeneren produserer utdata i form av HTML-kode. Bruker 1 6 Nettleser Web-tjener 4 Databasetjener Databaser Leksjon 5: Relasjonsmodellen - 33

34 Slutt på del I Dermed setter vi strek for del I om SQL og tabeller. Neste tema er databasedesign (datamodellering). Databaser Leksjon 5: Relasjonsmodellen - 34

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

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

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

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

Tabelldefinisjon og datamanipulering

Tabelldefinisjon og datamanipulering Tabelldefinisjon og datamanipulering Tabelldefinisjon med SQL og i utformingsvisning Datatyper Primærnøkler og fremmednøkler Entitetsintegritet og referanseintegritet Nullmerker, repetisjoner, standardverdier

Detaljer

Tabeller og enkle spørringer

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

Detaljer

INF3100 Databasesystemer

INF3100 Databasesystemer INF3100 Databasesystemer Relasjonsmodellen INF3100-18.1.2005 - Ragnar Normann 1 Relasjonsdatabasemodellen Datamodell Mengde av begreper for å beskrive strukturen til en database Relasjonsmodellen Databasen

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

IN2090 Introduksjon til databaser

IN2090 Introduksjon til databaser UNIVERSITETET I OSLO IN2090 Introduksjon til databaser Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Institutt for informatikk IN2090 26.9.2018!1 Relasjonsmodellen

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO Dagens tema: INF1300 Introduksjon til databaser Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Institutt for informatikk INF1300 12.9.2016 1 Relasjonsmodellen

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

Normalisering. Partielle avhengigheter Transitive avhengigheter Normalformer: 1NF, 2NF, 3NF, BCNF Normaliseringsstegene Denormalisering

Normalisering. Partielle avhengigheter Transitive avhengigheter Normalformer: 1NF, 2NF, 3NF, BCNF Normaliseringsstegene Denormalisering Normalisering Motivasjon Redundans Funksjonelle avhengigheter Determinanter Partielle avhengigheter Transitive avhengigheter Normalformer: 1NF, 2NF, 3NF, BCNF Normaliseringsstegene Denormalisering Pensum:

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

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

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

Detaljer

INF212 - Databaseteori. Kursinnhold

INF212 - Databaseteori. Kursinnhold INF212 - Databaseteori Forelesere: Naci Akkök Ellen Munthe-Kaas Mål: Kjennskap til databasesystemer Virkemåte Implementasjon Teoretiske og praktiske problemer INF212 v2003 1 Kursinnhold Databasedesign

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

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

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

INF1300 Relasjonsalgebra. Et matematisk fundament for å forstå SQL-setninger

INF1300 Relasjonsalgebra. Et matematisk fundament for å forstå SQL-setninger INF1300 Relasjonsalgebra Et matematisk fundament for å forstå SQL-setninger Innhold Relasjonsalgebraen Operatorene i relasjonsalgebraen Relasjonsalgebratolkning av select-setningen Kostbare operasjoner

Detaljer

UNIVERSITETET I OSLO. Relasjonsmodellen. Relasjoner og funksjonelle avhengigheter. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO. Relasjonsmodellen. Relasjoner og funksjonelle avhengigheter. Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET I OSLO Relasjonsmodellen Relasjoner og funksjonelle avhengigheter Institutt for Informatikk INF3100-23.1.2007 Ellen Munthe-Kaas 1 Relasjonsdatabasemodellen Datamodell Mengde av begreper for

Detaljer

Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner

Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner Institutt for informatikk

Detaljer

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser Kunnskapsorganisasjon og gjenfinning 1 Relasjonsmodellen og -databaser Tine L. Frost Relasjonsmodellen 17.09.2014 Dagens forelesning Pensum Berget, G. (2010). Relasjonsdatabaser og datamodellering (3.

Detaljer

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem Innhold Forord....................................................... 5 Innledning.................................................... 15 Databaser som basis i grunnopplæringen....................... 15

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 SQL Structured Query Language del 1. Stoff som blir/ble forelest i oktober 2013

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

Detaljer

INF3100 Databasesystemer

INF3100 Databasesystemer INF3100 Databasesystemer Forelesere: Naci Akkök Ragnar Normann Mål: Kjennskap til databasesystemer Oppgaver og moduler Virkemåte Implementasjon Teoretiske og praktiske problemer INF3100-19-20.1.2004 -

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

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer INF300..007 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign? Relasjonene samler beslektet

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

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

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

INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1

INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1 INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1 Dagens temaer Relasjonsalgebraen Renavning Algebra Heltallsalgebra Klassisk relasjonsalgebra Mengdeoperatorer Union Snitt

Detaljer

FORORD... III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE... VII DEL I SQL OG RELASJONSDATABASER... 1 11 INTRODUKSJON...

FORORD... III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE... VII DEL I SQL OG RELASJONSDATABASER... 1 11 INTRODUKSJON... Innholdsfortegnelse FORORD... III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE... VII DEL I SQL OG RELASJONSDATABASER... 1 1 INTRODUKSJON... 3 1.1 DATABASESYSTEMER... 3 1.1.1 Anvendelser... 3 1.1.2 Oppgaver

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

Databasesystemer, oversikt

Databasesystemer, oversikt Databasesystemer, oversikt Evgenij Thorstensen V18 Evgenij Thorstensen Databasesystemer, oversikt V18 1 / 23 Kurset Databasesystemer og databaser. Databaser er abstrakte objekter (datastrukturer, spørrespråk).

Detaljer

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

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

Detaljer

Relasjonsalgebraen. Algebra

Relasjonsalgebraen. Algebra Relasjonsalgebraen Definerer en mengde av operasjoner på relasjoner Gir oss et språk til å beskrive spørsmål om innholdet i relasjonene Språket er prosedyralt: Vi sier hvordan svaret skal beregnes. Alternativet

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

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsalgebraen Oversettelse av select-from-where til relasjonsalgebra SQL: union, snitt, differanse, kartesisk produkt INF1300 22.10.2007

Detaljer

INF1300 Introduksjon til databaser

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

Detaljer

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

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

Relasjonsalgebra Kopi av lysark om relasjonsalgebra. Vi går igjennom denne for å lage et matematisk fundament for forståelsen av hvordan

Relasjonsalgebra Kopi av lysark om relasjonsalgebra. Vi går igjennom denne for å lage et matematisk fundament for forståelsen av hvordan Relasjonsalgebra Kopi av lysark om relasjonsalgebra. Vi går igjennom denne for å lage et matematisk fundament for forståelsen av hvordan select-setningen virker. Temaer som blir tatt inn i SQL-notatet:

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer INF300 7.0.008 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign? Relasjonene samler

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

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

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ragnar Normann

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ragnar Normann UNIVERSITETET I OSLO RELASJONSALGEBRA Regning med relasjoner Institutt for Informatikk 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et språk til å beskrive spørsmål om

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsmodellen Funksjonelle avhengigheter og nøkler Realisering: Fra ORM til relasjoner Institutt for informatikk INF1300--15.9.2009--michael@ifi.uio.no

Detaljer

Dagens tema: Oppdateringsanomalier Normalformer

Dagens tema: Oppdateringsanomalier Normalformer UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer Institutt for informatikk INF300 08..0 michael@ifi.uio.no Hva kjennetegner god relasjonsdatabasedesign?

Detaljer

Datamodellering med E/R

Datamodellering med E/R Datamodellering med E/R Fasene i systemutvikling og databasedesign E/R (Entity/Relationship) Entitet Attributt Identifikator Forhold og roller Kardinaliteter: 1:1, 1:M, M:N Oppløsing av mange-til-mange

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

Oppdateringsanomalier Normalformer

Oppdateringsanomalier Normalformer UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer Institutt for informatikk INF300 26.0.2009 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign?

Detaljer

Relasjonsalgebra. Hva?

Relasjonsalgebra. Hva? Relasjonsalgebra. Hva? Relasjonsalgebra består av et sett med høynivås operatorer som kan brukes til å manipulere med relasjoner (slå sammen to tabeller, selektere data etc.). Tankegangen er viktig å kjenne

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

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

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

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

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1 UNIVERSITETET I OSLO SQL Structured Query Language (The intergalactic dataspeak) Institutt for Informatikk INF3100 1.2.2005 Ragnar Normann 1 SQL SQL Structured Query Language er et deklarativt språk for

Detaljer

INF1300 Introduksjon til databaser: SQL Structured Query Language

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

Detaljer

Oppdateringsanomalier. Normalformer. Institutt for informatikk INF

Oppdateringsanomalier. Normalformer. Institutt for informatikk INF Oppdateringsanomalier Normalformer Institutt for informatikk INF300 7.0.04 Relasjonene samler beslektet informasjon Så lite dobbeltlagring som mulig Så få glisne relasjoner som mulig Korrekt totalinformasjon

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser Data (transiente, persistente) DBMS databser informasjon interesseområdet informasjonsmodeller informasjonssystemer Transiente og persistente data Når vi programmerer,

Detaljer

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas UNIVERSITETET I OSLO RELASJONSALGEBRA Regning med relasjoner Institutt for Informatikk 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et språk til å beskrive spørsmål om

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

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

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET I OSLO RELASJONSALGEBRA Regning med relasjoner Institutt for Informatikk INF3100-8.2.2010 Ellen Munthe-Kaas 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et

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

FORORD...III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE...VII DEL I SQL OG RELASJONSDATABASER...1 1 INTRODUKSJON...

FORORD...III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE...VII DEL I SQL OG RELASJONSDATABASER...1 1 INTRODUKSJON... FORORD...III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE...VII DEL I SQL OG RELASJONSDATABASER...1 1 INTRODUKSJON... 3 1.1 DATABASESYSTEMER...3 1.1.1 Anvendelser...3 1.1.2 Oppgaver og arkitektur...4 1.1.3

Detaljer

Spørsmålskompilering del 1

Spørsmålskompilering del 1 UNIVERSITETET I OSLO Spørsmålskompilering del 1 Parsering Logiske spørreplaner uttrykt i relasjonsalgebra Optimalisering ved hjelp av algebraiske lover Institutt for Informatikk INF3100-11.4.2016 - Ellen

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

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

Notater: INF1300. Veronika Heimsbakk 8. januar 2013

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

Detaljer

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

UNIVERSITETET RELASJONSALGEBRA. Regning g med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET RELASJONSALGEBRA. Regning g med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET IOSLO RELASJONSALGEBRA Regning g med relasjoner Institutt for Informatikk INF3100-7.2.2011 Ellen Munthe-Kaas 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss

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

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

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

INF1800 LOGIKK OG BEREGNBARHET

INF1800 LOGIKK OG BEREGNBARHET INF1800 LOGIKK OG BEREGNBARHET FORELESNING 2: MENGDELÆRE Roger Antonsen Institutt for informatikk Universitetet i Oslo 20. august 2008 (Sist oppdatert: 2008-09-03 12:36) Mengdelære Læreboken Det meste

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

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

Spørsmålskompilering del 1

Spørsmålskompilering del 1 UNIVERSITETET I OSLO Spørsmålskompilering del 1 Parsering Logiske spørreplaner uttrykt i relasjonsalgebra Optimalisering ved hjelp av algebraiske lover Institutt for Informatikk INF3100 - V18 - Evgenij

Detaljer

INF130 INF130. INF130:Repetisjon 05.05.15. INF130:Repetisjon 1. Tabeller og enkle spørringer. Repetisjon

INF130 INF130. INF130:Repetisjon 05.05.15. INF130:Repetisjon 1. Tabeller og enkle spørringer. Repetisjon INF130 Tabeller og enkle spørringer INF130 Repetisjon Tabeller og enkle spørringer Database, relasjonsdatabase Databasehåndteringssystem (DBHS) Databasesystem Tabell, kolonne, rad, datatype, verdi, primærnøkkel

Detaljer

Plenum: Nøkler, normalformer og funksjonelle avhengigheter

Plenum: Nøkler, normalformer og funksjonelle avhengigheter Plenum: Nøkler, normalformer og funksjonelle avhengigheter Mathias Stang 14. november 2017 1 Agenda Hva er god databasedesign? Atomære verdier Nøkler: Supernøkler, kandidatnøkler, primærnøkler, nøkkelattributter

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

Databaser. - Introduksjon til SQL med Microsoft SQL Server - Olav Dæhli Databaser - høsten

Databaser. - Introduksjon til SQL med Microsoft SQL Server - Olav Dæhli Databaser - høsten Databaser - Introduksjon til SQL med Microsoft SQL Server - Olav Dæhli Databaser - høsten 2017 1 Innholdsfortegnelse 1. Introduksjon... 6 2. Tabeller... 7 2.1. Grunnleggende om tabeller... 7 2.2. Logisk

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

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

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

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

Utvikling fra kjernen og ut

Utvikling fra kjernen og ut Utvikling fra kjernen og ut Informasjonssystem bygd på et databasehåndteringssystem Brukergrensesnitt! inn ut Oppfatning av interesseområdet Flere samtidige brukere gir databasehåndteringssystemet store

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

Relasjonsdatabasedesign

Relasjonsdatabasedesign UNIVERSITETET I OSLO Relasjonsdatabasedesign Funksjonelle avhengigheter Oppdateringsanomalier Dekomponering Institutt for Informatikk INF3100-17.1.2014 Ellen Munthe-Kaas 1 Definisjon av nøkler Gitt en

Detaljer

OM DATABASER DATABASESYSTEMER

OM DATABASER DATABASESYSTEMER OM DATABASER DATABASESYSTEMER Begrepet database brukes på flere måter, og det er ikke uvanlig å bruke det for å angi en total samling av data (i dette tilfellet lagrede opplysninger) uavhengig av hvordan

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

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 995996 Roger Midtstraum:

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign UNIVERSITETET I OSLO Relasjonsdatabasedesign Funksjonelle avhengigheter Oppdateringsanomalier Dekomponering Institutt for Informatikk INF300-6..00 Ellen Munthe-Kaas Definisjon av nøkler Gitt et relasjonsskjema

Detaljer

Mengdelære INF1800 LOGIKK OG BEREGNBARHET FORELESNING 2: MENGDELÆRE. Læreboken. Mengder. Definisjon (Mengde) Roger Antonsen

Mengdelære INF1800 LOGIKK OG BEREGNBARHET FORELESNING 2: MENGDELÆRE. Læreboken. Mengder. Definisjon (Mengde) Roger Antonsen INF1800 LOGIKK OG BEREGNBARHET FORELESNING 2: MENGDELÆRE Roger Antonsen Mengdelære Institutt for informatikk Universitetet i Oslo 20. august 2008 (Sist oppdatert: 2008-09-03 12:36) Læreboken Mengder Definisjon

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

Integritetsregler i SQL

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

Detaljer

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

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

Oppgave 1 ER- og relasjonsmodell 10 %

Oppgave 1 ER- og relasjonsmodell 10 % Side 1 av 7 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER

Detaljer