Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Intro Større applikationer, f. eks: Bogpris.dk. Nye bøger.

Lignende præsentationer


Præsentationer af emnet: "Intro Større applikationer, f. eks: Bogpris.dk. Nye bøger."— Præsentationens transcript:

1 Intro Større applikationer, f. eks: Bogpris.dk

2 Nye bøger

3 Transaktioner Forelæsning nr 9 Designprocedure og konstruktion Søge i en database Eks. Gymnastikforeningen Simple søgninger Avancerede søgninger Agregerede udtryk Manipulere data Indsætte data Næste uges opgave

4 Designprocedure og konstruktion 3-tier model: Databaselag Forretningslag Præsentationslag Eksempel på designprocedure: Modellering af database Formulere mulige transaktioner Designe applikation () Konstruktion

5 Gymnastikforeningen - igen gf_kurser kursus_id kursusnavn gf_personer person_id email navn tilknytning gf_kursusansvar kursus_id person_id periode

6 Simpel WHERE-sætning Hvilke trænere findes der i gymnastikforeningen? SELECT navn FROM gf_personer WHERE tilknytning = 'Træner'

7 Simpel WHERE-sætning Hvilken emailadresse har Dorte Didriksen? SELECT email FROM gf_personer WHERE navn = 'Dorte Didriksen'

8 Wildcard Hvad er Bennys fulde navn? SELECT navn FROM gf_personer WHERE navn LIKE 'Benny%'

9 Joins kursusnavn = ’Dansegymnastik’ navn = ’Anders%’

10 Join I hvilken periode har Anders ansvaret for gymnastikkurset ''Dansegymnastik"? SELECT gf_kursusansvar.periode FROM gf_kurser, gf_personer, gf_kursusansvar WHERE gf_kurser.kursusnavn = 'Dansegymnastik' AND gf_kurser.kursus_id = gf_kursusansvar.kursus_id AND gf_personer.navn LIKE 'Anders%'

11 Join Hvem er kursusansvarlig(e) for "Far, mor & børn"-kurser; SELECT gf_personer.navn FROM gf_kurser, gf_personer, gf_kursusansvar WHERE gf_personer.person_id = gf_kursusansvar.person_id AND gf_kurser.kursus_id = gf_kursusansvar.kursus_id AND gf_kurser.kursusnavn = "Far, mor & børn"

12 Join (fra sidste uges opgave;) SELECT gf_kurser.kursus_id, gf_kurser.kursusnavn, gf_personer.navn AS ansvarlig FROM gf_kurser, gf_personer, gf_kursusansvar WHERE (gf_kurser.kursus_id = gf_kursusansvar.kursus_id AND gf_personer.person_id = gf_kursusansvar.person_id AND periode = 'F2003')

13 Join med WHERE I hvilken periode har Anders ansvaret for gymnastikkurset ''Dansegymnastik"? SELECT gf_kursusansvar.periode FROM gf_kurser, gf_personer, gf_kursusansvar WHERE gf_kurser.kursusnavn = 'Dansegymnastik' AND gf_kurser.kursus_id = gf_kursusansvar.kursus_id AND gf_kursusansvar.person_id =gf_personer.person_id AND gf_personer.navn LIKE 'Anders%' Joining de tre tabeller gf_kurser, gf_personer og gf_kursusansvar

14 Join med JOIN- syntaks http://www.mysql.com/doc/en/JOIN.html

15 JOIN-syntaks SELECT gf_kursusansvar.periode FROM gf_kursusansvar AS ansvar JOIN gf_kurser ON gf_kursusansvar.kursus_id= gf_kurser.kursus_id JOIN gf_personer ON gf_personer.person_id = gf_kursusansvar.person_id WHERE gf_kurser.kursusnavn = 'Dansegymnastik‘ AND gf_personer.navn LIKE 'Anders%'

16 Aggregerede udtræk COUNT(Fieldname) SUM(Fieldname) MIN(Fieldname) MAX(Fieldname) Tæller, lægger sammen, finder mindste og største Forudsætter anvendelsen af GROUP BY-kommando

17 Manipulere data Rediger Dortes navn: Update gf_personer SET navn = 'Dorte Degn' WHERE navn LIKE 'Dorte%' Overvej nøje hvad du redigerer i!!

18 Indsætte data Indsæt nye kurser: INSERT INTO gf_kurser (kursusnavn) VALUES(’Spring'),(’Puls’)

19 Datatyper TINYINT[(length)] [UNSIGNED] [ZEROFILL] SMALLINT[(length)] [UNSIGNED] [ZEROFILL] MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL] INT[(length)] [UNSIGNED] [ZEROFILL] INTEGER[(length)] [UNSIGNED] [ZEROFILL] BIGINT[(length)] [UNSIGNED] [ZEROFILL] REAL[(length,decimals)] [UNSIGNED] [ZEROFILL] DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL] FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL] DECIMAL(length,decimals) [UNSIGNED] [ZEROFILL] NUMERIC(length,decimals) [UNSIGNED] [ZEROFILL] CHAR(length) [BINARY] VARCHAR(length) [BINARY] DATE TIME TIMESTAMP DATETIME TINYBLOB BLOB MEDIUMBLOB LONGBLOB TINYTEXT TEXT MEDIUMTEXT LONGTEXT ENUM(value1,value2,value3,...) SET(value1,value2,value3,...)

20 ACID ACID står for Atomacy – en transaktion er enten fuldt udført eller slet ikke udført. Consistency – transaktioner sender databasen fra en legal tilstand til en anden legal tilstand. Isolation – transaktion er usynlig for andre transaktioner indtil transaktionen er komplet. Durability – komplette transaktioner overlever fremtidige systemcrash.

21 Anvendelsen af HTML-formvariabler HTML-formvariabler findes i to typer eller HTML-formvariabler kommre fra HTML-formelementer - men lige så vel fra a- elementer: - eller endda

- eller rettere


Download ppt "Intro Større applikationer, f. eks: Bogpris.dk. Nye bøger."

Lignende præsentationer


Annoncer fra Google