Tabelldefinisjon og datamanipulering

Størrelse: px
Begynne med side:

Download "Tabelldefinisjon og datamanipulering"

Transkript

1 Tabelldefinisjon og datamanipulering Tabelldefinisjon med SQL og i utformingsvisning Datatyper Primærnøkler og fremmednøkler Entitetsintegritet og referanseintegritet Nullmerker, repetisjoner, standardverdier Forretningsregler / valideringsregler Innsetting, oppdatering og sletting Import av data Metadatabase SQL-skript Pensum: Kapittel 3 Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 1

2 En database inneholder mange tabeller Tabellene til Hobbyhuset (fra Relasjonsvinduet i Access): (liknende «EERdiagram» i MySQL work bench) Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 2

3 Det meste lar seg representere i tabeller Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 3

4 Databasetabellen Vare VNr Betegnelse Pris Kategori Antall Hylle Marsipantang Konditor 0 B Malerskrin, 6 farger Hobbymaling 2 B Nisseskjegg, 30 cm Dukker Hengebegonia, 10 stk Blomster 206 E Kram tørrfluekorker Fiske 213 B Lakrisekstrakt, 100g Konditor 104 B Antron garn, hvit Fiske 21 B Glasskuler, 100 gr Dukker 0 E Tubeflueverktøy Fiske 39 B Blomkarse Blomster 206 E Moro med marsipan Bøker 140 C Gipsform marihøner Keramikk 124 B03 Rad, kolonne, (atomær) verdi, primærnøkkel, nullmerke. Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 4

5 Databasetabellen Vare VNr Betegnelse Pris Kategori Antall Hylle Marsipantang Konditor 0 B Malerskrin, 6 farger Hobbymaling 2 B Nisseskjegg, 30 cm Dukker Gipsform marihøner Keramikk 124 B03 Hvilket datatyper? VNr - INT (SMALLINT) vs. CHAR(5) Betegnelse CHAR(n) vs. VARCHAR(n) Pris DECIMAL(8,2) Kategori - CHAR(n) vs. VARCHAR(n) Hylle CHAR(3) Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 5

6 Databasetabellen Vare VNr Betegnelse Pris Kategori Antall Hylle Marsipantang Konditor 0 B Malerskrin, 6 farger Hobbymaling 2 B Nisseskjegg, 30 cm Dukker Hengebegonia, 10 stk Blomster 206 E Kram tørrfluekorker Fiske 213 B Lakrisekstrakt, 100g Konditor 104 B Antron garn, hvit Fiske 21 B Glasskuler, 100 gr Dukker 0 E Tubeflueverktøy Fiske 39 B Blomkarse Blomster 206 E Moro med marsipan Bøker 140 C Gipsform marihøner Keramikk 124 B03 Kan vi unngå å skrive samme «Kategori» tekst flere ganger? Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 6

7 Tabellene Vare og Kategori KatNr Kategori 1 Blomster 2 Bøker 3 Konditor 4 Hobbymaling 5 Keramikk 6 Dukker 7 Fiske Oppslagstabell Fremmednøkkel Unngår skrivefeil. Sparer lagringsplass. Vi kan gjenskape den opprinnelige tabellen. VNr... KatNr Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 7

8 Person PNr Fornavn Etternavn Adresse PostNr Per Lie Kongens gate Kari Hansen C.A. Larsens gate Lise Andersen Josefinegata Ola Klausen Rådhusgata Hanne Jensen Peter Grøns gate Gro Aslaksen Bøgata Åge Hansen Torggata Kari Larsen Gamleveg PNr er en naturlig primærnøkkel. Navnet på poststedet er lagret i en egen oppslagstabell. Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 8

9 En Ansatt-tabell med for få kolonner Fornavn Lønn Per Lise Per Kari Hanne Per Ole En tabell skal alltid ha en primærnøkkel. Ingen repetisjoner Ingen nullmerker Hva hvis vi velger Fornavn? Hva hvis vi velger Lønn? Hva hvis vi velger Fornavn+Lønn? Radene i en databasetabell er ikke nummererte (som i Excel). Vi trenger flere kolonner! Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 9

10 Student SNr PNr Fornavn Etternavn Studium Start Per Lie Informatikk Kari Hansen Økonomi Lise Andersen Informatikk Ola Klausen Historie Hanne Jensen Idrett Gro Aslaksen Innovasjon Åge Hansen Revisjon Kari Larsen Innovasjon 2007 SNr (studentnr) og PNr (personnr) er begge kandidatnøkler. Velger én kandidatnøkkel som primærnøkkel. Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 10

11 Kjøretøy RegNr Merke Modell År Km LY Toyota Corolla NV Toyota Avensis DA Ford Focus NV Nissan Micra Noen fysiske objekter som bøker, personer og kjøretøy har en etablert primærnøkkel (ISBN, personnr, registreringsnr) i «virkelighetens verden». For andre fysiske objekter er det naturlig å etablere et «løpenr» VNr for Vare, SNr for Student osv. Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 11

12 Data som kan avledes: Skøyteresultat Løper Distanse Plass Tid Vi lagrer ikke mer data enn vi må. Verdiene i kolonnen Plass kan avledes fra? Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 12

13 Sammensatte objekter: Ordre og Ordrelinje OrdreNr Ordredato KNr Tenk på et ordreskjema. Ordreskjemaet består av et «hode» (dato, kundenr, ) og et antall «linjer», (varenummer, antall, ) Det er et en-til-mange forhold mellom en ordre og en linje på denne ordren. Primærnøkkel? Fremmednøkkel? OrdreNr VNr Pris Antall Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 13

14 Databasetabellen Vare VNr Betegnelse Pris Kategori Antall Hylle Marsipantang Konditor 0 B Malerskrin, 6 farger Hobbymaling 2 B Nisseskjegg, 30 cm Dukker Hengebegonia, 10 stk Blomster 206 E Kram tørrfluekorker Fiske 213 B Lakrisekstrakt, 100g Konditor 104 B Antron garn, hvit Fiske 21 B Glasskuler, 100 gr Dukker 0 E Tubeflueverktøy Fiske 39 B Blomkarse Blomster 206 E Moro med marsipan Bøker 140 C Gipsform marihøner Keramikk 124 B03 VNr er fremmednøkkel i tabellen Ordrelinje mot tabell Vare! Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 14

15 Hierarkier: Diskusjonsforum Id Avsender Dato Melding SvarPå 1 kahn Bla bla bla... 2 ok Bla bla bla jwh Bla bla bla kahn Bla bla bla kasper Bla bla bla... 6 jesper Bla bla bla Et forum har flere diskusjonstråder. Hver tråd er et hirerarki (et tre). Et innlegg kan få flere svar. Et innlegg starter en ny tråd, eller er svar på et bestemt innlegg. Er det fremmednøkler i tabellen? 6 Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 15

16 så hvordan kan vi definere tabeller? Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 16

17 Data og metadata Et databasesystem inneholder både data og metadata. Metadata betyr «data om data». En metadatabase beskriver oppbyggingen av en database: Hva heter tabellene? Hvilke kolonner består hver tabell av? Hvilken datatype har hver kolonne? Hva er primærnøkkel for hver tabell? Hvilke kolonner er fremmednøkler, og mot hvilken tabell? Hvilke forretningssregler er definert på hvilke tabeller? Metadata kan lagres i tabeller. Metadatabasen blir lagret i systemkatalogen. DBHS ajourfører tabellene i systemkatalogen. Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 17

18 Operasjoner på tabellstruktur Før vi kan legge inn og hente ut data fra en tabell må vi definere hva slags struktur tabellen skal ha. Definere (opprette): CREATE TABLE Ansatt Endre struktur: ALTER TABLE Ansatt Slette: DROP TABLE Ansatt Det finnes også muligheter for å spørre: Hvordan er tabellen Ansatt definert? DBHS slår opp i systemkatalogen. Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 18

19 Datatyper SQL definerer et sett av innebygde datatyper, bl.a.: CHAR(n) - for eksempel CHAR(30) VARCHAR(n) - for eksempel VARCHAR(30) INTEGER SMALLINT DECIMAL(p,s) - for eksempel DECIMAL(5,2) FLOAT DATE TIME Noen DBHS tilbyr flere datatyper. Eksempel: CURRENCY i Access. Til hver datatype hører det et sett av operatorer og funksjoner. Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 19

20 Hensikten med datatyper Følgende uttrykk er meningsløse: > 'Andersen' Lønn + AnsattDato AnsattNr + Lønn Etternavn < Stilling Ved å bestemme en datatype for hver kolonne vil DBHS sjekke at vi ikke «sammenligner epler med pærer». Hvilke av uttrykkene over fører til feilmelding? Det finnes funksjoner for eksplisitt konvertering mellom datatyper. CAST(expr AS type) Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 20

21 Et enklere eksempel Vi bruker prosjektdatabasen som eksempel: Ansatt( AnsattNr, Fornavn, Etternavn, AnsattDato, Stilling, Lønn ) Prosjekt( ProsjektNr, Budsjett, Leder* Start, Slutt ) ProsjektDeltakelse( AnsattNr*, ProsjektNr*, AntTimer ) Notasjon: Tabellnavn ( kolonne,, kolonne ) Primærnøkler er understreket. Fremmednøkler er merket med ei stjerne *. Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 21

22 Tabelldefinisjon i SQL (forsøk 1) Tabellnavn + navn og datatype for hver kolonne: CREATE TABLE Ansatt ( AnsattNr INTEGER, Fornavn VARCHAR(15), Etternavn VARCHAR(40), AnsattDato DATE, Stilling VARCHAR(20), Lønn INTEGER ) Valg av datatype er ikke alltid opplagt. Hva med telefonnummer? Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 22

23 Tabellen Ansatt AnsattNr Etternavn Fornavn AnsattDato Stilling Lønn 1 Veum Varg Løpegutt Stein Trude DBA Dudal Inger-Lise Sekretær Hansen Hans Programmerer Bjørnsen Henrik Tekstforfatter Gredelin Sofie Underdirektør Zimmermann Robert Regnskapsfører Nilsen Lise Direktør Fosheim Katinka Selger Lovløs Ada Programmerer Ibsen Bjørnstjerne Tekstforfatter Fleksnes Marve Lagerleder Felgen Reodor Sykkelreparatør Karius Jens Salgssekretær Wirkola Gabriel Sekretær Primærnøkkel? Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 23

24 Definisjon av primærnøkkel i SQL Alle tabeller skal ha en primærnøkkel: CREATE TABLE Ansatt ( AnsattNr INTEGER, Fornavn VARCHAR(15), Etternavn VARCHAR(40), AnsattDato DATE, Stilling VARCHAR(20), Lønn CURRENCY, CONSTRAINT AnsattPN PRIMARY KEY (AnsattNr) ) AnsattPN er navnet på primærnøkkeldefinisjonen. Navnet velges fritt. Kan for eksempel bruke tabellnavn + PN (for PrimærNøkkel). Hvorfor kalles primærnøkkeldefinisjon «constraint»? Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 24

25 Integritetsregler Entitetsintegritet: En primærnøkkel skal ikke inneholde nullmerker eller repetisjoner. Motivasjon: Rader representerer «ting» eller «entiteter». Vi lagrer ikke informasjon om noe vi ikke kan identifisere. Entitetsintegritet: Beskjed til DBHS (constraint): AnsattNr skal ikke inneholde repetisjoner eller nullmerker! I hvilke situasjoner må DBHS sjekke? Når en ny rad blir satt inn. Når en verdi i primærnøkkel blir endret. Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 25

26 Fremmednøkler Eksempel fra Hobbyhuset: Alle varenumre i tabellen Ordre må finnes i tabellen Vare. Vi selger ikke varer vi ikke har! Kolonnen Ordre.VNr er en fremmednøkkel, og «peker på» Vare.VNr. Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 26

27 Unionskompatible kolonner Informasjonen i to tabeller kan «kobles» når de inneholder kolonner med «samme slags verdier». Ansattnummer forekommer i Ansatt.AnsattNr, Prosjekt.Leder og ProsjektDeltakelse.AnsattNr. Prosjektnummer forekommer i Prosjekt.ProsjektNr og ProsjektDeltakelse.ProsjektNr. Beløp forekommer i Ansatt.Lønn og Prosjekt.Budsjett. To kolonner er unionskompatible hvis de har samme domene (datatype). Både Etternavn og Stilling inneholder tekststrenger, men det gir ikke mening å sammenligne verdier fra de to domenene. Hvorvor? Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 27

28 Tabellen Ansatt AnsattNr Etternavn Fornavn AnsattDato Stilling Lønn 1 Veum Varg Løpegutt Stein Trude DBA Dudal Inger-Lise Sekretær Hansen Hans Programmerer Bjørnsen Henrik Tekstforfatter Gredelin Sofie Underdirektør Zimmermann Robert Regnskapsfører Nilsen Lise Direktør Fosheim Katinka Selger Lovløs Ada Programmerer Ibsen Bjørnstjerne Tekstforfatter Fleksnes Marve Lagerleder Felgen Reodor Sykkelreparatør Karius Jens Salgssekretær Wirkola Gabriel Sekretær Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 28

29 Tabeller Prosjekt + ProsjektDeltakelse Prosjekt Nr Budsjett Leder Start Slutt ProsjektNr AnsattNr AntTimer Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 29

30 Fremmednøkler Eksempel: Vi registrerer kun timer (i ProsjektDeltakelse) på ansatte som allerede er lagt inn i tabellen Ansatt! En (samling) kolonne(r) X i tabell T1 er en fremmednøkkel med hensyn på tabell T2 hvis følgende alltid gjelder: En verdi i X er enten NULL, eller identisk med en verdi i primærnøkkelen til T2. Ingen rader i T1 er delvis NULL i kolonnene X. Fremmednøkkelen skal være unionskompatibel med tilhørende primærnøkkel. Beskjed til DBHS: Sjekk at verdiene i fremmednøkkelen er en delmengde av verdiene i tilhørende primærnøkkel. Fremmednøkkel Primærnøkkel Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 30

31 Definisjon av fremmednøkler i SQL Vi må angi navn på kolonne(r) og navn på referert tabell: CREATE TABLE ProsjektDeltakelse ( AnsattNr INTEGER, ProsjektNr INTEGER, AntTimer INTEGER, CONSTRAINT ProsjektDeltakelsePN PRIMARY KEY ( AnsattNr, ProsjektNr ), CONSTRAINT ProsjektDeltakelseAnsattFN FOREIGN KEY ( AnsattNr ) REFERENCES Ansatt, CONSTRAINT ProsjektDeltakelseProsjektFN FOREIGN KEY ( ProsjektNr ) REFERENCES Prosjekt ) Selve regelen kan for eksempel navngis ved: FraTabell + TilTabell + FN (for FremmedNøkkel). Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 31

32 Egenskaper ved fremmednøkler Ved sletting av ansatt: Sett nullmerke i Prosjekt.Leder for prosjekter der vedkommende er prosjektleder. Ved endring av ansattnummer: Endre ansattnummer i Prosjekt.Leder tilsvarende. CONSTRAINT AnsattProsjektFN FOREIGN KEY (Leder) REFERENCES Ansatt (AnsattNr) ON DELETE SET NULL, ON UPDATE CASCADE Andre muligheter SET DEFAULT (setter inn standardverdi) Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 32

33 Integritetsregler Referanseintegritet: Alle verdier i en fremmednøkkel (som ikke er NULL) skal finnes i primærtabellen. Motivasjon: Fremmednøkler er «referanser» eller «pekere» til entiteter. Hvis vi peker på noe skal det eksistere, men det er lov ikke å peke! Referanseintegritet: Beskjed til DBHS: ProsjektDeltakelse.AnsattNr skal kun inneholde verdier som også finnes i Ansatt.AnsattNr! I hvilke situasjoner må DBHS sjekke? Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 33

34 Nullmerker, repetisjoner og standardverdier NOT NULL betyr at kolonnen må fylles ut, UNIQUE hindrer to like verdier, og DEFAULT brukes for å definere standardverdier. CREATE TABLE Student ( StudNr CHAR( 6 ), PersonNr CHAR( 11 ) UNIQUE NOT NULL, Fornavn VARCHAR(15) NOT NULL, Etternavn VARCHAR(40) NOT NULL, PrivatEpost VARCHAR( 40 ) UNIQUE, Status VARCHAR(15) DEFAULT 'Aktiv', CONSTRAINT StudentPK PRIMARY KEY ( StudNr )) Hvilket egenskaper bør StudNr ha? Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 34

35 Valideringsregler / forretningsregler Valideringsregler øker datakvaliteten: Lønn < Fødselsdato < AnsattDato DBHS sjekker at valideringsreglene blir overholdt. Blir innført som en del av en tabelldefinisjon: CONSTRAINT MaxLønn CHECK (Lønn < ) Mer kompliserte «forretningsregler»: Summerte lønnsutgifter for et prosjekt skal ikke overstige budsjettet. Kontroll krever «programmering» (kan gjøres med såkalte triggere, se kap. 14). Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 35

36 Fremmednøkler og forretningsregler Eksempel: Lovlige verdier for en kolonne Status i en tabell Student skal være «Aktiv», «Permisjon» og «Sluttet». Vi kan legge det inn som en valideringsregel ved bruk av CHECK i CREATE TABLE. Men vi kan også bruke en «kodetabell» og fremmednøkler. StudNr Status A A S Kode Beskrivelse A Aktiv S Sluttet P Permisjon Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 36

37 SQL-kommandoer for ajourhold INSERT UPDATE DELETE - setter inn nye rader - endrer i eksisterende rader - sletter utvalgte rader INSERT kommer i to varianter: Legg til 1 rad / legg til mange. UPDATE og DELETE virker i utgangspunktet på alle rader, og må begrenses med en betingelse. Kommandoene brukes oftere av programmerere enn av sluttbrukere. Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 37

38 Vi ansetter en ny selger: Innsettingsspørringer INSERT INTO Ansatt (AnsattNr, Etternavn, Stilling) VALUES ( 14, 'Hansen', 'Selger') For kolonnenavn som sløyfes fra listen blir det satt inn nullmerker / standardverdier. Visse kolonner må føres opp. Hvilke? Kopierer gamle prosjekter til en hjelpetabell: INSERT INTO GamleProsjekter SELECT * FROM Prosjekt WHERE SluttDato <= '31/12/2009' Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 38

39 Oppdateringsspørringer Vi øker lønn for alle ansatte med 10%: UPDATE Ansatt SET Lønn=Lønn*1.1 Vi øker lønn og endrer tittel for sekretærene: UPDATE Ansatt SET Lønn=Lønn*1.5, Stilling='Sjefssekretær' WHERE Stilling='Sekretær' UPDATE uten WHERE oppdaterer alle radene! Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 39

40 Slettespørringer Slett alle varer i kategori Kjøtt: DELETE FROM Vare WHERE Kategori='Kjøtt' Hva gjør denne? DELETE FROM Vare Hvis vi skal slette i flere tabeller må vi skrive flere DELETEkommandoer. Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 40

41 Skriptfiler Et SQL-skript er en sekvens av SQL-setninger lagret på en fil. Nyttig ved utvikling av nye databaser: CREATE TABLE Vare CREATE TABLE Kunde CREATE TABLE Ordre INSERT INTO Vare INSERT INTO Vare Ved å starte skriptet med å fjerne tabellene kan vi kjøre skriptet flere ganger (endre litt kjøre på nytt ) DROP TABLE Vare DROP TABLE Kunde Access kan ikke lese SQL skriptfiler. Prøv ut i MySQL! Databaser Leksjon 2: Tabelldefinisjon og datamanipulering - 41

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

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

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

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

Detaljer

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Detaljer

Datamodellering og databaser 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

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

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

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

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

INF130: Datahåndtering og analyse

INF130: Datahåndtering og analyse INF130: Datahåndtering og analyse Modellering 1.1 Temaer Kapittel 7 Modellering 2 Datamodellering med E/R Fasene i systemutvikling og databasedesign E/R (Entity/Relationship) Entitet Attributt Identifikator

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

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

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

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

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

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

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

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 (Opprett en database og en tabell)

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

Detaljer

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

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

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

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

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

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

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

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

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

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

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

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

Skranker og avledninger

Skranker og avledninger Skranker og avledninger jfr. Fra kjernen og ut, fra skallet og inn kapittel 7 dmskranker&repr-1 Figur 7-1. Skrankene skal gjenspeile virkelighetens regler Forretningsregler Virkeligheten (interesseområdet)

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

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

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

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

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

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

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

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

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

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

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

Detaljer

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language 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

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

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

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

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

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

IN2090 Databaser og datamodellering 07 Datamanipulering

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

Detaljer

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

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

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

Detaljer

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

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

SQL Structured Query Language

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

Detaljer

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

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

1. SQL spørringer mot flere tabeller

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

Detaljer

HØGSKOLEN I 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

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

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

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

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

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

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

Databaser noen temaer.

Databaser noen temaer. Databaser noen temaer. Dette er en oversikt over en del sentrale temaer innen databaser, på til bruk som plastikkforedrag. Opplegget er kun ment som støtte til forelesninger og lærebok. Vennligst ikke

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

Eksamen i Internetteknologi Fagkode: IVA1379

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

Detaljer

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

Microsoft Access 2010

Microsoft Access 2010 Microsoft Access 2010 Bjørn Kristoffersen Høgskolen i Telemark bjorn.kristoffersen@hit.no Microsoft Access (heretter skriver vi kun Access) er et databasehåndteringsverktøy til bruk for personlige databaser

Detaljer

IN2090 Databaser og datamodellering. 08 Typer og skranker

IN2090 Databaser og datamodellering. 08 Typer og skranker IN2090 Databaser og datamodellering 08 Typer og skranker Leif Harald Karlsen leifhka@ifi.uio.no Universitetet i Oslo 1 / 29 Databasers typesystem De fleste relasjonelle databaser har et strengt typesystem

Detaljer

Databasers typesystem. IN2090 Databaser og datamodellering. 08 Typer og skranker. SQL-standarden vs. RDBMSer. Hvilke datatyper har vi

Databasers typesystem. IN2090 Databaser og datamodellering. 08 Typer og skranker. SQL-standarden vs. RDBMSer. Hvilke datatyper har vi IN2090 Databaser og datamodellering 08 Typer og skranker Leif Harald Karlsen leifhka@ifi.uio.no Databasers typesystem De fleste relasjonelle databaser har et strengt typesystem Alle kolonner må ha en tilhørende

Detaljer

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

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

Detaljer

Oppgave 3 - normalisering

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

Detaljer

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

>>12 Arbeide med MySQL

>>12 Arbeide med MySQL 106 Snarveien til MySQL og Dreamweaver CS5 >>12 Arbeide med MySQL I dette kapittelet vil du lære hvordan du installerer MySQL Workbench å opprette prosjekter å lage tabeller hvordan du ser på innholdet

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

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

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

Detaljer

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

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

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

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

HØGSKOLEN I SØR-TRØNDELAG

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

Detaljer

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

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