Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året

Relevanta dokument
! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

Databaser - Design och programmering

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

732G16: Databaser - Design och programmering

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Databaser design och programmering. Design processen ER- modellering

Databaser design och programmering. Fö 2: Design processen, ER-modellering

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.

Databaser och Datamodellering Foreläsning IV

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema

Webbprogrammering, grundkurs 725G54

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

INTRODUKTION TILL ER ENTITY-RELATIONSHIP

ER-Diagram. Databasutveckling Diagram

Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible:

VAD GÖR DU / VEM ÄR DU?

Projekt Foreläsning VI

Tentamen DATABASTEKNIK - 1DL116

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem?

08/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Kursens (återstående) mål Dagens föreläsning

Introduktion till databaskursen. Välkomna. till kursen. Databasteknik och informationssystem. DD1370 (kursomgång dbtinf12)

11/11/13. Databasteknik och informationssystem DD1370. Dagens föreläsning. Dagens föreläsning: ERmodeller Jmf: Relationer i Base

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Tentamen för DD1370 Databasteknik och informationssystem

16/11/14. Databasteknik och informationssystem DD1370. Information. Dagens föreläsning: ERmodeller Dagens föreläsning. Påminnelse: Kursens mål

Relationsmodellen och syntetisk databasdesign

Föreläsning 2: Översikt över ett databassystem

Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. Inga hjälpmedel är tillåtna

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

Webbprogrammering, grundkurs 725G54

Databaser. Vad du ska lära dig: Ordlista

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Informationssystem och Databasteknik

Karlstads Universitet, Datavetenskap 1

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen ISGB01, ISGB24. Databasdesign 7,5 Poäng

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP

Databaser - Design och programmering. Programutveckling. Programdesign, databasdesign. Kravspecifikation. ER-modellen. Begrepps-modellering

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

VAD GÖR DU / VEM ÄR DU?

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

25/11/14. Databasteknik och informationssystem DD1370. Påminnelse inför Lab 1 redovisningen. Repetition: ER modellering (gammalt + nytt)

Databasteknik för D1, SDU1 m fl

Design och underhåll av databaser

Databasdesign. E-R-modellen

Lite om databasdesign och modellering

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

TDDD12 och TDDD46 Databasteknik. Lena Strömbäck

Introduktion till MySQL

Tentamen för DD1370 Databasteknik och informationssystem

TDDD52 Databas. Databas. Databas 1/3/13

TENTAMEN För kursen. Databasteknik. Ansvarig för tentamen: Anna Palmquist. Förfrågningar: Anslås inom 3 veckor

Webbprogrammering 725G54

Webprogrammering och databaser. Begrepps-modellering. Exempel: universitetsstudier Kravspec. ER-modellen. Exempel: kravspec forts:

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Inga hjälpmedel är tillåtna

Analytisk relationsdatabasdesign

DVA234 Databaser. Dag Nyström, Introduktion till databaser och MS SQL Server

Databaser Design och programmering

Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng

04/11/14. Välkomna till kursen: Databasteknik och informationssystem DD1370. Kursanvarig. Dagens föreläsning. Vad är en Databas?

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13

Databasteknik för D1, SDU1 m fl

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Informa5onsmodellering

Grunderna för relationsmodellen!

TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

HTML och CSS. Eric Elfving Institutionen för datavetenskap. 18 augusti 2015

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

IT i organisationer och databasteknik

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Nya webbservern Dvwebb.mah.se

Databaser - Design och programmering. Databasdesign. Kravspecifikation. Begrepps-modellering. Design processen. ER-modellering

Innehåll. MySQL Grundkurs

Databaser och databasdesign, 7,5 hp

GIS, databasteknik och kartografi. Databasmodellering

Databaser och databasdesign. Den relationella modellen, normalisering och modellering (2)

HTML och CSS. Eric Elfving Institutionen för Datavetenskap (IDA)

02/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Dagens föreläsning. Om Lab 1. De 11 Stegen (Kokbok)

Databaser Kapitel 1: Introduktion!

Universitetet: ER-diagram

Tentamen för DD1370 Databasteknik och informationssystem

Kap 1-3. Databasen (1.2.2) Database Management System DBMS (Kap 1.6), Teknisk Programvara SQL (Kap 3) Den relationella modellen (Kap 2)

Transkript:

729G28 Webprogrammering och databaser Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Webprogrammering och databaser Personal: Examinator Jalal Maleki, jalma@ida.liu.se Ansvarig databasteori: Eva Ragnemalm, eva.ragnemalm@liu.se Ansvarig webprogrammering: Sahand Sadjadee, sahand.sadjadee@liu.se 1 2 översikt Två komponenter: Webprogrammering Databasteori och praktik Delarna förenas i det praktiska arbetet lab 1 Databasspråket SQL lab 2 lägga upp en databas projekt Dynamiska websidor mot databas Praktisk info Organisation: (Fö), le, la, projekt Examination tenta + labb + projekt info och kommunikation 3 4 Ändringar mot förra året HT2 -> HT1 6 veckor istället för 10 veckor för 6hp ungefär 2/3-fart c:a 27 tim/vecka på kursen Projektet förra året ansågs tidskrävande Webprogrammering Webdesign Webprogrammering - ett språk som skapar websidor dynamiskt. Kombination av gamla lab3 och projektet Mer tyngd på labb-examinationen 5 6

Webläsare - webserver Text akdjfgh skljg sldkfg gkldjsfg kldjfhg kdjf dlkfjg kdj f Webläsare Internet Text akdjfgh skljg sldkfg Text akdjfgh skljg sldkfg gkldjsfg Text kldjfhg akdjfgh kdjf dlkfjg skljg kdj sldkfg f gkldjsfg kldjfhg kdjf dlkfjg kdj f gkldjsfg kldjfhg kdjf dlkfjg kdj f Webserver 7 8 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> 9 10 Dynamiska websidor Dynamiska websidor kopplade till databas Webläsare Internet 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 Webserver Webläsare Internet 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> Webserver PHP-kod Databasserver Databas 11 12

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 13 14 Databashanteringssystem (databashanterare) (DBMS) Ett programsystem som Hanterar flera databaser enligt en datamodell med hjälp av ett databasspråk Kan anropas från applikationsprogram 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) 15 16 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 17 18

Datamodell Hur vi ser världen Olika nivåer: Konceptuell (begreppsmässig) modell Implementationsmodell Fysisk datamodell 19 20 Entity-Relationship model (ER-modellen) Datamodell: Relationsmodellen Student Världen består av entiteter med samband emellan Epost Ollol345 Student går Namn Adress Annan123 Anna Andersson Rydsv 234 Olle Olsson 729G68 Storgatan 1 732G16 kod 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 21 22 Datamodell: Instans och schema Datamodell: Metadata data om data 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 Schemat är metadata Information om hur och var data lagras Struktur, organisation Tillgänglighet Användningsstatistik 23 24

Databasspråk Klass av språk som används mot databaser 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' 25 26 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 27 28 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) 29 30

Att designa en databas Datakrav (ur förstudie/specifikation) Utforma konceptuell modell (ER-modell) Förfina till implementationsmodell (relationsmodellen) Implementera i databashanterare (datatyper, organisation mm - fysisk modell) Skriv applikationsprogram ER-modellen Enligt ER-modellen består en domän av entiteter (saker) som har samband med varandra Varje entitet har ett antal attribut och varje attribut har ett visst värde. 31 32 Entitetstyp En typ av företeelse som behöver representeras. En individ av den typen är en entitetsinstans Entitetsinstans Anna Axelsson Globen Databaser - design och prog. Nokia AB E=MC 2 Entitetstyp Person Byggnad/hus Företag Idé Sambandstyp Representerar ett förhållande mellan två eller flera entitetstyper. Om entitetsinstanserna kan höra ihop finns det en sambandsinstans mellan dem. Sambandstypen är mängden av sådana sambandsinstanser. Ex: studenter som går kurser: Går-kurs är en sambandstyp 33 34 ER-modell, notation ER-modeller beskrivs oftast i diagramform. Går Attribut De egenskaper hos entitetstyper som vi är intresserade av representeras som en entitetstyps attribut. Varje attribut har en domän (värdemängd) som anger de tillåtna värdena för attributen. 35 36

Attribut: exempel Läraren Anna Axelsson kan t.ex. beskrivas som följande entitet: Attribut Namn Anställningsnr 234 Adress Attributvärde Anna Axelsson Studentvägen 8, 1tr Telefon 011-121212 er 729G68, 732G16 Värden I en ER-modell brukar man identifiera fyra slags värden: enkla (ex. anställningsnummer) sammansatta (ex. Adress) multipla (ex. kurser) null 37 38 Nyckelattribut Identifiering av nyckelattribut ingår i ERmodellering och databasdesign. Ett attribut med unika värden för varje instans av en entitetstyp kallas nyckelattribut Om inget attribut ensamt är unikt för varje instans? Flera tillsammans (gör sammansatt). markeras i ER-diagrammet med understrykning av attributnamnet Sambandstyper: kardinalitet Specificerar antalet sambandsinstanser av en viss typ som en entitetsinstans kan ingå i. För binära sambandstyper (siffran skrivs vid respektive entitetstyp i diagrammet): en-till-en (1:1) en-till-många (1:N) många-till-en (N:1) många-till-många (M:N) Kardinalitet för flervägssamband uttrycks i ord 39 40 Sambandstyper: deltagande specificerar om en entitetsinstans måste ha ett samband via sambandsinstansen. Om alla entiteter av en viss typ måste delta i ett samband av den typen kallas det fullständigt deltagande. Om alla entitetsinstanser inte måste delta i en sambandsinstans gäller partiellt deltagande. Ritas i diagrammet som dubbelstreck mellan entitetstyp och sambandstyp. ER-diagram, exempel 41 42