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

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

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

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

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

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

Databaser - Design och programmering

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

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

Webbprogrammering, grundkurs 725G54

INTRODUKTION TILL ER ENTITY-RELATIONSHIP

ER-Diagram. Databasutveckling Diagram

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

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

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

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

VAD GÖR DU / VEM ÄR DU?

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

Databasdesign. E-R-modellen

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

Relationsmodellen och syntetisk databasdesign

TDDD12 och TDDD46 Databasteknik. Lena Strömbäck

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

Lite om databasdesign och modellering

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

Informationssystem och Databasteknik

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

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

Tentamen DATABASTEKNIK - 1DL116

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

Projekt Foreläsning VI

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

Databaser. Vad du ska lära dig: Ordlista

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

Webbprogrammering, grundkurs 725G54

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

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

Design och underhåll av databaser

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

Databasteknik för D1, SDU1 m fl

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

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

VAD GÖR DU / VEM ÄR DU?

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

Analytisk relationsdatabasdesign

Objektorientering. Grunderna i OO

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

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

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

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

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

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

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Tentamen. Databasmetodik Lördag 27 september 2014 kl

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

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

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

Karlstads Universitet, Datavetenskap 1

Informa5onsmodellering

Databaser Design och programmering

Tentamen för DD1370 Databasteknik och informationssystem

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

IT i organisationer och databasteknik

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

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

Inga hjälpmedel är tillåtna

Introduktion till MySQL

Grunderna för relationsmodellen!

Databasteknik för D1, SDU1 m fl

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

Innehåll. MySQL Grundkurs

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

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

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

Tentamen för DD1370 Databasteknik och informationssystem

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

GIS, databasteknik och kartografi. Databasmodellering

Tentamen NDA01G Öppen för alla. Tentamenskod: Inga hjälpmedel är tillåtna

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

Tentamen för DD1370 Databasteknik och informationssystem

Nya webbservern Dvwebb.mah.se

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

TENTAMEN DATABASKUNSKAP ITEK12

Tentamen i Datorteknik och - kommunikation, 2D1522/4K1522. Läs detta innan du börjar:

Databaser och databasdesign, 7,5 hp

Frågor och svar till tentamen i Kravhantering

TENTAMEN TDDB77 Databaser och Bioinformatik 19 april 2002, kl 14-18

Prova på-laboration i SQL

Transkript:

Webprogrammering och databaser! Idag: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Start på ER-modellering! Webprogrammering Kursöversikt! Databasteori och praktik! Fö, le, la + projekt! Examination (tenta, dugga + labb, projekt). Datum för inlämningar se kurshemsidan. Webprogrammering! Webdesign! Webprogrammering - ett språk som skapar websidor dynamiskt. Designprocessen! Studera användarna och deras problem! Beskriv problemet presenttips till givet tillfälle och person! Identifiera lösningsförslag! Utvärdera lösningsförslag! Implementera lösningen Lösningsförslag Webläsare - webserver! Funktioner! Databehov! andra krav! Givet scenario i projektet: 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 sök present till given person för givet tillfälle (från given givare).

Site-specifik layout Dynamiska websidor! 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> 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 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> Webserver 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 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) 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 Entity-Relationship model (ER-modellen)! Världen består av entiteter med samband emellan Konceptuell (begreppsmässig) modell Implementationsmodell Studenter går Kurser Fysisk datamodell Datamodell: Relationsmodellen 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 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

Datamodell: Metadata data om data! 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 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' 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 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)

Att designa en databas! Datakrav (ur lösningsförslaget)! Utforma konceptuell modell (ER-modell)! Förfina till implementationsmodell (relationsmodellen)! Implementera i databashanterare 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.! Skriv applikationsprogram 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 Kurs 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 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.

Attribut: exempel Värden! 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 Kurser 729G68, 732G16! I en ER-modell brukar man identifiera fyra slags värden: enkla (ex. anställningsnummer) sammansatta (ex. Adress) multipla (ex. kurser) null 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 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