729G28 Webprogrammering och Kursansvarig: Eva Ragnemalm, IDA eva.ragnemalm@liu.se Kursassistent: Anders Märak Leffler anders.marak.leffler@liu.se Webprogrammering och Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Start på ER-modellering labassistent: Tony Johansson tonjo366@student.liu.se Kursöversikt Två komponenter: Webprogrammering Databasteori och praktik Organisation: Webprogrammering Webdesign Webprogrammering - ett språk som skapar websidor dynamiskt. Fö, le, la, projekt Examination tenta + labb + projekt Designprocessen Studera användarna och deras problem Beskriv problemet presenttips till givet tillfälle och person Identifiera lösningsförslag (skisser, prototyper...) Utvärdera lösningsförslag Implementera lösningen Funktioner Databehov andra krav Lösningsförslag Givet scenario i projektet: sök present till given person för givet tillfälle (från given givare).
- webserver gkldjsfg Text kldjfhg akdjfgh kdjf dlkfjg skljg kdj sldkfg f 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> Dynamiska websidor Dynamiska websidor kopplade till databas 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 med PHP-kod 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> PHP-kod Databasserver Databas
Databasteori: definitioner Data, Databas Databashanteringssystem Databasintegritet Datamodell (ER, Relationsmodell) Instans, schema, metadata Databasspråk (ex: SQL) 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 Databashanteringssystem (databashanterare) (DBMS) Ett programsystem som Hanterar flera enligt en datamodell med hjälp av ett databasspråk Kan anropas från applikationsprogram Hantera Skapa nya Manipulera data (lägga till, ta bort, läsa ut) Kontrollera åtkomst enskilt och samtidigt Återställning vid krasch Kontrollera korrekthet (databasintegritet) 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 Hur vi ser världen Olika nivåer: Datamodell Konceptuell (begreppsmässig) modell Representationsmodell (implementationsmodell) Fysisk datamodell
Datamodell Hur vi ser världen Olika nivåer: Konceptuell (begreppsmässig) modell Implementationsmodell Fysisk Student Epost Kurser 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 Olle Olsson Kurs 729G68 Storgatan 1 732G16 Kurskod Namn Läsår Poäng 729G68 Databaser 7.5 732G16 Databaser 7.5 TTIT03 Introduktion till PBL 2 Metadata data om data Databasen och dess beskrivning Adress Kurs Instans och schema Namn Annan123 Anna Andersson Rydsv 234 Ollol345 går Relationsmodellen Världen består av entiteter med samband emellan Studenter Entity-Relationship model (ER-modellen) datamodell Schemat är metadata Information om hur och var data lagras Struktur, organisation Tillgänglighet Användningsstatistik
Databasspråk Klass av språk som används mot Databeskrivningsspråk (DDL) Datamanipuleringsspråk (DML) Värdspråk 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' 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 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 Nackdelar med databasteknik DBMS tar stor plats Overhead ger längre svarstider Ibland krångligt att lära sig hantera 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)