Normaliseren versie 1.1

Vergelijkbare documenten
Datamodelleren en databases 2011

Normaliseren. Methodisch modelleren. Normaliseren & DBMS-model. Normalisatie DMO Datamodellering Twee manieren: Deze week: normaliseren

ER-modeling. Datamodellering Wat is ER-modeling?

ER-modeling. Wat is ER-modeling? ERD & relationeel model. ER-benadering DMO Datamodellering 2008

DMD-2011 Introductie. Introductie. Opzet van de cursus. Werkwijze per week. Datamodelleren en databases Twee hoorcolleges in totaal

Relationele databases

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.

Normaliseren voor Dummies

Relationele Databases 2002/2003

Relationele Databases 2002/2003

Relationele Databases 2002/2003

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.

SQL en XML. XML schema s & DMO. Entiteitsklasse en attribuut. SQL en XML. Datamodellering Schema een ruim begrip (zie Møller, p.

Informatie & Databases

Entiteit Zaken en gebeurtenissen waarvan gegevens moeten worden vastgelegd worden een entiteit genoemd: b.v. mens, voorstelling, auto.

Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank

SQL & Datamodelleren

DBMS SQL. Relationele databases. Sleutels. DataBase Management System. Inleiding relationele databases. bestaan uit tabellen.

Databases - Inleiding

Inhoud. Voorwoord 1 Belangrijkste kenmerken van dit boek 1 De opzet van dit boek 1 Over de auteurs 2 Woord van dank 2

Oefening 1. Bedenk een voorbeeld van een vreemde sleutel die naar de eigen relatie verwijst.

Workshop 3x. Normaliseren. Normaliseren. Hiëarchische database ODBMS. Relationele database. Workshop 14 oktober A. Snippe ICT Lyceum 1

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: Groep TDI 1

Relationele Databases 2002/2003

Databases (INFODB) 24 januari 2007

Cursus Access voor Beginners Hoofdstuk 2

Redundancy Normaalvormen

Snelgids voor het bouwen van een IT- RDBMS in EXCEL.

[TOETS SQL INLEIDING]

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

Data Definition Language

In deze appendix wordt bekeken wat er moet gebeuren voordat

Tentamen Databases. 18 december :00-12:00, Educatorium Gamma

Introductie in flowcharts

Databases en SQL Foundation (DBSQLF.NL)

DATAMODELLERING ER DIAGRAM

opstarthandleiding mysqlworkbench November 2012 Fons van Kesteren HVA- CMD- V1 Datamodelleren

Hoofdstuk: 1 Principes van databases

ISO Datamodelleren. Prof. dr. Paul De Bra. Gebaseerd op: Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan

PROGRAMMA Vak: informatica..

Normaliseren. Er zijn 5 stappen in het normaliseren, maar meestal worden alleen de eerste 3 uitgevoerd.

SQL Aantekeningen 3. Maarten de Rijke 22 mei 2003

Dataconversie met Oracle Spatial

EXIN Databases en SQL Foundation

Ontwerp een datamodel

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Het ontwerpen van een databaseschema

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Waardelijsten. Vormen van waardelijsten.

RECEPTEERKUNDE: PRODUCTZORG EN BEREIDING VAN GENEESMIDDELEN (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

Een database voor MEDIAGROEP DE CASE OBJECTTYPEN EN LABELTYPEN

Het omzetten van een ER-diagram naar SQL

1.1 Een database ontwerpen voor een webliografie

Normaalvormen. DB kent vijf normaalvormen, elke strenger dan de vorige De eerste drie zijn veelgebruikt. ax 2 + bx + c =0

Tentamen Databases voor ica

Les S-01: De basisbeginselen van SQL

EXAMEN juni 2016 Gegevensbanken

de praktijk: tabellen

Integriteitsbewaking bij een relationele database

Gebruikershandleiding DAMO Watersysteem. Versie 1.0

8. De invoer van gegevens

SQL datadefinitietaal

H 1 Databases en databasesystemen (10 punten) a. Veel van de huidige databases zijn gebaseerd op een drie-laags systeemarchitectuur:

het bank voorbeeld ISO Datamodelleren modelleren met het E-R R model een database ontwerpen verzamelingen van relaties (verbanden)

Database Structuur via menus

MyDHL+ Van Non-Corporate naar Corporate

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Cambridge International Examinations Cambridge International General Certificate of Secondary Education. Paper 4 Writing May/June hour

Projecten Applicatie Ontwikkeling

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010

LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series

1. Databanken. Wat is een databank? Verschillende opslagmethodes

SQL.

Relationele databanken

Databases Ontwerpen en Normaliseren. 5 & 6 Informatica. Ontwerpen van een database volgens de regels van Boyce/Codd

DATABANKEN GILLES CALLEBAUT

Ternaire relaties in ERDs zijn lastig

DATABANKEN. Prof. Ir. W. Verschelde

Tentamen Databases voor iku

Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64

Empowering the circular economy through procurement. DEEL 5, AUTORISATIE Guidance document 20 March 2018

Inleiding Databases en Data Base Management Systems Tabellen Wat is SQL?... 5

Als er besloten is een database op te stellen dient men een analyse van de informatiegegevens te volbrengen.

TECHNISCHE UNIVERSITEIT EINDHOVEN. Faculteit Wiskunde en Informatica

GS1 Data Source: Meest voorkomende foutmeldingen na de Major Release

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Database ontwerp Normaliseren.

1. * Database worden vaak gebruikt in Client-Server architectuur.

Find Neighbor Polygons in a Layer

Tentamen Databases voor ica

Thinking of development

OPEN TRAINING. Onderhandelingen met leveranciers voor aankopers. Zeker stellen dat je goed voorbereid aan de onderhandelingstafel komt.

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education

Module 1 Programmeren

Governance University -EGC: Compliance voor commissarissen

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Cursus Analyse voor Web Applicaties 1. Webdesign / Web Programmeren Analyse voor web applicaties SDM methode + Basis UML

Transcriptie:

Normaliseren versie 1.1 Datamodellering 27 1 Wat is normaliseren? Data organiseren in tabelvorm, zó dat: er minimale redundantie is update operaties (toevoegen, wijzigen, verwijderen) eenvoudig zijn uit te voeren records in een tabel te identificeren zijn m.b.v. een unieke sleutel (primary key) 2 Redundantie: voorbeeld Suppliers and Parts: wat als een leverancier verhuist? S# City P# Qty S1 London P1 S1 London P2 2 S1 London P3 4 S2 Paris P1 S2 Paris P2 4 S3 Paris P2 S4 London P2 2 S4 London P4 3 DMO 27 1

Normaliseren als techniek Normaliseren: bottom up datamodelleringstechniek vgl. ER methode: top down Omvat een aantal stappen (= normaalvormen): 1NF 2NF 3NF BCNF 4NF 5NF 6NF meestal voldoende: relatie is genormaliseerd 1NF 2NF 3NF BCNF 4NF 5NF 6NF 2NF veronderstelt, dat de dataset al in 1NF is, etc. 4 Normaliseren & DBMS model Normaliseren in de praktijk gekoppeld aan het relationele database model: tabellen Normaliseren vereist enige basiskennis van het relationele model 5 Enkele principes RDBMS Relationele database: verzameling tabellen Relationele tabel rechthoekig (dus spreadsheet tabel!) rijen (records = tuples) en kolommen (velden, attributen) cardinaliteit: aantal rijen graad (degree): aantal kolommen geen vaste ordening rijen en kolommen cel: atomaire waarde Relationele operaties tabel Tabellen gekoppeld via sleutels primary key (pk) foreign key (fk) 6 DMO 27 2

Functionele afhankelijkheid (vb) S# City P# Qty S1 London P1 S1 London P2 2 S1 London P3 4 S2 Paris P1 S2 Paris P2 4 S3 Paris P2 S4 London P2 2 S4 London P4 S# P# City Qty S# is de determinant van City City is functioneel afhankelijk van S# 7 Functionele afhankelijkheid (def) Given a relation R: attribute Y of R is functionally dependent on attribute X if and only if each X value in R has associated with it precisely one Y value in R (at any one time). in symbols, R.X R.Y (read: R.X functionally determines R.Y ) Attributes X and Y may be composite. 8 Sleutels Candidate key: unique niet reduceerbare combinatie van attributen (indien composite) fungeert als determinant voor andere attributen in de tuple Primary key (PK): een candidate key gekozen als identifier Foreign key (FK): kruisverwijzing naar primary key 9 DMO 27 3

Vooronderstellingen Jouw interpretatie van de requirements en entiteiten expliciteren van de semantiek, b.v. elke werknemer heeft niet meer dan één auto van de zaak Bij de opdrachten in deze cursus: vooronderstellingen beschouwd als jouw toelichting bij de oplossing (geen standaardlijst) Bedrijf & werknemers Variant(!) op opdracht 2.1 Team Werknemer Project attributen in dit voorbeeld (t = team, p = project; telkosten: aantal eenheden gebeld op een bepaald toestel):, pers#, tbudget, tel#, telkosten, proj#, pbudget Voorbeelden vooronderstellingen: werknemer kan in meer dan 1 team zitten werknemer werkt aan 1 project tegelijk project hoort bij 1 team, 1 team heeft meerdere projecten 11 Bedrijf & werknemers 1NF tbudget 5 5 5 pers# 113 114 115 116 tel# 4589 1267 2385 1467 telkosten 34 12 57 25 proj# 2 NULL pbudget 2 2 NULL 4 4 de alles relatie 1NF: All values are atomic (no repeating groups) BEDRIJF (, tbudget, pers#, tel#, telkosten, proj#, pbudget) 12 DMO 27 4

Bedrijf & werknemers 2NF BEDRIJF (, tbudget, pers#, tel#, telkosten, proj#, pbudget) BEDRIJF heeft een composite PK testen op 2NF: 2NF: Every non key column dependent on the entire PK Dit is niet het geval, dus 1NF 2NF: TEAM (, tbudget) WERKNEMER (pers#, tel#, telkosten, proj#) 13 Bedrijf & werknemers 3NF 3NF: no transitive dependency on PK Er is nu wel transitieve afhankelijkheid er zijn nog andere, directere determinanten, namelijk: proj# pbudget tel# telkosten Dus hiervoor aparte tabellen: 2NF 3NF: TEAM (, tbudget) WERKNEMER (pers#, tel#, proj#) tel# en proj# zijn FK PROJECT (proj#, pbudget, ) is FK TELEFOON (tel#, telkosten) Wat overblijft is de tussentabel voor de veel op veel relatie TEAM WERKNEMER: TAAK (, pers#) en pers# zijn FK 14 Bedrijf & werknemers eind TEAM tbudget 5 pers# 113 114 tel# 4589 1267 proj# 2 tel# 4589 1267 telkosten TELEFOON 34 12 WERKNEMER 115 116 2385 1467 2385 57 1467 25 PROJECT 3 proj# 2 pbudget 2 4 pers# 113 114 TAAK 115 116 15 DMO 27 5

Hogere normaalvormen Wees bedacht op de situaties beschreven door BCNF, 4NF, 5NF Hint opdracht 2.4: maak ook een tabel met waarden zoals hierboven ga niet verder dan 3NF 16 Meer Rules of Data Normalization [DataModel.org] http://www.datamodel.org/normalizationrules.html Database elearning, ch. 4: http://db.grussell.org/ch4.html Normalization [University of Texas]: http://www.utexas.edu/its/windows/database/datam odeling/rm/rm7.html 17 DMO 27 6