Databases I Relationeel Model Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002.

Slides:



Advertisements
Verwante presentaties
Les 2 klassediagrammen II
Advertisements

SQL deel 2: datamodel ontwerp
Het ER model Een powerpoint presentatie, gemaakt door: F. Triep
Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 1 Internetapplicaties Deel 14: Eerste echte e-commerce applicatie: Implementatie (vervolg)
PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Entiteit-Relatie Model
Databank van een restaurant Download op Twee tabellen: Klanten: Alle klanten die minstens.
HALLO OPLETTEN : Waarom sql DOEN : Introductie opdracht
Databases I (H.15) Normaliseren Wiebren de Jonge Vrije Universiteit, Amsterdam voorlopige versie 2003 sheets 1-54 stabiel !?
Van Nul naar Drie Normaliseren.
Normaliseren Datamodellering 2006.
Databases.
Databases I Van EER naar relationeel
Opleiding AI cursus Databases
LauwersCollege Buitenpost Informatica
Entity Relation Model (ER-model).
Inleiding Databanken: oefeningen 4 Sven Casteleyn 4 Lokaal: 6G HomePage: te bereiken via
DE TYPE-TYPE IDENTITEITSTHEORIE
Relationele databases: Fysiek databaseontwerp en SQL
Normalisatie Relationeel databaseontwerp:
Opleiding Kunstmatige Intelligentie cursus Databases voor AI
Opleiding AI cursus Databases
HALLO OPLETTEN : Waarom sql DOEN : Introductie opdracht
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Inleidend probleem Data structuur (hiërarchie van classes)
Databases I Functionele Afhankelijkheden en Normaalvormen
Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam
Databases I (H.14) Functionele Afhankelijkheden en Normaalvormen
Databases I (H. 9.3) Tupelcalculus Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003.
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.
Databases I Normaliseren Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002.
PHP & MYSQL LES 04 CMS: BEST PRACTICE. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
SQL ( SERVER ) Les #02: T-SQL. A GENDA Herhaling les 4 Views SELECT…INTO Beheren van tabellen: CREATE ALTER DROP Opdracht voor de volgende les.
Onderzoek doen een methodische aanpak
havo wiskunde A Tom Eitjes
Databases I Domeincalculus Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Vakgroep Telecommunicatie en Informatieverwerking 1 Relationele databases: Het relationeel databasemodel Hoofdstuk 4 Database, Document and Content Management.
Databases I (H. 7: 1-3) Het Relationele Model Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003.
Databases I Praktische aspecten Database Design en Database System Architectuur Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve.
1 Attributen Datamodellering Attribuut legt één feit vast over een entiteit  atomair overloaded attributes splitsen, b.v. NAW-gegevens correspondeert.
Databases I Relationele Algebra Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002.
Databases I (H. 17) DB System Architectures & DB System Catalog Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003.
Databases I Het Entity-Relationship Model
Databases I SQL Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002.
Databases I (H.8) SQL Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003.
Databases I (H. 2) Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003 (blijft dit jaar ‘incompleet’)
Databases I Tupelcalculus Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002.
Databases I (H.7.4 e.v.) Relationele Algebra Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003.
College 3 Hoofdstuk 3: Basis concepten van een relationele database
Hoofdstuk 11 Databasemanagementsystem. hoofdstuk 112 STROKENDIAGRAMMEN llnrvoornaamtussenvachternaamstraathuisnummerpostcodeplaatstelefoongeslachtgebdatumklas.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Analyse 3 INFANL01-3 week 2 CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Week 3 BIMAIV03 Les B3 BIMAIV03 Les B3. Opdracht 1 Van een artikel mogen maximaal 300 stuks verkocht worden. Verschillende klanten bestellen een aantal.
ANALYSE 3 INFANL01-3 WEEK 8 CMI Informatica. ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Herhaling ▸ Normaliseerregels ▸ Omzetten ERD ▸ Group by en SET ▸ Proeftentamen.
Week 6 BIMAIV03 les B1. DML en DDL ata D anipulation M anguage L ata D efinition D anguage L.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Week 1 BIMAIV03 Les B2 BIMAIV03 Les B2. Uit het voorgaande... CREATE TABLE... Opdracht om een nieuwe tabel binnen de database te creëren. Aandachtspunten.
EERDER….. Tabellen rij (record, tuple, occurence) kolom (attribuut, veld) tabel (relatie) tabelstructuur : patient(PAT#,PNAAM,LEEFTIJD,GESLACHT,ARTS)
Wat is SQL (1)? SQL (Structured Query Language):  is een zeer krachtige taal met een beperkt vocabulaire (aantal ‘woorden’)  is declaratief (‘WAT’ niet.
– Software development fundamentals
SQL Cursus deel
LauwersCollege Buitenpost Informatica
SQL Les 7 24 February 2019.
SQL Les 6 14 April 2019.
SQL en Datanormalisatie
– Software development fundamentals
Transcript van de presentatie:

Databases I Relationeel Model Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002

Database ontwerp proces

Implementation model oude stijl (hiërarchisch) D1engineering500,000 E1John E2Joe E3Jack Marydaughter Suewife D2sales200,000 E4Will Suziedaughter Tomson Marywife E5Bridget

Implementation model nieuwe stijl (relationeel) DEPARTMENT D#NAMEBUDGET D1engineering500,000 D2sales200,000 DEPENDENT EMPLOYEE E#NAME REL E#NAME BDATE D# E3Mary daughter E1John D1 E3Sue wife E2Joe D1 E4Suzie daughter E3Jack D1 E4Tom son E4Will D2 E4Mary wife E5Bridget D2

Voorbeeld relatie (fig 7.1)

Definitie relatie u relatie: een deelverzameling van het Cartesisch product D 1  D 2  …  D n waarbij D i (i = 1…n) de domeinen zijn en n de graad (degree / arity) is van de relatie {(E1, John, ), (E2, Joe, ), (E3, Jack, ), (E4, Will, ), (E5, Bridget, ) } voor ieder tupel (e, n, b) uit deze relatie moet gelden: –e  E# –n  NAME –b  BDATE

Uitgebreide definitie relatie u een relatie is: (1) een verzameling (attribuutnaam, domein)-paren waarbij de attribuutnamen uniek zijn en (2) een verzameling tupels, waarbij ieder tupel een verzameling is van geordende paren (attribuutnaam, waarde) waarbij elke attribuutnaam niet meer dan één keer voor mag komen in een tupel en moet voorkomen in de verzameling (attribuutnaam, domein)-paren van de relatie en waarbij de waarde moet komen uit het bij de attribuutnaam vermelde domein

Voorbeeld uitgebreide definitie ( {(E#, EMPNRS),(NAME, STRING),(BDATE, DATE)}, {{(E#, E1), (NAME, John),(BDATE, )}, {(E#, E2), (NAME, Joe),(BDATE, )}, {(E#, E3), (NAME, Jack),(BDATE, )}, {(E#, E4), (NAME, Will),(BDATE, )}, {(E#, E5), (NAME, Bridget),(BDATE, )} } )

Begrippen en opmerkingen u oorspronkelijke eisen attributen relationeel model: –niet composite –niet multi-valued u intensie: geeft aan welke toestanden (waarden) en toestandsovergangen toegestaan/mogelijk zijn u extensie: –een extensie: een mogelijke/toegestane inhoud –de extensie: de huidige inhoud u relatie-schema: beschrijving van de intensie v/e relatie u database-schema: beschrijving van de intensie v/e database

Keys u superkey: verzameling attributen die de tupels van een relatie altijd (d.w.z. voor iedere extensie) uniek identificeert. dus  t 1,t 2  R: (t 1  t 2  t 1 [SK]  t 2 [SK]) u (candidate) key: minimale superkey primary key: specifieke, door de modelleur daartoe aangewezen key u foreign key: verzameling van attributen die wordt gebruikt om naar tupels van een (andere) relatie te verwijzen. voorbeeld: Woning(plaats 1, straat 1, huisnr 1,2, postcode 2, prijs, naam_makelaar) Makelaar(naam 1, telefoon 2, KvKnummer 3 )

Primary keys en foreign keys (fig 7.7)

Constraints u entity integrity: geen enkel tupel mag de waarde null hebben in een attribuut dat tot de primary key behoort u key constraint: de attributen van een key moeten (gezamelijk) voor ieder tupel uit de relatie unieke waarden hebben u referential integrity: de waarden van foreign keys moeten: –ofwel als sleutelwaarde voorkomen in de relatie waar de FK naar verwijst (d.w.z. FK verwijst naar daadwerkelijk bestaand tupel) –ofwel geheel null zijn (d.w.z. ieder FK-attribuut null)

Problemen overlapping foreign keys... u voorbeeld: R(A, B, C, D, E) {B, C} FK naar S {C, D, E} FK naar T S(B, C, F) T(C, D, E, G) u in verband met referential integrity geldt: geen verwijzing naar tupel van S d.e.s.d.a. geen verwijzing naar tupel van T (want null-waarden mogen uitsluitend als de gehele FK null is)

Relatie schema u naam v/d relatie u namen attributen u voor ieder attribuut de naam van het bijbehorende domein (beschreven in aparte domein schema’s) u beschrijving intra-relationele constraints –key constraints –overige constraints (als tupel.leeftijd > 23 dan tupel.salaris >= minimumloon) u beschrijving van wat er moet gebeuren indien constraints geschonden dreigen te worden

Database schema u naam v/d database u beschrijving alle domeinen (d.w.z. alle domeinschema’s) u alle relatieschema’s u alle view definities u beschrijving inter-relationele constraints u beschrijving wat er moet gebeuren als inter-relationele constraints geschonden dreigen te worden

Operaties die database wijzigen u INSERT –domain constraints –key constraints –entity integrity –referential integrity (van tupel dat wordt toegevoegd) u DELETE –referential integrity (van tupels die verwijzen naar tupel dat wordt verwijderd!) u MODIFY –domain constraints –referential integrity (van tupel dat wordt gewijzigd) let op: het wijzigen (MODIFY) van attributen van de primary key is hetzelfde als een DELETE + INSERT (identiteit wijzigt)

Referential integrity (delete / update) u restricted delete of update mag niet worden uitgevoerd u nullify zet foreign key van verwijzend tuple op null u cascade –bij delete: als tupel t verwijderd wordt, verwijder dan ook alle tupels t’ die naar t verwijzen –bij update: als van tupel t de betreffende key gewijzigd wordt, wijzig dan ook de foreign keys van alle tupels t’ die naar t verwijzen

Voorbeeld referential integrity D#NAMEBUDGET D1engineering500,000 D2sales200,000 E#NAME REL E#NAME BDATE D# E3Mary daughter E1John D1 E3Sue wife E2Joe D1 E4Suzie daughter E3Jack D1 E4Tom son E4Will D2 E4Mary wife E5Bridget D2 \ ---> on delete cascade \ ---> on delete nullify

Volgende keer u nalezen: aanvullingen hoofdstuk 7 u voorbereiden: aanvullingen hoofdstuk 7 constraints