TDDD12 och TDDD46 Databasteknik. Lena Strömbäck

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

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

Databaser - Design och programmering

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

732G16: Databaser - Design och programmering

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

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

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

Databasteknik. Programkurs 6 hp Database Technology TDDD37 Gäller från: 2018 VT. Fastställd av. Fastställandedatum

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

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

VAD GÖR DU / VEM ÄR DU?

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

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

Webbprogrammering, grundkurs 725G54

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

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

Databaser design och programmering. Design processen ER- modellering

Databaser och Datamodellering Foreläsning IV

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

TDDI 60 Tekniska databaser

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

Databaser och databasdesign, 7,5 hp

Databassystem. Typical DBMS Functionality. Basic Definitions. Typical DBMS Functionality. Application schema naming & structure information

Välkommen till DVA234: Databaser

Välkommen till DVA234: Databaser

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

LUNDS UNIVERSITET KURSPLAN INFC20 Ekonomihögskolan Institutionen för Informatik INFC20 7,5. Grundnivå / Basic level G2F. Engelska / English

1DV423 Databas med Administration

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad.

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

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

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

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

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad.

VAD GÖR DU / VEM ÄR DU?

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

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

GIT L0009B GEOGRAFISK DATABASTEKNIK. Information inför kursstart

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

INFC20, Informatik: Avancerade databassystem, 7,5 högskolepoäng Informatics: Advanced Database Systems, 7.5 credits Grundnivå / First Cycle

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

INFC20, Informatik: Avancerade databassystem, 7,5 högskolepoäng Informatics: Advanced Database Systems, 7.5 credits Grundnivå / First Cycle

Databasdesign. E-R-modellen

Tentamen DATABASTEKNIK - 1DL116

GIT L0003B. Databaser, en introduktion. Information inför kursstart

TENTAMEN. TDDD12 Databasteknik TDDD46 Databasteknik. 16 augusti 2010, kl 14-18

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

Datamodeller och databaser, avancerad kurs

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Lite om databasdesign och modellering

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

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

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

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

An English version of the questions is found at the back of each page.

Programmeringsteknik II

DATALAGRING. Ämnets syfte

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

Databaser. Vad du ska lära dig: Ordlista

Projekt Foreläsning VI

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

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

TENTAMEN TDDB77 Databaser och Bioinformatik 24 april 2004, kl 14-18

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

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

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

Föreläsning 3 Dagens föreläsning går igenom

Hur tycker du kursen har varit? Tycker du att kursens upplägg har underlättat för dig att uppnå lärandemålen?

Informatik med systemvetenskaplig inriktning A, 30 högskolepoäng Informatics, Basic Course, 30 Credits

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

Karlstads Universitet, Datavetenskap 1

Informatik med systemvetenskaplig inriktning A, 30 högskolepoäng Informatics, Basic Course, 30 Credits

Databaser Kapitel 1: Introduktion!

Objektorienterad programmering och Java

TDDD52 Databas. Databas. Databas 1/3/13

Logisk databasdesign

Databasteori. Övningar

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

Databashantering och beslutsstöd 7,5 hp. Kursbeskrivning

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)

TENTAMEN TDDB77 Databaser och Bioinformatik 12 juni 2007, kl 14-18

Webbprogrammering, grundkurs 725G54

Kursvärdering 1DV405 Databasteknik LP3 2014

Transaktioner och samtidighet

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

Informatik B. 1. Beslut om fastställande. 2. Innehåll

Databasteknik för D1, SDU1 m fl

Konceptuella datamodeller

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

Prova på-laboration i SQL

Thomas Padron-Mccarthy. Databasteknik, 7.5 hp (DT105G ) Antal svarande = 13. Svarsfrekvens i procent = 21. Undersökningsresultat

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

TDP001/TDP002. Introduktionsföreläsning. Eric Elfving Institutionen för Datavetenskap (IDA)

Grunderna för relationsmodellen!

TDIU01 (725G67) - Programmering i C++, grundkurs

Transkript:

TDDD12 och TDDD46 Databasteknik Lena Strömbäck http://www.ida.liu.se/~tddd12 http://www.ida.liu.se/~tddd46

Vad är en databas? Ett sätt att lagra data på elektroniskt format. Används i dagliga livet, banker, hotellbokning, bibliotekssökningar, handel. Nyare applikationer: multimediadatabaser, geografiska informationssystem, realtidsdatabaser, webdatabaser 2

Vad är en databas? - Definition En databas representerar någon aspekt av den verkliga världen, i.e. en minivärld En databas består av en samling logiskt koherenta data med en underliggande mening. En databas är designad byggd och fylld med data utifrån ett underliggande syfte. 3

Varför behövs databaser? Komplexa samband Datamodellering Oberoende av implementation Dataoberoende, effektivitet Flera användare samtidigt Serialisering Persistens vid fel Återställning, backup 4

Hantera flera användare Pelle Summerar lönekostnaden Kalle Uppdaterar lönerna för 1000 anställda Databas 5

Persistens och fel Strömavbrott Kalle Uppdaterar lönerna för 1000 anställda Databas 6

Tidiga databasmodeller: Nätverksdatabaser Hierarkiska databaser 7

70-tal: Relationsmodellen Data lagras som tabeller Teoretisk modell Standardiserat frågespråk I början var dock dessa databaser långsamma, hierarkiska databaser snabbare. 8

Databaser Databashanteringssystem: database management system (DBMS): Ett antal program som tillåter användaren att skapa och underhålla en databas. Databassystem = databas + DBMS Exempel på DBMS för relationsdatabaser: Oracle, DB2, MS SQL Server, MySQL, Postgres,. 9

DBMS - fördelar Kontroll av redundant information Dataåtkomst Persistent datalagring Tillåter frågor och analys Tillåter flera användare Representera flera användare Effektiv lagring av data Integritetsvillkor Backup och återställning 10

Arkitektur tre nivåer Dataoberoende mellan nivåerna Vy Vy Vy Konceptuell nivå Fysisk nivå 11

Senare databasmodeller Objektorienterade databaser (80-tal) - modell: persistenta objekt, meddelanden,inkapsling, ärvning Objekt-relationella databaser (90-tal) XML-databaser (00-tal) NoSQL databaser (10-tal) 12

Idag: Relationsdatabaser absolut dominerande. Fortfarande finns hierarkiska databaser. (Främst inom flygindustrin) Objekt-orienterade och objekt-relationella databaser är en liten del. Webben ställer helt nya krav en hel flora av nya databasarkitekturer utvecklas.. 13

Kursmål (1) Förstå de viktigaste begreppen inom databaser och databasteknik Designa en datamodell EER modellering Designa och använda en relationsdatabas Relationer Använda och förstå SQL Använda MySQL Sätta sig in en ny databashanterare 14

Kursmål (2) Den teoretiska grunden för relationsdatabaser Hur man använder detta för att skapa bra datamodeller Hur dessa påverkar implementationen av databaser Förstå hur databasen finns lagrad på en dator Teknik, filstrukturer, indexering Hur påverkar detta databasens prestanda 15

Kursmål (3) Förstå hur databaser kan hantera flera användare. Vilka problem uppstår Transaktioner Serialisering Förstå hur man kan garantera persistens. Återställning, backup 16

Förändringar sedan förra året: Ny databasklient i laborationerna Delvis reviderat projekt Delvis personalförändringar TDDD46: Resurstillfällen 17

Kursorganisation TDDD12 9 föreläsningar 2 lektioner Skriftlig tentamen Laborationer 3 laborationer Oracle 1 skrivbordsuppgift Miniprojekt: Brian Air TDDD46: Basgruppstillfällen, resurstillfällen, annat projekt Mer information på första laborationen. 18

Lärare Examinator: Lena Strömbäck, lena.stromback@liu.se Kursassistent: He Tan, he.tan@liu.se Kursadministration: Madeleine Häger Dahlqvist madeleine.hager.dahlqvist@liu.se Studierektor: Lena Strömbäck, lestr@ida.liu.se Föreläsare: Lena Strömbäck, lestr@ida.liu.se He Tan, he.tan@liu.se José M Pena, jose.m.pena@liu.se Labassistenter: He Tan, he.tan@liu.se Qiang Liu, qiang.liu@liu.se Emil Nielsen emil.nielsen@liu.se / Juha Takkinen juha.tallinen@liu.se Lena Strömbäck lena.stromback@liu.se / Valentina Ivanova valentina.ivanova@liu.se 19

Laborationer Tider och lokaler finns på hemsidan En grupp 2 labbsalar Miniprojektet ej handlett Du behöver ett databaskonto Skapas automatiskt vid kursregistrering Om du tidigare använt MySQL ditt gamla konto ska användas Anmäl er till labbar via kurshemsidan 20

Laborationer deadlines Laboration 1 fredag den 8:e april Laboration 2 fredag den 15:e april Laboration 3 fredag den 15:e april Projektet: ER-modell och översättning till tabeller för projektet senast den 3:e maj. Ni får sedan tillbaka den med möjlighet till korrigering på det obligatoriska tillfället den 5:e maj. Denna del måste vara godkänd innan ni får börja med implementationen av projektet. Helt klart fredag den 24:e maj. 21

Inlämning av laborationer Direkt till läraren vid labbtillfället Till assistentens internpost: Hus B, mittemot café Java Miniprojektet lämnas in på papper och koden + beskrivning skickas via e-mail till Urkund. (Detaljer ges under kursen) Utlämning av labbar i postlådorna utanför våra kontor och på labbtillfällen. Kom ihåg att hämta labbarna. Det är ditt enda bevis på att du är godkänd! 22

Deadline laborationer Labbar lämnas in kontinuerligt vid deadline Sista dag för inlämning: 24:e maj Nästa tillfälle: 15:e augusti, 9:e januari Senare: Gör om labbarna! 23

Skriftlig tentamen Två delar: praktisk och teoretisk Måste klara båda delarna Inga böcker tillåtna på tentamen Ingen miniräknare tillåten 24

Kurslitteratur Elmasri, Navathe, Fundamentals of Database Systems, 5th edition, Addison Wesley. Labmaterial finns på hemsidan (www.ida.liu.se/~tddd12 och www.ida.liu.se/~tddd46) 25

Kursöversikt Del1 Databaser introduktion och modellering av data Relationsmodellen och SQL Lab1: SQL-queries Översättning mellan modeller. Lab2: Databasdesign med SQL Att skapa bra relationsmodeller: Normalisering Lab3: Normalisering 26

Kursöversikt del 2 Hur är databasen lagrad? Index. Hur hanterar vi flera användare? Transaktioner. Databasen ska vara beständig över tid: Återställning och säkerhet. Summering Parallellt med detta görs miniprojektet. 27

Databaser Real World Model User 4 User 3 Updates Queries Answers Updates User 2Queries Answers Updates User 1Queries Answers Updates Queries Answers Database management system Processing of queries and updates Access to stored data Physical database 28

ER modellering Personnummer Adress Namn E-mail Telefon Ålder 29

ER-diagram Ett strukturerat sätt att modellera data Oberoende av databastyp. Dokumentation av din datastruktur. 30

Symboler i ER diagram Attribut Kandidatnycklar Sammansatta attribut AnstÅr E-mail PNummer Entitet FNamn ENamn Namn Anställd Age Free Härlett attribut Flervärt attribut 31

Relationer Pnum Anum Anställd Arbetar på Avdelning Anställda arbetar på avdelningar 32

Totalt deltagande Pnum Anum Anställd Arbetar på Avdelning Varje avdelning måste ha minst en anställd 33

Totalt deltagande Pnum Anum Anställd Arbetar på Avdelning Varje anställd måste arbeta på en avdelning 34

Restriktioner på antal Pnum Anum Anställd 1 Arbetar på 1 Avdelning Varje avdelning har exakt en anställd och varje anställd jobbar på exakt en avdelning 35

Restriktioner på antal Pnum Anum Anställd N Arbetar på 1 Avdelning Varje avdelning kan ha många anställda men varje anställd kan endast jobba på en avdelning 36

Restriktioner på antal Pnum Anum Anställd M Arbetar på N Avdelning Varje avdelning kan ha många anställda och varje anställd kan jobba på flera avdelningar 37

Restriktioner på antal Pnum Anum Anställd (1,1) Arbetar på (1,100) Avdelning Varje avdelning kan ha upp till 100 anställda men varje anställd kan jobba på en avdelning 38

Svaga entiteter Pnum Anum Anställd N Arbetar 1 på Avdelning Anställda identifieras genom sin avdelning, Kalle på sälj 39

Exempel Studenter studerar på studieprogram och läser ett antal kurser. Varje kurs identifieras av en kurskod och ger studenten ett antal intjänade poäng. 40

Vad är en databas? - Definition En databas representerar någon aspekt av den verkliga världen, i.e. en minivärld En databas består av en samling logiskt koherenta data med en underliggande mening. En databas är designad byggd och fylld med data utifrån ett underliggande syfte. 41

EER-modellering Addera ärvning till ER-diagram. 42

Symboler i EER diagram Tekniker System Administratör Språk ANummer Telefon. Lön ANummer Telefon Lön 43

Anställd d Tekniker System Administratör Språk ANummer Telefon Lön Anummer Telefon Lön 44

Anummer Anställd Telefon Lön d Tekniker System Administratör Språk Anställda kan vara tekniker eller (XOR) administratörer 45

Anummer Anställd Telefon Lön d Tekniker System Administratör Språk Anställda måste vara tekniker eller (XOR) administratörer 46

Anummer Anställd Telefon Lön o Tekniker System Administratör Språk Det kan finnas anställda som är tekniker och administratörer 47

ANummer Anställd Telefon Lön o Tekniker System Administratör Språk AdmTekn Procent 48

Exempel På universitetet finns två typer av studenter, doktorander och grundutbildningsstudenter och man kan inte tillhöra båda kategorierna. Beroende på vilken kategori man tillhör är olika kurser tillåtna. En del kurser bara för doktorander, en del för grundutbildningsstudenter och en del för alla typer av studenter. 49

www.liu.se