Databases I (H.9.1-2) Van EER naar relationeel Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003.

Slides:



Advertisements
Verwante presentaties
Defining a standard JSON-based exchange format for learning metadata Manon Haartsen.
Advertisements

SQL deel 2: datamodel ontwerp
“Conquest of Paradise”
Help, ik moet naar Office 2007!?. Wat horen wij bij klanten Training “New UI will cause too big of a loss in productivity” Training “New UI will cause.
Requirements -People are able to make their own memorial page, called a memori -The website will be build first in Dutch for extension.nl, then copied.
Een alternatief voorstel Naar aanleiding van bestudering van de IAASB voorstellen denkt de NBA na over een alternatief. Dit alternatief zal 26 september.
1 Co-Design at Chess-iT Guus Bosman. 2 Afstuderen bij Chess Net.Footworks tot augustus 2003 Afstuderen augustus 2003 tot maart 2004 Chess full-time vanaf.
Access en MySql Ynte Jan Kuindersma, BIRD Automation Nationale Officedag 2009 EDE, 14 Oktober 2009.
Sex, drugs and rock n' roll 2.0: Wat kunnen we leren van evenementen? Dr. Walther Ploos van Amstel Vrije Universiteit/TNO Mobility.
Copyright © 2008 Tele Atlas. All rights reserved. Zet uw Business Data op de kaart: Locaties in eTOM ®
Lucene/SOLR 1: inleiding + indexering
Normaliseren Datamodellering 2006.
Databases I Van EER naar relationeel
SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.
© 2004 IBM Corporation Guts Wissema, OpenSource & Linux Sales, IBM Open Document Format.
GOVERNANCE & COMPLIANCE ADVISORY Onderzoek kwaliteit beleidsuitvoering vergunningverlening en -handhaving Gemeente Almelo Internal Audit, Risk and Compliance.
Hyves brands Scrape, mashup and analyse. Introduction Anxiety about visible data on social networks by parents, employees (in news) Anxiety comes from.
© Stichting HL7 Nederland Basiscomponenten Snelstartsessie Identificatie, II en PN.
Faculteit Ingenieurswetenschappen & Wetenschappen Software Engineering Publicatie Management Systeem Groep se1 Software Engineering Thierry Coppens.
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
Network Address Translation
©Silberschatz, Korth and Sudarshan2.1Database System Concepts Huiswerk lees  delen 2.9, 2.10 van hoofdstuk 2 en  delen 3.1 en 3.6 van hoofdstuk 3. opgaven.
Enterprise Application Integration Walter Moerkerken Ilona Wilmont Integratie Software Systemen 8 mei 2006.
Synchronization and propagation in a network of electrically coupled cells =====
Normalisatie Relationeel databaseontwerp:
1Ben Bruidegom A Harvard Machine Calculator Calculator  Computer.
Lezingenreeks : weefsels Introductie wiki. Wat is een wiki? Wiki From Wikipedia, the free encyclopedia A wiki is computer software that allows users to.
SPLA Service Provider License Agreement
WinFX Overview Martin Tirion Senior Consultant Microsoft Services.
Knowledge for business VIOS: Veiligheid In en Om School (Safety In and Around Schools) Kim Kranenborg TNO Human Factors P.O Box ZG Soesterberg.
Databases I Relationeel Model Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002.
Databases I EER and Object Modeling Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002.
Databases I (H.3) Het Entity-Relationship Model Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003.
Databases I (H. 1) Wiebren de Jonge Vrije Universiteit, Amsterdam Voorlopige versie 2003.
IOP and Vrije Universiteit1 Example of bad interface  Windows: Use Start to Stop.
3.6 Architecture of HIS. 3.7 Integrity & Integration within HIS Suraja Padarath /10/2007.
1 OMI XML schema’s. 2 XML schema - betekenissen 1. eng : W3C XML schema 2. ruim : DTD en W3C schema Literatuur: Bradley, ch. 14 (& 15)
ALBRECHT DÜRER'S MAGIC SQUARE ALBRECHT DÜRERS MAGISCH VIERKANT
1 Van Harvard naar MIPS. 2 3 Van Harvard naar MIPS Microprocessor without Interlocked Pipeline Stages Verschillen met de Harvard machine: - 32 Registers.
JProject02 Bert Jacobs Ignace Van Tricht 4 juni 2009.
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Universal Modeling Language … why you need models? Models are necessary to communicate,
Automation SolutionsMFG/Pro Dutch usergroup 8 februari 2007 ISA S88 & S95 Het gebruik van deze normen in de productie.
Tussentoets Digitale Techniek. 1 november 2001, 11:00 tot 13:00 uur. Opmerkingen: 1. Als u een gemiddeld huiswerkcijfer hebt gehaald van zes (6) of hoger,
JAVA1 H 22. COLLECTIONS FRAMEWORK. 1. INLEIDING. Collections framework Is een verzameling van data structuren, interfaces en algoritmen Meest voorkomende.
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Beginselen van C opgaves… volgende week: ARM.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies.
Geheugen, distributie en netwerken Netwerken: de basis voor distributie van gegevens en taken (processen) –bestaan zo’n 40 jaar, zeer snelle ontwikkeling.
Overzicht  Is een kennissysteem een oplossing?  Probleem- en domeinmodel  Methodologie.
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
Organizing Organization is the deployment of resources to achieve strategic goals. It is reflected in Division of labor into specific departments & jobs.
Motivation One secret for success in organizations is motivated and enthusiastic employees The challenge is to keep employee motivation consistent with.
1 Over het examen (1): Modus Mondeling met schriftelijke voorbereiding 4 uur, 3 onderdelen: –Modellering (  schriftelijk, dan mondeling) –Queries / relationeel.
© Copyright VIMC 2009 Telecom Expense Management A Discussion Ed Vonk
1 december KC Development Tools Hands-on Oracle HTML DB v2.0.
DARE SUMMER SCHOOL Metadata Peter van Huisstede / Ursula Oberst 28 juni 2005.
Taaltheorie en Taalverwerking Parsing Continued. Totnutoe: Top-Down-Parser.
EML en IMS Learning Design
Het geheim van Linked Data Marcel ReuversGeonovum CB-NL 20 november 2014.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
Algoritmiek Class Hierarchies, Inheritance. Hoorcollege 12 - Ma. 20 nov L.M. Bosveld-de Smet.
Databases I (H. 7: 1-3) Het Relationele Model Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003.
1 Attributen Datamodellering Attribuut legt één feit vast over een entiteit  atomair overloaded attributes splitsen, b.v. NAW-gegevens correspondeert.
Databases I Het Entity-Relationship Model
Databases I (H. 2) Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003 (blijft dit jaar ‘incompleet’)
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Analyse 3 INFANL01-3 week 2 CMI Informatica.
GegevensAnalyse Les 2: Bouwstenen en bouwen. CUSTOMER: The Entity Class and Two Entity Instances.
1 KPN Mobiel – Introductie Repository Object Browser & Designer 10 Designer 10g & Repository Object Browser Maandag 28 februari 2005 Lucas Jellema (AMIS)
Chapter 1: Introduction
Transcript van de presentatie:

Databases I (H.9.1-2) Van EER naar relationeel Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003

Waar in DB ontwerp proces? Nu stap 3a. Miniworld REQUIREMENTS COLLECTION AND ANALYSIS CONCEPTUAL DB-DESIGNFUNCTIONAL DESIGN Data RequirementsFunctional Requirements High-level Transaction SpecifiationConceptual Schema (in a high-level data model) LOGICAL DB-DESIGN (DATA MODEL MAPPING) Conceptual Schema in DBMS independent data model LOGICAL DB-DESIGN (DBMS MAPPING) Logical (Conceptual) Schema (in the data model of a specific DBMS) PHYSICAL DB-DESIGN Internal Schema (for the same DBMS) DBMS & implementation data model independent Implementation data model specific DBMS specific APPLICATION PROGRAM DESIGN TRANSACTION IMPLEMENTATION Application Programs 1. 2a.2b. 3a. 3b. 4a. 4b. 5.

Voorbeeld ER-diagram (Fig. 3.15)

Relationeel schema diagram (Fig. 7.7)

Voorbeeld mapping regular entity type EMPLOYEE bdate ssn name fnameminitlname sex address salary 1 FNAMEMINITLNAMESSN 1 BDATEADDRESSSEXSALARY was oorspronkelijk composite attribuut EMPLOYEE

1. Mapping regular entity types Voor elk regular (non-weak, non-subclass) entity type E: u maak een tabel met als attributen alle simple attributes van E ( N.B. ook de simple attributes die behoren tot evt. composite attributes ) u laat eventuele multivalued attributes nog even achterwege u kies één van de keys van E als primary key

Voorbeeld mapping weak entity type DEPENDENT name sex bdaterelationship DEPENDENTS_OF EMPLOYEE bdate ssnname fnameminitlname sex addresssalary ESSNDEPENDENT_NAME 1 SEXBDATERELATIONSHIP DEPENDENT 1 partial key weak entity FK naar owner (EMPLOYEE) N.B. identifying rel.ship is nu in feite ook al verwerkt

2. Mapping weak entity types Voor weak entity types E: u maak een tabel met als attributen alle simple attributes van E ( N.B. ook de simple attributes die behoren tot evt. composite attributes ) u voeg voor elke owner aan deze tabel een FK (foreign key) toe die verwijst naar die owner ( hiermee is de identifying relationship afgehandeld) u laat eventuele multivalued attributes nog even achterwege u kies als primary key de combinatie van: –de attributen van de partial key (tenminste, als die bestaat) –de attributen van elke foreign key naar een owner u specificeer bij FK’s naar owners: “cascade” of “restricted” (beslist niet: “nullify” !!)

Voorbeeld mapping binary 1:1 rel.ship type EMPLOYEE bdate ssnname fnameminitlname sex addresssalary MANAGES startdate DEPARTMENT name number locations DNAMEDNUMBER 2 MGRSSNMGRSTARTDATE DEPARTMENT attribuut van relationship FK naar “EMPLOYEE” (hier: no nulls) Merk op: “locations” wordt niet in tabel “DEPARTMENT” opgenomen! (0,1) (1,1) dus: partial participation van EMPLOYEE dus: total participation van DEPARTMENT

3. Mapping binary 1:1 relationship types Voor binaire 1:1 relationship types: u kies één van de participerende entity types (zeg: E1), zo mogelijk (resp. liefst) één met totale participatie u voeg aan de tabel (zeg: R1) van dit entiteitstype E1 toe: –een foreign key naar de tabel van het andere entiteitstype –eventuele attributen van de relationship u als E1 totaal participeert in deze relationship, specificeer dan bij de genoemde FK “no nulls” (i.e. “nulls not allowed”)

Voorbeeld mapping binary 1:N rel.ship type EMPLOYEE bdate ssnname fnameminitlname sex addresssalary WORKS_FOR DEPARTMENT name number locations 2 1 (1,1) (4,N) FNAMEMINITLNAMESSN 1 BDATEADDRESSSEXSALARY EMPLOYEE deze hadden we al DNO nu toevoegen: FK naar “DEPARTMENT” (specificeer “no nulls” vanwege total partic.)

4. Mapping binary N:1 relationship types Voor binaire N:1 (resp. 1:N) relationship types: u voeg in de tabel “aan de N-kant” het volgende toe: –een FK (foreign key) naar de tabel “aan de 1-kant” –eventuele attributen van de relationship u als het entiteitstype “aan de N-kant” totaal participeert in deze relationship, specificeer dan bij de genoemde FK “no nulls” (oftewel “nulls not allowed”)

Voorbeeld mapping binary N:M rel.ship type bdate ssnname fnameminitlname sex addresssalary WORKS_ON PROJECT name number location (1,N) EMPLOYEE 2 1 hours ESSNPNO 1 1 WORKS_ON HOURS FK naar “EMPLOYEE” FK naar “PROJECT” attribuut van relationship type

5. Mapping binary M:N relationship types Voor binaire M:N relationship types: u maak een tabel (zeg: R) met daarin: –foreign keys naar de tabellen aan de M- en de N-kant –eventuele attributen van de relationship u kies als primary key van R de combinatie van alle attributen van de bovengenoemde foreign keys u specificeer bij de genoemde FK’s “cascade” of “restricted” N.B.:1:1 en N:1 relationship types kunnen evt. op soortgelijke wijze afgehandeld worden !! (Bij 1:1 zijn beide FK’s dan een sleutel en wordt eentje de PK. Bij N:1 is dan alleen de FK “naar de N-kant” een sleutel en dus PK.)

Extra voorbeeld mapping binary M:N rel.ship ssnnaamadres LID_VAN PARTIJ naam adres PERSOON MN SSNNAAM 1 ADRES SSN_PERSOON 1 ADRES NAAM NAAM_PARTIJ 1 1 PERSOON PERSOON_PARTIJ PARTIJ FK

Alternatieve mapping binary N:1 rel.ship types ssnnaamadres LID_VAN PARTIJ naam adres PERSOON N1 SSNNAAM 1 ADRES SSN_PERSOON 1 ADRES NAAM NAAM_PARTIJ 1 PERSOON PERSOON_PARTIJ PARTIJ FK SSNNAAM 1 ADRES PERSOON NAAM_PARTIJADRES NAAM 1 PARTIJ FK voordelen: - relatief “eenvoudig en snel” - indien persoon totale participatie heeft: geen nulls en geen verspilling opslagruimte voordelen: - geen nulls, ook niet indien persoon partiële participatie heeft !! - minder opslagruimte nodig indien persoon (zeer) partiële participatie heeft - flexibel (als ’t later een N:M rel.ship wordt, dan slechts: kies nieuwe, samengestelde PK)

Voorbeeld mapping n-ary (n>2) rel.ship type s#name SUPPLY PROJECT j#name SUPPLIER PARTnamep# SNO 1 JNO 1 PNO 1 QUANTITY SUPPLY quantity

7. Mapping n-ary relationship types (n > 2) Voor n-aire relationship types (n > 2): u maak een tabel (zeg: R) met daarin: –een foreign key naar iedere tabel van een in dit relationship type participerend entiteitstype –eventuele attributen van dit relationship type u kies als primary key van R de attributen van de foreign keys met “cardinaliteitsconstraint” N (oftewel “many”)

Voorbeeld mapping multi-valued attribute DEPARTMENT name number locations 2 1 WORKS_FOR MANAGES CONTROLS DNAMEDNUMBER 2 MGRSSNMGRSTARTDATE 1 DEPARTMENT dit hadden we al DNUMBERDLOCATION 1 1 DEPT_LOCATIONS FK dit nu toevoegen

6. Mapping multivalued attributes Voor multivalued attributes: u maak voor ieder multi-valued attribute (A) een aparte tabel (R) met daarin: –het single-valued attribuut corresponderend met A –een foreign key (F) naar de tabel van het entiteitstype met dit multi-valued attribute A u de primary key van R bestaat uit de attributen van F en A

Voorbeeld mapping subclass entities (1) EMPLOYEE bdatessnnameaddress d SALESMANENGINEERSECRETARY specialism limit typing speed NAMESSN 1 BDATE EMPLOYEE1) ADDRESS TSPEED SECRETARY SSN 1 LIMIT SALESMAN SSN 1 SPECIALISM ENGINEER SSN 1 EMP-TYPE

Voorbeeld mapping subclass entities (2) NAMESSN 1 BDATE SECRETARY2) ADDRESSTSPEEDNAMESSN 1 BDATE SALESMAN ADDRESSLIMIT NAMESSN 1 BDATE ENGINEER ADDRESSSPECIALISM EMPLOYEE3) NAMESSN 1 BDATEADDRESSTSPEED EMP_TYPE LIMITSPECIALISM EMPLOYEE4) NAMESSN 1 BDATEADDRESSTSPEED SEC_FLAG LIMIT SPEC SALE_FLAGENG_FLAG

8a. Mapping subclass entity types Voor iedere subclass entity (Sub) van een superclass entity (Super): u maak een tabel met daarin: –de local attributes (single-valued) van Sub –een foreign key naar Super u de primary key van Sub bestaat uit de attributes van de foreign key naar Super (i.e. Sub heeft dezelfde PK als Super)

Volgorde uitvoeren stappen 1.definieer tabellen voor: a.reguliere entiteiten (boek: step 1) b.subclass entiteiten (boek: step 8a) c.zwakke entiteiten (boek: step 2) 2.voeg aan de tabellen van de entiteiten extra attributen toe voor: a.binaire 1:1 relationships (boek: step 3) b. binaire 1:N relationships (boek: step 4) 3.voeg extra tabellen toe voor: a.binaire N:M relationships (boek: step 5) b.n-aire relationships, n>2 (boek: step 7) 4.voeg extra tabellen toe voor: multivalued attributes (boek: step 6)

Voorbeeld ternaire rel.ship als weak entity s# name SS PROJECT j# name SUPPLIER PARTnamep# SNO 1 PNO 1 JNO 1 QUANTITY SUPPLY quantity SJ SP N N N stap 1a: reguliere entiteiten SUPPLIER SNO 1 NAME PART PNO 1 NAME PROJECT JNO 1 NAME stap 1c: zwakke entiteiten stap 2b: N:1 relationships [geen verandering, want de toe te voegen foreign keys zitten al in SUPPLY!]