Database-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form

Størrelse: px
Starte visningen fra side:

Download "Database-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form"

Transkript

1 Database-sproget SQL SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form SELECT A1,, Ar FROM R1,, Rk WHERE B med attributter A1,, Ar relationer R1,, Rk betingelse B (logisk udtryk, evt. sammensat) 1

2 Simple forespørgsler (enkelt relation) PID NAVN VIRKSOMHED KKODE Kodein "Dak" Nycomed Danmark Pinex Alpharma Treo Lundbeck Kodimagnyl "Dak" Nycomed Danmark Japansk encephalitisvaccine Statens Serum Institut Cipramil Lundbeck Treosulfan "Medac" Medac 2183 Pinex Comp. Alpharma 1 "navne på præparater fra Lundbeck Variationer * giver alle attributter SELECT navn betingelser: brug af AND og OR i FROM p WHERE WHERE virksomhed= Lundbeck LIKE (tegn-mønstre med % og _ ) NAVN Omdøbning af attribut-navne Aritmetiske udtryk i SELECT og WHERE Treo Sortering ved ORDER BY Cipramil DISTINCT... 2

3 DISTINCT-operatoren I relationelle model relation = mængde I SQL relation = "bag" (bag = multimængde ~dubletter tilladt) løsning dubletter kan elimineres med DISTINCT "Vis Lande SELECT DISTINCT land FROM p; PID NAVN VIRKSOMHED LAND Kodein "Dak" Nycomed Danmark Danmark 671 Pinex Alpharma 679 Treo Lundbeck Danmark 682 Kodimagnyl "Dak" Nycomed Danmark Danmark 1004 Japansk encephalitis Statens Serum Institut Danmark 1243 Cipramil Lundbeck Danmark 1454 Treosulfan "Medac" Medac Sverige 2183 Pinex Comp. Alpharma LAND Danmark Sverige Hvad med SELECT DISTINCT Virksomhed, Land FROM p og SELECT DISTINCT Land, Virksomhed FROM p Forskel? 3

4 Eksempeldatabase P (Præparat) PID NAVN VIRKSOMHED GID LAND KKODE Kodein "Dak" Nycomed Danmark Danmark Pinex Alpharma Treo Lundbeck Danmark Kodimagnyl "Dak" Nycomed Danmark Danmark Japansk encephalitisvaccine Statens Serum Institut Danmark Cipramil Lundbeck Danmark Treosulfan "Medac" Medac Sverige 2183 Pinex Comp. Alpharma I (Indholdsstof) IID NAVN Acetylsalicylsyre 283 Citalopram 306 Codein 307 Coffein 654 Magnesiumoxid 812 Paracetamol 1012 Treosulfan 2178 Japansk encephalitisvaccine Skema p(pid, navn, virksomhed, gid, land, kkode) i(iid, navn) ip(iid,pid) g(gid, navn) G (Terapeutisk gruppe) IP (Indhold i Præp.) IID PID GID NAVN Analgetika, opioider, svagt virkende, codein, Analgetika, paracetamol, Analgetika, svagt virkende, kombinationspræparater uden codein, Analgetika, svagt virkende, kombinationspræparater med codein, Antidepressiva, selektive serotoningenoptagshæmmere, Neoplastiske sygdomme, alkylerende cytostatika, Vaccinationer ved rejse til udlandet, 4

5 Flere relationer Typisk introduceres flere relationer i FROMdelen hvorved forespørgslen bliver til en join tupel-variable p, g opløser flertydigheder "Vis navnet på gruppen for Treo " 1 SELECT g.navn Terapeutisk_gruppe 2 FROM p,g 3 WHERE p.gid=g.gid Database-skema Præparat: 4* AND p.navn = 'Treo' p(pid, navn, virksomhed, gid, land, kkode) Indholdsstof: i(iid, navn) SQL> / Indhold: ip(iid,pid) Gruppe: g(gid, navn) TERAPEUTISK_GRUPPE Analgetika, svagt virkende, kombinationspræparater uden codein, 5

6 Flere relationer hvad udtrykker denne: SELECT DISTINCT land FROM p,ip,i WHERE p.pid=ip.pid AND ip.iid=i.iid AND i.navn='codein' og denne: SELECT DISTINCT navn FROM p,ip WHERE p.pid=ip.pid Hvorfor DISTINCT? Database-skema Præparat: Indholdsstof: Indhold: Gruppe: p(pid, navn, virksomhed, gid, land, kkode) i(iid, navn) ip(iid,pid) g(gid, navn) 6

7 Flere relationer, join-betingelser eksempel SELECT p.navn FROM p,ip,i WHERE p.pid=ip.pid AND ip.iid=i.iid AND i.navn='codein' join-betingelse, f.eks. p.pid=ip.pid 7

8 Forenings-, fælles-, og differens-mængde UNION, INTERSECT, MINUS (eller EXCEPT ) anvendes på resultater af to SELECT-sætninger SELECT pid FROM ip WHERE iid=306 UNION SELECT pid FROM ip WHERE iid=77; SELECT pid FROM ip WHERE iid=306 INTERSECT SELECT pid FROM ip WHERE iid=77; SELECT pid FROM ip WHERE iid=306 MINUS SELECT pid FROM ip WHERE iid=77; resultatet er undtagelsesvis IKKE en bag men en mængde bag-resultat fås ved UNION ALL, INTERSECT ALL, MINUS ALL, f.eks SELECT pid FROM ip WHERE iid=306 UNION ALL SELECT pid FROM ip WHERE iid=77; IP (Indhold i Præp.) IID PID

9 Omdøbning af tupel-variable SELECT p1.navn FROM p p1,p p2 WHERE p1.land<>p2.land AND p2.navn='treo' resultat? PID NAVN VIRKSOMHED GID LAND KKODE Kodein "Dak" Nycomed Danmark Danmark Pinex Alpharma Treo Lundbeck Danmark Kodimagnyl "Dak" Nycomed Danmark Danmark Japansk encephalitisvaccine Statens Serum Institut Danmark Cipramil Lundbeck Danmark Treosulfan "Medac" Medac Sverige 2183 Pinex Comp. Alpharma

10 Mængder i betingelser Mængder, f.eks. ( Treo, Pinex, Cipramil ) (( Treo', 7), ( Pinex', 7)) (SELECT navn FROM p WHERE kkode=1) Mængde-udtryk hvor A: mængdeelement og M: mængde og θ er en af =, <, >, A IN M (A er element i M) EXISTS M (M er ikke-tom) A θ M (A θ M gælder) A θ ANY M (A θ M gælder for mindst et element i M) A θ ALL M (A θ M gælder for alle elementer i M) 10

11 IN IN med direkte specificeret mgd. SELECT navn FROM p WHERE land IN ( Danmark, Norge ) IN på delforespørgsel SELECT navn FROM p WHERE pid IN (SELECT pid FROM ip WHERE iid=77) svarer til en join af p og ip hvilken? Database-skema Præparat: Indholdsstof: Indhold: Gruppe: p(pid, navn, virksomhed, gid, land, kkode) i(iid, navn) ip(iid,pid) g(gid, navn) hvad med: "Vis navn på præparater, der IKKE indeholder stoffet med iid=77 ved brug af IN? 11

12 EXISTS EXISTS på delforespørgsel SELECT navn FROM p WHERE EXISTS (SELECT pid FROM ip WHERE iid=77 AND pid=p.pid) Hvad står der her? SELECT navn FROM i WHERE NOT EXISTS (SELECT * FROM p,ip WHERE p.pid=ip.pid AND iid=i.iid AND land='sverige') Database-skema Præparat: p(pid, navn, virksomhed, gid, land, kkode) Indholdsstof: i(iid, navn) Indhold: ip(iid,pid) Gruppe: g(gid, navn) 12

13 Reference til ydre SELECT (korrelation) bemærk forskel imellem SELECT navn FROM p WHERE pid IN (SELECT pid FROM ip WHERE iid=77) og SELECT navn FROM p WHERE EXISTS (SELECT pid FROM ip Database-skema Præparat: Indholdsstof: Indhold: Gruppe: p(pid, navn, virksomhed, gid, land, kkode) i(iid, navn) ip(iid,pid) g(gid, navn) WHERE iid=77 AND pid=p.pid) betingelsen pid=p.pid refererer til ydre forespørgsel, hvilket kræver gentagen evaluering af indre forespørgsel 13

14 θ- (f.eks. <, =, >, ), θ ALL -, θ ANY operatorer "Vis navn på præparater med kkode større end kkoden for Pinex " SELECT navn FROM p WHERE kkode > (SELECT kkode FROM p WHERE navn= Pinex ) "Vis navn på præparater med med mindste kkode SELECT navn FROM p WHERE kkode <=ALL (SELECT kkode FROM p WHERE kkode is NOT null) Database-skema Præparat: Indholdsstof: Indhold: Gruppe: p(pid, navn, virksomhed, gid, land, kkode) i(iid, navn) ip(iid,pid) g(gid, navn) 14

15 θ- (f.eks. <, =, >, ), θ ALL -, θ ANY operatorer Hvad står der her? SELECT navn FROM p WHERE pid = any (SELECT pid FROM ip WHERE iid IN (SELECT iid FROM i WHERE navn='codein')) og her SELECT navn FROM p WHERE NOT land = 'Sverige' AND kkode = any (SELECT kkode FROM p WHERE virksomhed='lundbeck') Ækvivalenser indenfor [NOT]{IN EXISTS θ θ ALL θ ANY} IN? NOT IN? Database-skema Præparat: Indholdsstof: Indhold: Gruppe: p(pid, navn, virksomhed, gid, land, kkode) i(iid, navn) ip(iid,pid) g(gid, navn) 15

16 Tupel som element i mængde-udtryk Vis navn for præparater der ikke indeholder stoffet 306 SELECT navn FROM p WHERE pid NOT IN IP (Indhold i Præp.) (SELECT pid FROM ip WHERE iid=306) IID PID kan skrives SELECT navn FROM p WHERE (pid,306) NOT IN (SELECT pid,iid FROM ip) med tupel-element: (pid,306)

17 Relationer som operander i FROM Som noget nyt i SQL99-standarden: Relations-argumenter (i FROM) kan være SQL-udtryk også introduceret i Oracle f.eks 1 SELECT DISTINCT navn 2 FROM g, (SELECT gid x 3 FROM p,i,ip 4 WHERE p.pid=ip.pid and ip.iid=i.iid and i.navn='paracetamol') t 5* WHERE x=gid SQL> / NAVN Analgetika, paracetamol, Analgetika, svagt virkende, kombinationspræparater med codein, og dette svarer til? 17

18 SQL-funktioner Enkelt-række numeriske funktioner ABS COS SIN LOG SIGN TRUNC... tegn-funktioner C0NCAT INITCAP L0WER UPPER SOUNDEX SUBSTR LENGTH... dato-funktioner ADD_MONTHS LAST_DAY MONTHS-BETWEEN... konvertering TO_CHAR TO_DATE TO_NUMBER ROWIDTOCHAR(rowid)... Flere rækker / Gruppe aggregat -funktioner AVG COUNT MAX MIN SUM... 18

19 Aggregering Aggregering Brug af aggregat-funktioner F.eks. "Vis antallet af præparater" SELECT count(pid) FROM p; eller SELECT count(*) FROM p; eller SELECT count(virksomhed) FROM p; sidste variant uklar? kan præciseres SELECT count(distinct virksomhed) FROM p eller SELECT count(all virksomhed) FROM p ALL er default 19

20 Aggregering DISTINCT/ALL relevant ved: COUNT! Hvad med SUM? MAX? MIN? AVG? 20

21 Gruppering Gruppering Opdeling i grupper af tupler til aggregering Gruppering specificeres ved: GROUP BY A1,, AK F.eks SELECT pid, count(iid) FROM ip GROUP by pid hvad med?: SELECT land, count(iid) FROM p, ip WHERE p.pid=ip.pid group by land / IP (Indhold i Præp.) IID PID

22 Udvælgelse af grupper HAVING virker på grupper som WHERE virker på tupler f.eks "Vis antal producerede præparater pr. virksomhed" 1 SELECT virksomhed, count(iid) 2 FROM p, ip 3 WHERE p.pid=ip.pid 4* GROUP BY virksomhed SQL> / VIRKSOMHED COUNT(IID) Alpharma 3 Lundbeck 3 Medac 1 Nycomed Danmark 4 Statens Serum Institut 1 tilføj 5* HAVING count(iid)>1 Resultat? Hvad med en betingelse som:? WHERE p.pid=ip.pid AND count(iid) > 1 22

23 SQL join-udtryk (SQL99-standard) i FROM kan angives join-udtryk FROM R1 CROSS JOIN R2 FROM R1 JOIN R2 ON <betingelse> FROM R1 NATURAL JOIN R2 FROM R1 NATURAL LEFT OUTER JOIN R2 FROM R1 NATURAL RIGHT OUTER JOIN R2 FROM R1 NATURAL FULL OUTER JOIN R2 23

24 SQL join-udtryk (SQL99-standard) SQL> select count(*) from p cross join g; COUNT(*) SQL> select count(*) from p join g on p.gid=g.gid; COUNT(*)

25 Naturlig join SQL> SELECT count(*) FROM p NATURAL JOIN ip; COUNT(*) SQL> SELECT count(*) FROM ip NATURAL JOIN i COUNT(*) SQL> SELECT count(*) FROM p NATURAL JOIN ip NATURAL JOIN I; SQL> / COUNT(*) * SELECT count(*) FROM p NATURAL JOIN ip JOIN i ON ip.iid=i.iid SQL> / COUNT(*)

26 Ydre join SQL> SELECT * FROM p NATURAL JOIN i NAVN PID VIRKSOMHED GID LAND KKODE IID Japansk encephalitisvaccine 1004 Statens Serum Institut Danmark SQL> SELECT * FROM p NATURAL FULL OUTER JOIN i NAVN PID VIRKSOMHED GID LAND KKODE IID Japansk encephalitisvaccine 1004 Statens Serum Institut Danmark Pinex Comp Alpharma Pinex 671 Alpharma Cipramil 1243 Lundbeck Danmark 7 Treosulfan "Medac" 1454 Medac Sverige Kodein "Dak" 668 Nycomed Danmark Danmark 7 Kodimagnyl "Dak" 682 Nycomed Danmark Danmark 7 Treo 679 Lundbeck Danmark 7 Acetylsalicylsyre 77 Paracetamol 812 Magnesiumoxid 654 Coffein 307 Codein 306 Treosulfan 1012 Citalopram rækker er valgt. 26

27 Ydre join SQL> SELECT * FROM p NATURAL LEFT OUTER JOIN i NAVN PID VIRKSOMHED GID LAND KKODE IID Japansk encephalitisvaccine 1004 Statens Serum Institut Danmark Pinex Comp Alpharma Pinex 671 Alpharma Cipramil 1243 Lundbeck Danmark 7 Treosulfan "Medac" 1454 Medac Sverige Kodein "Dak" 668 Nycomed Danmark Danmark 7 Kodimagnyl "Dak" 682 Nycomed Danmark Danmark 7 Treo 679 Lundbeck Danmark 7 8 rækker er valgt. SQL> SELECT * FROM p NATURAL RIGHT OUTER JOIN i NAVN PID VIRKSOMHED GID LAND KKODE IID Japansk encephalitisvaccine 1004 Statens Serum Institut Danmark Acetylsalicylsyre 77 Paracetamol 812 Magnesiumoxid 654 Coffein 307 Codein 306 Treosulfan 1012 Citalopram rækker er valgt. 27

28 Opdatering i databasen Indsæt enkelt tupel INSERT INTO R VALUES (V1,, Vk) Indsæt mængde af tupler INSERT INTO R (SELECT-sætning) Slet mængde af tupler DELETE FROM R WHERE <betingelse> Ændring af tupler UPDATE R SET A1=V1,, An=Vn WHERE <betingelse> 28

29 Definition af databasen CREATE TABLE p ( pid INTEGER, navn VARCHAR2 (70), virksomhed VARCHAR2 (70), gid INTEGER, land VARCHAR2 (8), kkode INTEGER, UNIQUE (navn), PRIMARY KEY(pid), FOREIGN KEY (gid) REFERENCES g (gid)) / denne er vigtig 29

30 30

31 Data definition i SQL i øvrigt Data definition i SQL primært ved CREATE X <navn> ALTER X <navn> DROP X <navn> hvor X er DATABASE TABLE (*) VIEW (*) INDEX (*) FUNCTION PROCEDURE TRIGGER CONSTRAINT... bemærk ALTER er speciel, strengt taget overflødig og mangler på enkelte steder Der er mange flere, primært administrative operationer til styring af skema og database detaljer forespørgsels-optimering brugere og rettigheder pladsforbrug sikkerhed 31

32 SQL-DDL: Flere eksempler ALTER TABLE ALTER TABLE p ADD (nykode smallint) ALTER TABLE p ADD (unique (navn)) ALTER TABLE p DROP (unique (navn)) DROP TABLE DROP TABLE ip; DROP TABLE p; DROP TABLE g; DROP TABLE i; hvorfor denne rækkefølge? Alternativ: DROP TABLE i CASCADE CONSTRAINTS; DROP TABLE ip CASCADE CONSTRAINTS; DROP TABLE g CASCADE CONSTRAINTS; DROP TABLE p CASCADE CONSTRAINTS; 32

33 SQL-DDL: Flere eksempler default-værdier CREATE TABLE test(i int); INSERT INTO test VALUES (1); ALTER TABLE test ADD t char(6) DEFAULT 'ukendt'; INSERT INTO test VALUES (2,'flot'); SELECT * FROM test; I T ukendt 2 flot 33

34 SQL-DDL: Flere eksempler CREATE INDEX opret indeks på navn i p CREATE INDEX navn_index ON p(navn) opret indeks på kkode,navn i p CREATE INDEX kkodenavn_index ON p(kkode,navn) 34

35 View Et view er en virtuel relation Når der forespørges på et view, sørger databasesystemet for at modificere forespørgslen til en forespørgsel på "ægte" relationer Eksempel 1 CREATE VIEW p306 AS 2 SELECT navn,land,kkode 3 FROM p NATURAL JOIN ip 4* WHERE iid=306 SQL> / SQL> SELECT * FROM p306; Opret view pliste(pnavn,inavn) over kombinationer af præparater og indholdsstoffer view-definition? NAVN LAND KKODE Kodein "Dak" Danmark 7 Kodimagnyl "Dak" Danmark 7 Pinex Comp. 1 35

36 View Forespørgsler der involverer views forspørgslen flettes med viewdefinitionen princippet er simpelt og illustreres bedst ved omformning til algebra Eksempel CREATE VIEW p306 as SELECT navn,land,kkode FROM p NATURAL JOIN ip WHERE iid=306 forespørgsel SELECT navn FROM p306 WHERE kkode=7 π navn,land,kkode σ kkode=7 p306 * σ iid=306 p * er her naturlig join ip 36

37 View σ kkode=7 Fletning af view og forespørgsel + eksempel på optimering p306 σ kkode=7 π navn,land,kkode π navn,land,kkode π navn,land,kkode * * * σ iid=306 p σ iid=306 p σ iid=306 σ kkode=7 ip ip ip p 37

38 View Opdatering på views generelt et svært problem derfor ofte ulovligt, f.eks SQL> CREATE VIEW opdateringikkeok AS SELECT pid,sum(iid) antal FROM ip GROUP BY pid; SQL> INSERT INTO opdateringikkeok VALUES(812,17); INSERT INTO opdateringikkeok VALUES(812,17) * FEJL i linie 1: ORA-01732: datamanipulation er ikke tilladt på dette view men lovligt hvis opdatering entydig, f.eks SQL> CREATE VIEW opdateringok AS SELECT pid FROM p; SQL> INSERT INTO opdateringok VALUES(813); 1 række er oprettet. SQL> 38

39 Databaseskemaet gemmes i databasen En SQL-database indeholder sin egen definition Man kan derfor spørge på skema som man spørger på forekomst I ORACLE er relationers skemaer repræsenteret (bl.a.) i: USER_TABLES USER_TAB_COLUMNS SELECT table_name FROM user_tables SELECT table_name,column_name FROM user_tab_columns 39

40 Databaseskemaet gemmes i databasen SQL> SELECT table_name 2 FROM user_tables 3 / TABLE_NAME G I IP P 4 rækker er valgt. SQL> SELECT table_name,column_name 2 FROM user_tab_columns 3 / TABLE_NAME COLUMN_NAME G GID G NAVN I IID I NAVN IP IID IP PID P PID P NAVN P VIRKSOMHED P GID P LAND P KKODE 12 rækker er valgt. SQL> 40

41 Null-værdier og 3-værdi logik Null-værdi værdi der ikke er specificeret værdi der ikke giver mening Regning med Null hvis X er Null 1+X er Null X=3 har sandhedsværdi ukendt (eller muligvis ) SQL> SELECT * FROM t1; A B SQL> SELECT * FROM t1 WHERE B is NULL; A B SQL> SELECT COUNT(A) FROM t1; COUNT(A) SQL> SELECT COUNT(B) FROM t1; COUNT(B) SQL> SELECT COUNT(*) FROM t1; COUNT(*) SQL> SELECT COUNT(*) FROM t1 WHERE B<=2 or B>2; COUNT(*) OK? 41

42 3-værdi logik Sammenligning med Null giver ukendt / muligvis, altså en 3 die sandhedsværdi Evaluering af logiske udtryk kræver afklaring af logik for de 3 værdier: sand, falsk, muligvis 3-værdi logik sæt 0 = falsk, 1 = sand og 0,5 = muligvis X og Y er 3-værdi logiske udtryk X and Y = min(x,y) X or Y = max(x,y) not X = 1 - X Afledt sandhedstabel X Y X and Y X or Y not X ,5 0, ,5 1 0,5 1 0,5 0,5 0,5 0,5 0,5 0,5 0, ,5 0, ,5 0 0, Bemærk dette minder om (og kunne være starten på) Fuzzy Logik en mange-værdi logik der graduerer flydende imellem 0 og 1 42

Database-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form

Database-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form Database-sproget SQL SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form SELECT A1,, Ar FROM R1,, Rk WHERE B med attributter A1,, Ar relationer R1,, Rk betingelse B (logisk

Læs mere

Database-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form

Database-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form Database-sproget SQL SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form SELECT A1,, Ar FROM R1,, Rk WHERE B med attributter A1,, Ar relationer R1,, Rk betingelse B (logisk

Læs mere

Begrænsninger i SQL. Databaser, efterår 2002. Troels Andreasen

Begrænsninger i SQL. Databaser, efterår 2002. Troels Andreasen Databaser, efterår 2002 Begrænsninger i SQL Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Læs mere

Efterår 2002 Note 10. Temaopgave

Efterår 2002 Note 10. Temaopgave Datalogi Database-kurset Efterår 2002 Note 10 Temaopgave Formålet med temaopgaven er at I skal arbejde med vigtige dele af kursusstoffet indenfor et specifikt problemområde/tema. Temaopgaven omfatter 4

Læs mere

Funktionel afhængighed

Funktionel afhængighed Databaser, efterår 2002 Funktionel afhængighed Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Læs mere

Views etc. Databaser

Views etc. Databaser Views etc. Databaser Views Med Views kan vi gemme nogle af de lange select sætninger. I vores eksempel fra tidligere er det f.eks. forbundet med en del besvær at finde telefon nr og bilmærker for en sælger

Læs mere

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML SQL kap 6-7 + 17-20 DDL og DML 1 De vigtigste SQL-sætninger Data Definition Language (DDL) create table: opretter en ny tabel create unique index: tilføjer et index til en tabel drop table : sletter en

Læs mere

Efterår 2002 Note 13. Temaopgave svar

Efterår 2002 Note 13. Temaopgave svar Datalogi Database-kurset Efterår 2002 Note 13 Temaopgave svar Del 1: Design ved normalisering, svar fire tabeller p, ip, i og g (for hhv præparat, indholdsstof-i-præparat, indholdsstof og terapeutisk gruppe).

Læs mere

Introduktion til SQL queries

Introduktion til SQL queries Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til SQL queries Denne artikel beskriver nogle forskellige muligheder i SQL queries. Eksemplerne skulle gerne være standard SQL og virke i

Læs mere

DML, Foresprgsler Relationel algebra + noget mere! af skemaer (overlap m. DDL)

DML, Foresprgsler Relationel algebra + noget mere! af skemaer (overlap m. DDL) SQL Stuctured Query Language, spiller roller som DDL, denere relationsskemaer m.v. DML, Foresprgsler Relationel algebra + noget mere! Opdatering af relationer af skemaer (overlap m. DDL) Hvem bruger SQL

Læs mere

En Kort Introduktion til Oracle

En Kort Introduktion til Oracle En Kort Introduktion til Oracle Henrik Bulskov 12. februar 2001 bulskov@ruc.dk 1 Start SQL*Plus... 1 1.1 TELNET... 1 1.2 WINDOWS SQL PLUS... 2 2 Kør et SQL-script... 3 3 Hjælp i SQL*Plus... 3 4 Editering

Læs mere

Sidste forelæsning. Jacob Aae Mikkelsen. 28. april 2013 IMADA. Jacob Aae Mikkelsen (IMADA) Sidste forelæsning 28.

Sidste forelæsning. Jacob Aae Mikkelsen. 28. april 2013 IMADA. Jacob Aae Mikkelsen (IMADA) Sidste forelæsning 28. Sidste forelæsning Jacob Aae Mikkelsen IMADA 28. april 2013 Jacob Aae Mikkelsen (IMADA) Sidste forelæsning 28. april 2013 1 / 36 Outline 1 Brugere og Sikkerhed Jacob Aae Mikkelsen (IMADA) Sidste forelæsning

Læs mere

Relationel Algebra og SQL

Relationel Algebra og SQL Relationel Algebra og SQL Indholdsfortegnelse Relationel Algebra og SQL...1 Indholdsfortegnelse...1 De oprindelige mængdeoperationer...2 1. UNION (foreningsmængde)...2 2. INTERSECTION (fællesmængde)...2

Læs mere

En opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin

En opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin En opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin Trin 1: Lav en Domain model Opgave beskrivelse - Scandic hotel kæde Lav en domain model af Hotel-kæden.

Læs mere

Databasesystemer fra forskellige synsvinkler

Databasesystemer fra forskellige synsvinkler Databasesystemer fra forskellige synsvinkler Kim Skak Larsen kslarsen@imada.sdu.dk IMADA DM534 Introduktion til datalogi, 8/10 2015 p.1/60 Oversigt Introduktion Del 1: en designers synsvinkel Del 2: en

Læs mere

Introduktion til programmering

Introduktion til programmering Introduktion til programmering Databaser Uge 38 L. Ingemann: SQL databaser på nettet, kap 2-4. Kompendium L. Ingemann: SQL databaser på nettet, kap 6-20, Kompendium Sidste gang Databaser Relationelle databaser

Læs mere

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002 Databaser, efterår 2002 Databasesystemer Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Læs mere

Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach (jeans@ruc.dk) 2002

Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach (jeans@ruc.dk) 2002 Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach (jeans@ruc.dk) 2002 På datalogi har vi en databaseserver, som de studerende på datalogi kan benytte til projekter og som også benyttes i forbindelse

Læs mere

Databaser Obligatorisk opgave 1

Databaser Obligatorisk opgave 1 University of Southern Denmark Department of Mathematics and Computer Science Databaser Obligatorisk opgave 1 Afleveres senest: Lørdag d. 23. marts kl 23.59 Introduction Denne obligatoriske opgave indeholder

Læs mere

Få sin querystring til at fungere. (Nybegyndere)

Få sin querystring til at fungere. (Nybegyndere) Denne guide er oprindeligt udgivet på Eksperten.dk Få sin querystring til at fungere. (Nybegyndere) Artikelen henvender sig til nybegyndere der har problemer med at få sin querystring til at fungere (Access/ASP).

Læs mere

Databasesystemer. IT Universitetet i København 7. juni 2005

Databasesystemer. IT Universitetet i København 7. juni 2005 Databasesystemer IT Universitetet i København 7. juni 2005 Eksamenssættet består af 5 opgaver med 13 spørgsmål, fordelt på 6 sider (inklusiv denne side). Vægten af hver opgave er angivet. Du har 4 timer

Læs mere

(fig.1. Eksempel på en almindelig entity)

(fig.1. Eksempel på en almindelig entity) Formål Formålet med denne opgave var, at designe et database system for et fiktivt universitet, ved hjælp af ER-model, for derefter at oversætte det til SQL tabeller. Og dernæst lave en assertion så der

Læs mere

Obligatorisk opgave 2. SQL, relationel algebra og relationel kalkyle

Obligatorisk opgave 2. SQL, relationel algebra og relationel kalkyle DM26 Obligatorisk opgave 2 SQL, relationel algebra og relationel kalkyle Jacob Christiansen 130282 moffe42 Thomas Duerlund 040980 duerlund Side 1 af 9 Opgave 1: Formål: Ud fra en database omhandlende en

Læs mere

Databasesystemer. IT Universitetet i København 8. juni 2006

Databasesystemer. IT Universitetet i København 8. juni 2006 Databasesystemer IT Universitetet i København 8. juni 2006 Eksamenssættet består af 5 opgaver med 16 spørgsmål, fordelt på 7 sider (inklusiv denne side), samt et svarark, hvorpå visse spørgsmål skal besvares.

Læs mere

1. Basal select med (stjerne)

1. Basal select med (stjerne) 1. Basal select med (stjerne) 1. List alle øltyper. a. select * from oltyper 2. List alle bryggerier a. select * from bryggeri 3. List alle Danmarks postnumre samt tilhørende by, landsdel og antal indbyggere

Læs mere

Views. Et view er en relation defined ud fra gemte tabeller ( base tables ) og andre views To typer:

Views. Et view er en relation defined ud fra gemte tabeller ( base tables ) og andre views To typer: Views 1 Views Et view er en relation defined ud fra gemte tabeller ( base tables ) og andre views To typer: 1. Virtual = Ikke gemt i databasen; kun definitionen af den 2. Materialized = Date konstrueret

Læs mere

Manglende konsistens i datamodellen og upræcise SQLsætninger er årsagen til, at mange IT-systemer fejler.

Manglende konsistens i datamodellen og upræcise SQLsætninger er årsagen til, at mange IT-systemer fejler. Manglende konsistens i datamodellen og upræcise SQLsætninger er årsagen til, at mange IT-systemer fejler. Af Seniorkonsulent Carsten Saastamoinen-Jakobsen Skal datamodellen blot være på 3NF (normalform)?

Læs mere

Relationel Algebra...1. Indholdsfortegnelse...1. Operationer på den relationelle model...2

Relationel Algebra...1. Indholdsfortegnelse...1. Operationer på den relationelle model...2 Relationel Algebra Indholdsfortegnelse Relationel Algebra...1 Indholdsfortegnelse...1 Operationer på den relationelle model...2 Mængdeoperationerne...2 Union...2 Difference...2 Intersection...3 Hvilke

Læs mere

Databasesystemer. IT Universitetet i København 16. januar 2006

Databasesystemer. IT Universitetet i København 16. januar 2006 Databasesystemer IT Universitetet i København 16. januar 2006 Eksamenssættet består af 5 opgaver med 16 spørgsmål, fordelt på 6 sider (inklusiv denne side), samt et svarark, hvor visse spørgsmål skal besvares.

Læs mere

Skriftlig eksamen i Databaser, Vinter 2001/2002. Pa opfordring har jeg udarbejdet mulige lsninger pa eksamensopgaverne, men

Skriftlig eksamen i Databaser, Vinter 2001/2002. Pa opfordring har jeg udarbejdet mulige lsninger pa eksamensopgaverne, men Roskilde Universitetscenter Skriftlig eksamen i Databaser, Vinter 2001/2002 Opgaver med lsninger Pa opfordring har jeg udarbejdet mulige lsninger pa eksamensopgaverne, men har ikke haft tid til at polere

Læs mere

Import af rekursivt (parent-child) hierarki i Palo

Import af rekursivt (parent-child) hierarki i Palo Import af rekursivt (parent-child) hierarki i Palo Dette dokument beskriver hvordan et simpelt rekursivt (parent-child) hierarki kan importeres ind i Palo på forskellige måder via SQL og samtidig bibeholde

Læs mere

Eksempel på en database: studenter, kurser, eksamener

Eksempel på en database: studenter, kurser, eksamener Udvidet Programmering 1999 Forelæsning 20, fredag 12. november 1999 Relationsdatabaser: relationer, tupler, attributter Forespørgselssproget SQL Databasesystemet PostgreSQL Tilgang til relationsdatabaser

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

DB undervisning 01-01

DB undervisning 01-01 Databaser... 2 Tabeller... 2 Redundans... 3 Første regel... 4 Anden regel... 4 Tredje regel... 5 Relationer... 5 Opskrift... 6 SQL sætninger til at oprette tabeller... 7 SQL sætninger til at indsætte data...

Læs mere

Anne Randorff Højen

Anne Randorff Højen Anne Randorff Højen arra@hst.aau.dk Forelæsning og opgaver: Introduktion til SQL pause Forlæsning og Opgaver: SQL 2. del pause Introduktion til PhPMyAdmin Opgaver SQL Der modelleres ud fra reelle relationer

Læs mere

MsSQL: Basal performance tuning, part 1

MsSQL: Basal performance tuning, part 1 Denne guide er oprindeligt udgivet på Eksperten.dk MsSQL: Basal performance tuning, part 1 Hvordan man skriver "God SQL" for bedre performance. Skrevet den 03. Feb 2009 af trer I kategorien Databaser /

Læs mere

Objektorientering og databaser

Objektorientering og databaser Databaser, efterår 2002 Objektorientering og databaser Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674

Læs mere

Database design for begyndere

Database design for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Database design for begyndere Denne artikel beskriver hvordan man kommer fra ide til database design. Den stopper inden normal former. Den forudsætter

Læs mere

Database. lv/

Database. lv/ Database 1 Database Design Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management system) Et SW system der gør det muligt at definer, oprette og vedligeholde

Læs mere

Information Integration

Information Integration Databaser, efterår 2002 Information Integration Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072

Læs mere

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel: Denne guide er oprindeligt udgivet på Eksperten.dk SQL og ASP En artikel omkring simpel SQL og hvordan disse opbygges, udformes og udføres, sådan at man kan få et brugbart resultat i ASP. Dette ligefra

Læs mere

Søren Løbner (lobner) ddb Databaser 2007 10 10

Søren Løbner (lobner) ddb Databaser 2007 10 10 ddb Excercise Week 4 Fra relationships til relations Nu når vi har fået vores skemaer på plads, kan SQL udtrykkene til konstruktion af relationerne laves Det foregår ved at vi tager en 1 til 1 oversættelse

Læs mere

Eksamen, DSDS, efterår 2007

Eksamen, DSDS, efterår 2007 Eksamen, DSDS, efterår 2007 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech og Martin Elsman IT Universitetet i København 7. januar 2008 Alle hjælpemidler er tilladte, dog ikke

Læs mere

Kursus/workshop: SQL

Kursus/workshop: SQL Kursus/workshop: SQL En workshop - med fokus på workshop. En workshop arrangeret af PROSA Palle Nygaard Hansen Frank Jensen Indledning Gennemgang af alle basale SQL-sætninger Forløb for alle 3 aftener:

Læs mere

Opgave 1 Basal select med (stjerne)

Opgave 1 Basal select med (stjerne) Opgave 1 Basal select med (stjerne) 1. List alle øltyper. 2. List alle bryggerier 3. List alle Danmarks postnumre samt tilhørende by, landsdel og antal indbyggere 4. BONUS: List alle ølmærker med alt deres

Læs mere

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Øvelse 9. Klasser, objekter og sql-tabeller insert code here Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til

Læs mere

Trin 1 INSERT INTO Debitor (DebitorNr, KundeKategori, KreditMax, SidstRykket, Sælger ) VALUES (20121, 10, 40000, NULL, "Bjarne Larsen");

Trin 1 INSERT INTO Debitor (DebitorNr, KundeKategori, KreditMax, SidstRykket, Sælger ) VALUES (20121, 10, 40000, NULL, Bjarne Larsen); SQL-programmering Alle opgaverne er baseret på ACCESS-databasen REGNSKAB Løsningsforslag til SQL-opgavesættet Følgende løsninger til opgaverne i forbindelse med Regnskabsdatabasen er vejledende. Fund af

Læs mere

Afleveringsopgave. Efterår 2001

Afleveringsopgave. Efterår 2001 Datalogi Database-kurset Efterår 2001 Afleveringsopgave Baseret på opgavetekst forfattet af Troels Andreasen, forår 2001 Let redigeret af Henning Christiansen, oktober 2001 Aflevering Opgaven afleveres

Læs mere

Databasesystemer. IT Universitetet i København 8. juni 2006

Databasesystemer. IT Universitetet i København 8. juni 2006 Databasesystemer IT Universitetet i København 8. juni 2006 Eksamenssættet består af 5 opgaver med 16 spørgsmål, fordelt på 10 sider (inklusiv denne side), samt et svarark, hvorpå visse spørgsmål skal besvares.

Læs mere

Data lagring. 2. iteration (implement backend)

Data lagring. 2. iteration (implement backend) Data lagring 2. iteration (implement backend) Emner Grundlæggende database begreber. Data definitionskommandoer ER-diagrammer og cardinalitet/relationer mellem tabeller Redundant data og Normalisering

Læs mere

Skriftlig eksamen i. Databaser. Vinter 2002/2003. Vejledende løsninger

Skriftlig eksamen i. Databaser. Vinter 2002/2003. Vejledende løsninger Skriftlig eksamen i Databaser Vinter 2002/2003 Vejledende løsninger Dette eksamenssæt består af 5 nummererede sider (incl. denne). Der er 5 opgaver, som ved bedømmelsen tillægges følgende vægte: Opgave

Læs mere

Air Crash Booking System

Air Crash Booking System Air Crash Booking System Eksamensopgave i Databaser (ddb), E06 Vejleder: Louis Salvail Afleveret 27. oktober 2006 af: Jens Gram Pedersen, 20041039, mail@jensgram.dk 28 nummererede sider I N D H O L D S

Læs mere

SQL Server 2008 Spatiale eksempler. Plan & Miljø, GIS

SQL Server 2008 Spatiale eksempler. Plan & Miljø, GIS SQL Server 2008 Spatiale eksempler Plan & Miljø, GIS Stråtækte bygninger SQL script udtræk og geokodning af stråtækte bygninger fra BBR. Geokodede bygninger er en forudsætning. NB! Frederikssund Kommune

Læs mere

SQL Server 2016 Data Adgang

SQL Server 2016 Data Adgang SQL Server 2016 Data Adgang MSBIP, 5. OKTOBER, 2015 Agenda SQL Server 2016 CTP 2.3 Pragmatisk Data Adgangskontrol Row Level Security Dynamic Masking Kombination af begge Alternativet Hvem er jeg Selvstændig

Læs mere

Databaser Obligatorisk opgave 2 Vejledende løsning

Databaser Obligatorisk opgave 2 Vejledende løsning University of Southern Denmark Department of Mathematics and Computer Science Databaser Obligatorisk opgave 2 Vejledende løsning Afleveres senest: Søndag d. 5. maj kl 23.59 Spilleregler Denne obligatoriske

Læs mere

Projekt titel. Projekt navn. Gruppe medlemmer. Klasse/Gruppenummer. Databaseprojekt 1. Ferrari

Projekt titel. Projekt navn. Gruppe medlemmer. Klasse/Gruppenummer. Databaseprojekt 1. Ferrari Projekt titel Databaseprojekt 1 Projekt navn Ferrari Gruppe medlemmer Christian Lund (christiandevries.dk) Alexander Kofod (thisisalex.dk) Mark Halding (haldingweb.dk) Klasse/Gruppenummer MulA - gruppe

Læs mere

MySQL C API. Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere.

MySQL C API. Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere. Denne guide er oprindeligt udgivet på Eksperten.dk MySQL C API Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere. Den forudsætter lidt kendskab

Læs mere

Selection Udvælgelse. For at markere mere end en polygon, holdes Ctrl samtidig. Klik på næste polygon. Gentag for i alt 5 polygoner.

Selection Udvælgelse. For at markere mere end en polygon, holdes Ctrl samtidig. Klik på næste polygon. Gentag for i alt 5 polygoner. Selection Udvælgelse Der er flere metoder til at udvælge data i GIS. I de følgende opgaver arbejdes med 3 kategorier: Select med mus Select med udtryk Select med Spatial Query Åbn filen Markblok.shp fra

Læs mere

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen. Copenhagen Business Academy Multimediedesigner 3. semester - 1. projekt, september 2014 Gruppe 1 - MulA Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen. Study: Multimedia Design Project:

Læs mere

Eksamen, DSDS, forår 2009

Eksamen, DSDS, forår 2009 Eksamen, DSDS, forår 2009 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 3. juni 2009 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.

Læs mere

Skriftlig eksamen i. Datalogi. Databaser. Sommer 2001

Skriftlig eksamen i. Datalogi. Databaser. Sommer 2001 Skriftlig eksamen i Datalogi Databaser Sommer 2001 Dette eksamenssæt består af 4 nummererede sider (incl. denne). Der er 4 opgaver, som ved bedømmelsen tillægges følgende vægte: Opgave 1: 20% Opgave 2:

Læs mere

Skriftlig eksamen i kurset. Informationssystemer

Skriftlig eksamen i kurset. Informationssystemer 6. semester sundhedsteknologi Skriftlig eksamen i kurset Informationssystemer Der er 3 timer til at besvare opgaven. Alle hjælpemidler er tilladte. Skriv kort og præcist. Referer gerne til kursuslitteraturen.

Læs mere

3. semester, 2. projekt: Database

3. semester, 2. projekt: Database 3. semester, 2. projekt: Database MulA - Gruppe 1 7. september 2015-20. september 2015 Vejledere - IRF / TUJE FAKTAARK PROJEKTTITEL Database URL http://moodings.com Mette Line Tarp Jørgensen Email cph-mj420@cphbusiness.dk

Læs mere

Elaboration fase 2. semester projekt 2008-04-11. Gruppe 4

Elaboration fase 2. semester projekt 2008-04-11. Gruppe 4 Indholdsfortegnelse Analysemodeller... 4 Domænemodel... 4 ER-model... 5 Designmodeller... 7 Designklassediagram... 7 Sekvensdiagram... 9 Relationel model... 10 Diskussion af datastrukturer, algoritmer

Læs mere

Ratingsystem i PHP og MySQL

Ratingsystem i PHP og MySQL Denne guide er oprindeligt udgivet på Eksperten.dk Ratingsystem i PHP og MySQL Lær at lave et system til at vise rating/bedømmelse på artikler og nyheder. Skrevet den 03. Feb 2009 af virtual1ty I kategorien

Læs mere

Database programmerings tips

Database programmerings tips Denne guide er oprindeligt udgivet på Eksperten.dk Database programmerings tips Denne artikel vil introducere nogle problem stillinger med flere samtidige brugere, som man skal tænke på, når man udvikler

Læs mere

Eksamen, DSDS, efterår 2008

Eksamen, DSDS, efterår 2008 Eksamen, DSDS, efterår 2008 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 6. januar 2009 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.

Læs mere

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 2: Relationer og SQL. 10. februar 2005. Forelæser: Rasmus Pagh

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 2: Relationer og SQL. 10. februar 2005. Forelæser: Rasmus Pagh Databasesystemer, forår 2005 IT Universitetet i København Forelæsning 2: Relationer og SQL 10. februar 2005 Forelæser: Rasmus Pagh Forelæsningen i dag Praktisk information (fra kursushjemmeside). Hvad

Læs mere

DOCUMENTATION FULLY DRESSED USE-CASE. 29. oktober 2012 [ TEMA PERSISTENS DOKUMENTATION] Use-case: Process Order

DOCUMENTATION FULLY DRESSED USE-CASE. 29. oktober 2012 [ TEMA PERSISTENS DOKUMENTATION] Use-case: Process Order DOCUMENTATION FULLY DRESSED USE-CASE Use-case: Process Order Omfang og niveau: Dette omhandler en ordre der går gennem systemet Primær aktør: Sælger Pre betingelser: At der ikke er registret kunder Post

Læs mere

Datalagring og formater

Datalagring og formater Datalagring og formater IT Universitetet i København 4. januar 2011 Eksamenssættet består af 6 opgaver med 15 spørgsmål, fordelt på 11 sider (inklusiv denne side). Det anbefales at læse opgaverne i rækkefølge,

Læs mere

Opgave 1. Opret de 4 tabeller i FTSFrontend programmet. Indsæt mindst 3 forskellige tabelværdier i kunder, målerstatus, byer og regning..

Opgave 1. Opret de 4 tabeller i FTSFrontend programmet. Indsæt mindst 3 forskellige tabelværdier i kunder, målerstatus, byer og regning.. Side 1 af 11 Dato: 07-09-2003 Opgaver i oprettelse af kunder og info i database med java. Opgave 1. Opret de 4 tabeller i FTSFrontend programmet. Indsæt mindst 3 forskellige tabelværdier i kunder, målerstatus,

Læs mere

Database kursus Forår 2013

Database kursus Forår 2013 Database kursus Forår 2013 Jacob Aae Mikkelsen Database design og programmering/databaser fra Organisationsorienteret softwareudvikling 1 Praktisk info Lærebog Database Systems: The Complete Book Skema

Læs mere

Projekt 1 Database. Cphbusiness Lyngby Multimediedesigner, 3. semester mul-a12e, gruppe 1

Projekt 1 Database. Cphbusiness Lyngby Multimediedesigner, 3. semester mul-a12e, gruppe 1 Projekt 1 Database Cphbusiness Lyngby Multimediedesigner, 3. semester mul-a12e, gruppe 1 CREATE TABLE IF NOT EXISTS `3sempro1`.`cu `customer_id` INT(5) NOT NULL AUTO_INCR `name` VARCHAR(45) NULL DEFAULT

Læs mere

Introduktion til SQL

Introduktion til SQL Introduktion til SQL Introduktion til SQL 1. udgave, 1. oplag 2013 Copyright 2013 Libris Media A/S Forfatter: Bobby Henningsen Forlagsredaktion: Peter Wiwe og Louise Peulicke Larsen Omslag: Louise Peulicke

Læs mere

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen. Copenhagen Business Academy Multimediedesigner 3. semester - 1. projekt, september 2014 Gruppe 1 - MulA Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen. Study: Multimedia Design Project:

Læs mere

OPC ACCESS HEARTBEAT 1

OPC ACCESS HEARTBEAT 1 OPC Access Heartbeat Dette dokument gennemgår i et kort eksempel, hvordan OPC Access konfigureres til at anvende Heartbeat funktionen til at dokumentere kontinuerlig forbindelse mellem SQL Server og OPC

Læs mere

Anvisning i aflevering af bitemporale data

Anvisning i aflevering af bitemporale data UDKAST udgivet juni 2019 Anvisning i aflevering af bitemporale data Baggrund Aflevering af data fra it-systemer til et offentligt arkiv er baseret på aflevering af en arkiveringsversion i en relationel

Læs mere

SQL for MySQL-begyndere

SQL for MySQL-begyndere Denne guide er oprindeligt udgivet på Eksperten.dk SQL for MySQL-begyndere I denne artikel vil jeg prøve at beskrive MySQL på begynderniveau. SQL står for Structured Query Language, og er et sprog til

Læs mere

SQL-opgaver 5 løsning

SQL-opgaver 5 løsning SQL-opgaver 5 løsning Diagrammet herunder viser, hvordan kildetabellerne gerne skal se ud efter at have løst de tidligere opgaver. Scriptet opgave_5.txt indeholder også disse tabelstrukturer og alle data,

Læs mere

Database "opbygning"

Database opbygning Database "opbygning" Dette områder falder mest under en DBA's ansvarsområde. Det kan sagtens tænkes at en database udvikler i nogle situationer vil blive nød til at oprette produktions og test) databaser,

Læs mere

Eksamen, DSDS, forår 2008

Eksamen, DSDS, forår 2008 Eksamen, DSDS, forår 2008 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 3. juni 2008 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.

Læs mere

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125 Tietgenskolen - Nørrehus Data warehouse Database for udviklere Thor Harloff Lynggaard DM08125 Juni 2010 Indhold Beskrivelse... 3 Data warehouse... 3 Generelt... 3 Sammenligning... 3 Gode sider ved DW...

Læs mere

MapBasic brugergruppe. Geografiske objekter. Peter Horsbøll Møller Senior Systems Engineer April 2013

MapBasic brugergruppe. Geografiske objekter. Peter Horsbøll Møller Senior Systems Engineer April 2013 MapBasic brugergruppe Geografiske objekter Slå mute fra hvis I vil sige eller spørge om noget Peter Horsbøll Møller Senior Systems Engineer April 2013 Program MapBasic IDE som udviklingsværktøj Geografiske

Læs mere

Jayne Alice Jensen cph-jj208@cphbusiness.dk [Link til portfolio]

Jayne Alice Jensen cph-jj208@cphbusiness.dk [Link til portfolio] DATABASE Projekt: Projekt 1, 3. semester Website: http://kostecki.dk/cph/projektdb/ Dato: 08/09/14-21/09/14 Skole: Copenhagen Business Academy Klasse: Multimediedesigner - Mulb Gruppe: MULB1 Undervisere:

Læs mere

Database optimering - Indeks

Database optimering - Indeks Database optimering - Indeks Alle kender til dette irritations moment, hvor programmet man sidder og arbejder med, bare ikke er hurtigt nok. Selvom det kun drejer sig om få sekunder man sidder og venter,

Læs mere

Conceptual, logic, physical

Conceptual, logic, physical Conceptual, logic, physical Conceptual er et billede af virkeligheden. Entity names og attributter relaterer til den faktiske verden. Physical er i SQL databasen, her skriver vi de navne på tabeller og

Læs mere

OPC Access 3.0 opdatering via Stored Procedure

OPC Access 3.0 opdatering via Stored Procedure OPC Access 3.0 opdatering via Stored Procedure Dette dokument gennemgår et eksempel på, hvordan OPC Access 2.0 kan konfigureres til at opdatere en database via en stored procedure. OPC ACCESS 2.0 OPDATERING

Læs mere

Introduktion til OPC Access

Introduktion til OPC Access Introduktion til OPC Access OPC Access anvendes til at kommunikere med jeres produktionsudstyr via OPC. OPC Access kombinerer en SQL Server med OPC, således at jeres produktionsudstyr kobles sammen med

Læs mere

Algebra. Denition. Signatur: et antal sorter eller typer: (simple eller strukturerede). et antal konstantsymboler med type, og

Algebra. Denition. Signatur: et antal sorter eller typer: (simple eller strukturerede). et antal konstantsymboler med type, og Algebra Denition. Signatur: et antal sorter eller typer: (simple eller strukturerede). et antal konstantsymboler med type, og en antal operatorsymboler med rang 1 ::: n! hvor 'erne er typer. Eksempel:

Læs mere

MapInfo Professional 11.0 Hvordan man tilgår en database

MapInfo Professional 11.0 Hvordan man tilgår en database MapInfo Professional 11.0 Hvordan man tilgår en database Peter Horsbøll Møller, Senior Systems Engineer Marts 2012 Opsætning af en spatial database så den kan anvendes fra MapInfo Professional 11.0 Anvende

Læs mere

MapBasic brugergruppe. SQL i MapBasic. Peter Horsbøll Møller Senior Systems Engineer Marts Slå mute fra hvis I vil sige eller spørge om noget

MapBasic brugergruppe. SQL i MapBasic. Peter Horsbøll Møller Senior Systems Engineer Marts Slå mute fra hvis I vil sige eller spørge om noget MapBasic brugergruppe SQL i MapBasic Slå mute fra hvis I vil sige eller spørge om noget Peter Horsbøll Møller Senior Systems Engineer Marts 2013 Program MapBasic IDE som udviklingsværktøj MapBasic-vinduet

Læs mere

Opsætning af Oracle Designer 10g repositorie

Opsætning af Oracle Designer 10g repositorie Opsætning af Oracle Designer 10g repositorie Dette dokument beskriver hvordan man opsætter det repositorie, som Oracle Designer gemmer sine data i. Udgangspunktet er at man har installeret Oracle Database

Læs mere

Fra ER-Diagram til Relationel model i 7 step

Fra ER-Diagram til Relationel model i 7 step Fra ER-Diagram til Relationel model i 7 step STEP 1: For regular entity type E in ER schema, create a relation R that includes all the simple attributes, and component attributes of composite attributes.

Læs mere

Videregående databaseprogrammering

Videregående databaseprogrammering Videregående databaseprogrammering I dette kapitel gennemgås lidt om, hvordan man kan få direkte adgang til tabeller i Delphi delvist uden om standard-databasekomponenterne. Afsnittet forudsætter derfor,

Læs mere

Rigtig SQL Programmering

Rigtig SQL Programmering Rigtig SQL Programmering 1 SQL i Rigtige Programmer Indtil nu har vi brugt SQL direkte i kommandolinje promt/gui program, hvor vi kan lave forespørgsler til databasen I virkeligheden: Programmer kontakter

Læs mere

applikation----x----odbc driver manager----foobar ODBC driver----foobar database

applikation----x----odbc driver manager----foobar ODBC driver----foobar database Denne guide er oprindeligt udgivet på Eksperten.dk ODBC i C/C++ Denne artikel beskriver hvordan man bruger ODBC i C/C++. Der er beskrivelse af build med forskellige compilere. Den forudsætter lidt kendskab

Læs mere

Baggrundsnote om logiske operatorer

Baggrundsnote om logiske operatorer Baggrundsnote om logiske operatorer Man kan regne på udsagn ligesom man kan regne på tal. Regneoperationerne kaldes da logiske operatorer. De tre vigtigste logiske operatorer er NOT, AND og. Den første

Læs mere

Oracle PL/SQL. Overview of PL/SQL

Oracle PL/SQL. Overview of PL/SQL Oracle PL/SQL John Ortiz Overview of PL/SQL Oracle's Procedural Language extension to SQL. Support many programming language features. If-then-else, loops, subroutines. Program units written in PL/SQL

Læs mere

The Design Diaries Project 3 2. Semester. Blog om designprincipper

The Design Diaries Project 3 2. Semester. Blog om designprincipper The Design Diaries Project 3 2. Semester Blog om designprincipper By Lif Neergaard www.lifmediadesign.dk cph-ln175@cphbusiness.dk Mathias Larsen www.nefjam.dk cph-ml414@cphbusiness.dk Ida Christensen www.idamedia.dk

Læs mere

Skrevet den 18. Feb 2010 af arne_v I kategorien Programmering / Visual Basic.NET

Skrevet den 18. Feb 2010 af arne_v I kategorien Programmering / Visual Basic.NET Denne guide er oprindeligt udgivet på Eksperten.dk Parameters Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til VB.NET og ADO.NET. Der findes en tilsvarende artikel

Læs mere