729G28 Webprogrammering och databaser Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi
2 Personal Examinator, Ansvarig databasteori: Eva Ragnemalm, eva.ragnemalm@liu.se Ansvarig webprogrammering, labbar: Sahand Sadjadee, sahand.sadjadee@liu.se Labbassistent: Iliyas Jorio
3 Kursöversikt Två komponenter: Webprogrammering Databasteori och praktik Delarna förenas i det praktiska arbetet lab 1 Databasspråket SQL lab 2 utforma och lägga upp en databas projekt Dynamiska websidor mot databas
4 Praktisk info Organisation: Fö, le, la, projekt la och projekt i par, webreg 6hp -> 160 h, hälften var db/web, men la1-2 är db så projektet + tutorials räkna med 80h Examination tenta + (la + projekt) Kursinfo och kommunikation
5 Ändringar mot förra året Ny version av boken Lab 2a påbörjas redan nästa vecka. Tydligare att tutorials i html, css o php är kurslitteratur Projektdelen tydligare instruktioner.
6 Webbprogrammering Webbdesign Webbprogrammering - php ett språk som skapar websidor dynamiskt.
7 Webbläsare - webbserver Webbläsare Bla bla Text akdjfgh skljg sldkfg dklsfjg kdljfg kldjfg dklsjf gkldjsfg kldjfhg kdjf dlkfjg kdj f Internet Webbserver Bla bla En bla till Text akdjfgh skljg sldkfg dklsfjg kdljfg kldjfg dklsjf gkldjsfg kldjfhg kdjf bla bla bla Tipslum dlkfjg kdj f aösdhf ldskjh asdkhfsdkhf skj df
8
9 Site-specifik layout När många sidor hänger ihop vill man gärna ha gemensam stil, bakgrund, layout osv. Cascading Style Sheets (CSS) <style type="text/css"> body { color: purple; background-color: #d8da3d } </style> En bla till bla bla bla Tipslum aösdhf ldskjh asdkhfsdkhf skj df En bla till bla bla bla Tipslum aösdhf ldskjh asdkhfsdkhf skj df
10
11 Dynamiska websidor Webläsare Dagens datum Dagens datum och tid 2009-11-02 9.00 Internet Dagens datum Dagens datum och tid 2009-11-02 9.00 Websida Webserver <HTML> <HEAD> <TITLE>Dagens datum</title> </HEAD> <BODY> <H1> Dagens datum och tid</h1> <?php echo date("ym-d H:i:s");?> </BODY> </HTML> HTML med PHP-kod
12 Dynamiska websidor kopplade till databas Webläsare Dagens datum Dagens datum och tid 2009-11-02 9.00 Webserver Dagens datum Dagens datum och tid 2009-11-02 9.00 Websida <HTML> <HEAD> <TITLE>Dagens datum</title> </HEAD> <BODY> <H1> Dagens datum och tid</h1> <?php echo date("ym-d H:i:s");?> </BODY> </HTML> HTML PHP CSS Internet Databas Databasserver
13 Databasteori: definitioner Data, Databas Databashanteringssystem Databasintegritet Datamodell (ER, Relationsmodell) Instans, schema, metadata Databasspråk (ex: SQL)
14 Databas En databas är en samling data som: Har med varandra att göra Representerar (modellerar) en del av verkligheten för ett specifikt ändamål Är beständig (finns kvar) Har en strikt struktur som beskrivs i ett schema Inte innehåller motsägelser Lagras på dator
15 Databashanteringssystem (databashanterare) (DBMS) Ett programsystem som Hanterar flera databaser enligt en datamodell med hjälp av ett databasspråk Kan anropas från applikationsprogram
16 Hantera databaser Skapa nya databaser Manipulera data (lägga till, ta bort, läsa ut) Kontrollera åtkomst enskilt och samtidigt Återställning vid krasch Kontrollera korrekthet (databasintegritet)
17 Hantera databasen: Databasintegritet Informationen i en databas måste vara korrekt! Rätt typ och rätt struktur, ett av en mängd Värden som måste fyllas i Överensstämmelse med andra värden Korrekthetsvillkor i db: integritetsvillkor Formuleras av db-administratören mha olika mekanismer i DBHS
18 Datamodell Hur vi ser världen Olika nivåer: Konceptuell (begreppsmässig) modell Representationsmodell (implementationsmodell) Fysisk datamodell
19
20 Datamodell Hur vi ser världen Olika nivåer: Konceptuell (begreppsmässig) modell Implementationsmodell Fysisk datamodell
21 Entity-Relationship model (ER-modellen) Världen består av entiteter med samband emellan Student går Kurs
22 Datamodell: Relationsmodell Student Epost Namn Adress Kurs Annan123 Anna Andersson Rydsv 234 729G68 Ollol345 Olle Olsson Storgatan 1 732G16 Kurs Kurskod Namn Läsår Poäng 729G68 Databaser 07/08 7.5 732G16 Databaser 07/08 7.5 TTIT03 Introduktion till PBL 07/08 2
23 Datamodell: Instans och schema Databasen och dess beskrivning Instans = den samling data som finns i databasen vid en viss tidpunkt. Schema=beskrivning av databasen enligt någon datamodell. Förändras sällan. Instansen måste följa schemat. Schemat lagras i databasen
24 Datamodell: Metadata data om data Schemat är metadata Information om hur och var data lagras Struktur, organisation Tillgänglighet Användningsstatistik
25 Databasspråk Klass av språk som används mot databaser Databeskrivningsspråk (DDL) Datamanipuleringsspråk (DML) Värdspråk
26 Databasspråk: Exempel: sql Create table person (pnr varchar(10) not null, namn varchar(30), adress varchar (30), primary key(pnr)) Update person set adress 'Studentvägen 10' where pnr='7012120123' Select namn from person where pnr='7012120123'
27 Applikationsprogram Specialiserade program som gör användningen av databasen enklare för slutanvändare Specifik användargrupp och specifikt användningsområde Ex resebyråns flygplansbokning
28 Fördelar med databasteknik Självbeskrivnande Dataoberoende Stöder multipla vyer Säkerhetssystem (integritet, tillgänglighet, loggning) Stöder och reglerar samtidig användning Motverkar redundans
29 Nackdelar med databasteknik DBMS tar stor plats Overhead ger längre svarstider Ibland krångligt att lära sig hantera
30 När ska man inte använda DBMS Små mängder data Enstaka användning av data som sedan blir föråldrat/ förkastat Enkel användning som aldrig ändras Om systemet måste ta liten plats Om systemet måste garantera korta svarstider (processövervakning etc)
Frågor? Nästa föreläsning: ER-modellering www.liu.se