Databaser och Datamodellering Foreläsning IV

Relevanta dokument
Webbprogrammering, grundkurs 725G54

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

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

Konceptuella datamodeller

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

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

NORMALISERING. Mahmud Al Hakim

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

Projekt Foreläsning VI

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

VAD GÖR DU / VEM ÄR DU?

Tabeller och kolumner SQL. Lägga till en ny post. Lägga till en ny post

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

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

WCMS-15, Webbutvecklare CMS

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

SQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation

VAD GÖR DU / VEM ÄR DU?

Databaser design och programmering. Design processen ER- modellering

Databaser. Vad du ska lära dig: Ordlista

Databaser Design och programmering

ER-Diagram. Databasutveckling Diagram

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

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

Webbprogrammering, grundkurs 725G54

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

Karlstads Universitet, Datavetenskap 1

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

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

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

INTRODUKTION TILL ER ENTITY-RELATIONSHIP

Analytisk relationsdatabasdesign

Logisk databasdesign

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

Design och underhåll av databaser

TDDD52 Databas. Databas. Databas 1/3/13

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

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

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

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

Övningar i SQL. SQLAccess.doc Ove Lundgren

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

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

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

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

Innehåll. MySQL Grundkurs

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

Universitetet: ER-diagram

Databasutveckling Introduktion till SQL och TSQL

Exempel-Tentamen III

Tentamen för DD1370 Databasteknik och informationssystem

Del 2: ER-modellering och överföring till Databasstruktur v0.9

Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Föreläsning 6: Normalisering & funktionella beroenden

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

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

Idag. Databaskvalitet(??) Databaskvalitet... Databaskvalitet...

Vad är en databas? Databasutveckling Med MySQL/MariaDB

Prova på-laboration i SQL

Databasdesign. E-R-modellen

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

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index

Sample exam questions. Database exam TIG058

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

Structured Query Language (SQL)

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

Inst. för Data- och Systemvetenskap SU Maria Bergholtz. Tentamen. 21/ kl Inga hjälpmedel är tillåtna (annat än ordbok).

Starta MySQL Query Browser

Tentamen för DD1370 Databasteknik och informationssystem

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

Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner

Uppgift 1. (a) Ange tre orsaker hur felaktigheter i en databas kan uppsta. Till varje av dem, ange en lamplig metod som anvands som atgard mot dessa.

Tentamen för DD1370 Databasteknik och informationssystem

Introduktion MySQL och MariaDB

Relationsmodellen och syntetisk databasdesign

Grunderna för relationsmodellen!

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

Tentamen för DD1370 Databasteknik och informationssystem

Databaser och databasdesign, 7,5 hp

Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.

Innehåll MySQL Intro. Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index

1.Lär känna MS SQL Observera. Tips. Förberedelse

Rättningsmall tenta den 25e oktober Uppgift 1. Uppgift 2. se slides

(Data)Modellering. nikos dimitrakas rum 2423

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Informationssystem och databasteknik

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

Databaser. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se

Tentamen DATABASTEKNIK - 1DL116

Tentamen EIT:DB Databastmetodik 11/ kl Lösningsförslag

Webservice & ERP-Integration Rapport

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

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

Informationssystem och Databasteknik

Transkript:

Webbprogrammering - 725G54 Databaser och Datamodellering Foreläsning IV

Agenda Databaser ERD SQL MySQL phpmyadmin Labb 4

Databaser Databas - samling med data Databashanterare Enkelt Kraftfullt Flexibelt Samtidig åtkomst

Google Data Center

Relationalsdatabaser En tabell presenterar en entitetstyp. Varje entitetsattribut deklareras som en kolumn med ett namn eller en titel. Varje entitet lagras som en rad. En rad kallas också en relation eller tupple. Varje kolumn har en datatyp.

Blueprints Men vänta vänta! Vad är precis en entitet? Behöver vi kunna om alla entiteter i systemet innan vi kommer igång med tabellerna? I så fall vad är fördelarna med det?

Blueprints Men vänta vänta! Vad är precis en entitet? Behöver vi kunna om alla entiteter i systemet innan vi kommer igång med tabellerna? I så fall vad är fördelarna med det?

ER-modellering Entity-Relationship (Saker-Samband) Konceptuell modell Överskådligt Lätt att kommunicera.

ER-modellering En person kan bo i flera hus och i ett hus kan det bo flera personer. Ett hus kan ha flera ägare. En person kan (del-)äga flera hus. kardinalitetsförhå llanden entitetstyp sambandstyp (relationship type)

ER-modellering Alla personer bor i ett hus. I ett hus kan det bo flera personer.? fullständigt deltagande

ER-modellering En student har ett liu-id, förnamn och efternamn. Liu-id är unikt för varje Nyckel student. Efternamn Förnamn Nyckel Sammansatt attribut

ER-modellering Flervärt attribut Härlett attribut Färg Antal Boende Hus

ER-modellering Attribut på sambandstyp

ER-modellering Alla rum finns i någon lägenhet. Svag entitetstyp

ER-modellering

ER-diagram Tabeller

ER-diagram Tabeller

ER-diagram Tabeller

Normalisering Database normalization (or normalisation) is the process of organizing the columns (attributes) and tables (relations) of a relational database to minimize data redundancy. Undvik redundans, att samma sak lagras på flera ställen Gör man ERD först slipper man ofta problem och behöver inte normalisera. Obs, om gjort rätt!

1NF Första normalformen Tabellen ska innehålla atomära värden Det vill säga - högst ett värde per ruta

2NF Andra normalformen 1NF Varje icke-nyckelattribut ska vara fullt funktionellt beroende (ffb) av varje kandidatnyckel.

Nycklar Kandidatnyckel eller nyckel - en kolumn, eller en kombination av kolumner, som alltid har ett unikt värde för varje rad i tabellen.

Beroenden Funktionellt beroende, fb; (functional dependency, fd)- Om B är fb av A så bestämmer A entydigt B, dvs om värdena på A på två rader i tabellen är lika, så måste värdena på B också vara lika. Fullt funktionellt beroende, ffb; (full functional dependency, ffd) - ett förhållande mellan två attribut eller attributkombinationer, A och B i en tabell. Om B är funktionellt beroende av A, och inget attribut kan tas bort ur A om det fortfarande ska vara ett funktionellt beroende, så är B ffb av A.

3NF Tredje normalformen 2NF, plus att inget icke-nyckelattribut får vara ffb av något annat icke-nyckelattribut

SQL Structured Query Language Dominerande språket Ställer frågor - uppmaningar.

SQL SELECT SELECT SELECT SELECT = 2); INSERT DELETE UPDATE * FROM Person; gata FROM Hus WHERE ägare = 54; namn FROM Person WHERE id = 6; namn FROM Person WHERE id = (SELECT ägare FROM Hus WHERE gata = Storgatan AND nummer INTO Person (id, namn, telefon) VALUES (55, April, null); FROM Person WHERE namn = April ; Person SET telefon = 555-4545 WHERE id = 6;

The World s most popular open source database, http://dev.mysql.com Mirror mirror on the wall, who is the fairest of them all!? The MySQL, my queen!

MySQL

MySQL Client - text based Används för att kommunicera med MySQL servern i terminalen.

MyPHPAdmin En webbapplikation som används för att jobba med MySQL servern i webbläsaren med nästan bra gränssnitt. Det har inget att göra med PHP språket!

Laboration 4 Gör ERD och tabeller för mindre domän Universitet (student, kurs, lärare, osv) Lager (vara, kategori, hyllplats, order, osv) Filmer (skådespelare, regissör, bolag, osv) eller något annat som passar

Tack och lycka till!