Reducering till relationsscheman



Relevanta dokument
E-R-modellen, E-R-diagram E-R-diagram. representerar entitetsmängder

Relationell databasdesign

Databasdesign. E-R-modellen

Relationsmodellen. Relations modellen är idag den mest änvända datamodellen för kommersiella

Andra relationella språk

Concepts learned this far. ER till relationer. ER till relationer. ER till relationer. TDDD12 Database Technology

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

Design och underhåll av databaser

SQL, nästlade delfrågor Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga.

Frågeoptimering. Frågeoptimering kapitel 14

Uppdelning. Relationell databasdesign, FB Teori Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av

Grunderna för relationsmodellen!

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

Analytisk relationsdatabasdesign

Relationsmodellen och syntetisk databasdesign

NORMALISERING. Mahmud Al Hakim

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Avancerad SQL Kapitel 4. Databaser: Avancerad SQL. sid SQL datatyper 1 Integritetsbegränsningar 3 Auktorisering 7 Inbäddad SQL 10 Dynamisk SQL 10

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

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


Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem

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

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

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

Ett annat exempel på en E-R modell. En bank. Beskrivning av banken

Avvikelserapport. Avvikelserapport. Fantastic Four Page 1

Konceptuella datamodeller

Funktionella beroenden - teori

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

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

Introduktion av aktiv generaliserad kunskap i Businss Process Support System (BPSS)

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Karlstads Universitet, Datavetenskap 1

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

Tentamen för DD1370 Databasteknik och informationssystem

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

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix

Informa5onsmodellering

Databasteknik för D1, SDU1 m fl

Barn och trafik. en undersökning ur ett föräldraperspektiv. Genomförd av NTF Väst 2012

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Studie om stöldsätt. Personbilar med årsmodell 2009 eller nyare som efterlysts under tidsperioden år

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen Databasteknik

TENTAMEN TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18

Ett databashanteringssystem (DBHS) skiljer sig från andra programmeringssystem bl.a.

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

Förvaltningsgemensam specifikation för leverans av enstaka publikationer till Kungliga biblioteket (FGS-PUBL)

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

Relationsalgebra. Varför behöver jag lära mig relationsalgebra?!

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

ER-Diagram. Databasutveckling Diagram

Mini-lumpen. En sensommarhelg i Stockholms skärgård?

Lösningsförslag till Exempel tentamen

Lathund till PsycINFO (OVID)

2. Change log Datamodell/XML

Tentamen för DD1370 Databasteknik och informationssystem

RDA Kapitel 10. RDA Kapitel 10. Att identifiera familjer/släkter

Databaser design och programmering. Design processen ER- modellering

Kvalitetstänkande. Utgångsläge Samtliga ER-diagram har överförts till scheman

Informationssystem och Databasteknik

Modul DB1-2 Datamodellering

Grupp 1 - Uppsala Cykel

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

Skolplaneenkät 2015 Elever grundskola

TERSUS SKOLSYSTEM AB. Ansökan. Barnomsorgen

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

Husets energianvändning

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

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

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

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

Laboration SQL. Kom igång.

LITEN HANDLEDNING TILL E-TJÄNSTER I BJUVS KOMMUN. Så här ser inloggningssidan ut. Börja med att skriva ditt användarnamn och lösenord i rutorna.

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

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

Tentamen. TDDB38 - Databasteknik

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

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

Ansökan elevkö Grundskola

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

Konceptuell modellering

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

(Data)Modellering. nikos dimitrakas rum 2423

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

CodeX: LDAP-Schema för LADOK

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

INTRODUKTION TILL ER ENTITY-RELATIONSHIP

Grunderna i SQL del 1

Övningar Dag 2 En första klass

Matris verktyget Q. Det svåra är att göra det enkelt!

Public. Sidnr (9) Coverage Dokument id Rev? T Datum. Tillhör objekt Telia Jobbmobil Växel

Guide till RefWorks Skapa ett RefWorks-konto Under Citera och referera > RefWorks Hjälp funktioner i RefWorks Help Tutorial Help

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Vyer, Prepared Statements, Triggers

Transkript:

E-R-modellen, Reducering till rel.scheman 6-26 Reducering till relationsscheman En databas som överensstämmer med ett E-R-databasschema kan representeras som en mängd relationsscheman ty E-R-modellen och den relationella databasmodellen grundar sig på liknande designprinciper: För varje entitetsmängd och varje relationskapsmängd i databasen finns ett entydigt relationsschema (tabell) som tillordnas namnet av motsvarande entitets- eller relationskapsmängd. Representation av starka entitetsmängder En stark entitetsmängd E med attributen a 1, a 2,..., a n representeras med ett schema kallat E med n olika attribut svarande mot a 1, a 2,..., a n. Ex.: _number (_number, ) Attribut _number är primärnyckeln i relationsschemat eftersom det är primärnyckel i entitetsmängden. En instans av en relation för detta schema är tabellen nedan. Varje rad i tabellen svarar mot en entitet i E. _number L-11 900 L-14 1500 L-15 1500 L-16 1300 L-17 1000 L-23 2000 L-93 500

E-R-modellen, Reducering till rel.scheman 6-27 Representation av svaga entitetsmängder En svag entitetsmängd A med attributen a 1, a 2,..., a m vars identifierande starka entitetsmängd B har primärnyckeln {b 1, b 2,..., b n } representeras med ett schema kallat A med m+n olika attribut svarande mot {a 1, a 2,..., a m } {b 1, b 2,..., b n } Primärnyckeln utgörs av B:s primärnyckel och A:s diskriminator. En foreignkey-begränsning i A som specificerar att attributen {b 1, b 2,..., b n } refererar till primärnyckeln i B bör anges Ex.: _number pay_number pay_date pay_ -pay. payment payment(_number, pay_number, pay_date, pay_) Attributen _number och pay_number utgör primärnyckeln i relationsschemat och _number främmande nyckel ref.. payment _number pay_number pay_date pay_ L-11 3 10 maj 2006 400 L-14 1 1 jan 2007 75 L-15 10 23 juni 2000 100 SQL-deklaration av payment: create table payment (... primary key (_number, pay_number ) foreign key (_number) references ) )

E-R-modellen, Reducering till rel.scheman 6-28 Representation av identifierande relationskapsmängder En relationskapsmängd som länkar en svag entitetsmängd till en stark är överflödig. Den identifierande relationsskapsmängden har inga deskriptiva attribut och den svaga entitetsmängden innehåller den identifierande starka mängdens primärnyckel. Ex.: attribut: _number och pay_number - finns i payment pay_date _number pay_number pay_ -pay. payment (_number, ) payment(_number, pay_number, pay_date, pay_)

E-R-modellen, Reducering till rel.scheman 6-29 Representation av relationskapsmängder Låt R vara en relationskapsmängd, låt a 1, a 2,..., a m vara mängden av de attribut som utgör primärnycklar i de entitetsmängder som deltar i R, och låt b 1, b 2,..., b n vara R:s deskriptiva attribut om sådana existerar. Då representeras R av ett relationsschema kallat R med ett attribut per medlem i mängden {a 1, a 2,..., a m } {b 1, b 2,..., b n } Primärnyckeln för relationsschemat väljs enl. relationstypen (m-m, 1-m, m-1, 1-1). För varje entitetsmängd E i som är länkad till R och vars primärnyckel ingår i R skapas en foreignkey-begränsning i R för attributen a i till E i. Ex.: type _id _name _street _city _number borrower borrower(_id, _number, type) foreign key (_id) references foreign key (_number) references

E-R-modellen, Reducering till rel.scheman 6-30 Sammansättning av scheman En total många-till-en eller en-till-en relationskapsmängd kan kombineras med den mångvärda entitetsmängden. account-number balance branch_name branch_city assets account account_ branch branch account(account_number, balance) account_branch(account_number, branch_name) branch(branch_name, branch_city, assets) account(account_number, balance, branch_name) branch(branch_name, branch_city, assets) account-number branch_city balance branch_name branch_city assets account branch

E-R-modellen, Reducering till rel.scheman 6-31 Representation av sammansatta attribut Attributen på lägsta nivån ingår som attribut i relationsschema, ej de övriga, ty attributdomänerna är atomära i den relationella modellen. cust._street _name cust_city -id adress (_id, _name, cust_street,cust_city) Representation av flervärda attribut För ett flervärt attribut M i A skapas ett relationsschema R med attributet B som motsvarar M samt attribut S som motsvarar primärnyckeln för den entitetsmängd eller relationskapsmängd som M tillhör. tel_num -id _name adress -id telefon tel_num Enforeignkey-begränsningiRsomspecificerarattattributenSrefererarAskapas. telefon(_id, tel_num) primary key (_id, tel_num) foreign key (_id) references (_id, _name, adress)

E-R-modellen, Reducering till rel.scheman 6-32 Representation av generalisering Metod 1: Bilda ett relationsschema för den generaliserade entitetsmängden (högnivå) och ett för varje entitetsmängd som är generaliserad (lågnivå), där ett attribut för varje attribut i den generaliserade entitetsmängdens primärnyckel ingår. Skapa foreignkey-begränsningar för de generaliserade entitetsmängderna som specificerar att högnivåprimärnyckeln refererar till högnivåentitetsmängden. account(account_number, balance) saving_account(account_number, interest_rate) checking_account(account_number, overdraft_) för både saving_account och checking_account: foreign key (account_number) references account Metod 2: Bilda ett relationsschema för varje generaliserad (lågnivå) entitetsmängd där alla attribut för den generaliserade entitetsmängden ingår. Metod 2 kan användas om generaliseringen är fullständig och disjunkt. saving_account(account_number, balance, interest_rate) checking_account(account_number, balance, overdraft_) account_number balance account interest_rate ISA overdraft_ saving_account check_account

E-R-modellen, Reducering till rel.scheman 6-33 Representation av aggregering Skapa ett schema för relationskapsmängden bunden till högnivåentiteten (_officer) som har ett attribut för varje attribut i primärnyckeln för den entitetsmängd (employee) den är knuten till och varje attribut i primärnyckeln för relationskapsmängden i högnivåentiteten (borrower), samt eventuella deskriptiva attribut. Primärnyckeln skapas av alla utom de deskriptiva attributen. _officer(employ_id_sec, _id, _number) För resten av diagrammet används samma scheman som tidigare. employee(employ_id, emp_name, tel_num) (_id, _name, adress) borrower(_id, _number) (_number, branch_name, ) _id _name adress _number branch_name borrower - officer employee branch_name _id _name _number adress borrower employ_id tel_num - officer emp_name employee employ_id tel_num emp_name