Week 3 BIMAIV03 Les B3 BIMAIV03 Les B3. Opdracht 1 Van een artikel mogen maximaal 300 stuks verkocht worden. Verschillende klanten bestellen een aantal.

Slides:



Advertisements
Verwante presentaties
SQL deel 2: datamodel ontwerp
Advertisements

Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 1 Internetapplicaties Deel 14: Eerste echte e-commerce applicatie: Implementatie (vervolg)
Hoofdstuk 8: Werken met SQL voor eindgebruikers
PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Access en MySql Ynte Jan Kuindersma, BIRD Automation Nationale Officedag 2009 EDE, 14 Oktober 2009.
Dennis Gentenaar geboren op: 30 september 1975, Nijmegen contract: t/m rugnummer: 1 bij NEC sinds: 1995/1996 vorige clubs: NEC amateurs.
Databank van een restaurant Download op Twee tabellen: Klanten: Alle klanten die minstens.
MySQL-acties Klassikaal: Wijnen.sql. 1.Toon alle wijnen die er zijn. Toon de naam, kleur en prijs. SELECT `naam`,`kleur`,`prijs` FROM `wijnen`
Het Nieuwe Werken Arjan van Dijk
Internetapplicaties - VIII Relationele Databases 1 Internetapplicaties Deel 8: Relationele Databases.
<Mdl01 hoorcollege 1>
LauwersCollege Buitenpost Informatica
Inleiding Databanken: oefeningen 4 Sven Casteleyn 4 Lokaal: 6G HomePage: te bereiken via
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Basis 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Relationele databases: Fysiek databaseontwerp en SQL
Datamodellering en –verwerking 8C020 college 4
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Vorige week: Referentiele integriteit
Databases I Relationeel Model Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002.
Opleiding BewegingstechnologieHaagse Hogeschool Programmeren Module 8, College 3.
Workshop PHP Een productencatalogus Met database.
Deel XIII Eerste echte e-commerce applicatie (iteraties + impl ) 1 Internetapplicaties Deel 13: Eerste echte e-commerce applicatie: Enkele iteraties met.
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.
LauwersCollege Buitenpost Informatica
Computervaardigheden Hoofdstuk 4 — Databank (Basis)
Vakgroep Telecommunicatie en Informatieverwerking 1 Relationele databases: Het relationeel databasemodel Hoofdstuk 4 Database, Document and Content Management.
Databases Hoofdstuk 25 Hoofdstuk 24.
1 Attributen Datamodellering Attribuut legt één feit vast over een entiteit  atomair overloaded attributes splitsen, b.v. NAW-gegevens correspondeert.
Front-end development
Databases I (H.8) SQL Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003.
1 July SQL Les July Agenda Herhaling Herhaling Stored Procedures Stored Procedures Oefeningen Oefeningen User Defined Functions User.
Hoofdstuk 11 Databasemanagementsystem. hoofdstuk 112 STROKENDIAGRAMMEN llnrvoornaamtussenvachternaamstraathuisnummerpostcodeplaatstelefoongeslachtgebdatumklas.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Les 0 Structured Query Language SQL. Programma Les 0 – Introductieopdracht Les 1 Les 2 Les 3 Schriftelijke toets.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Analyse 3 INFANL01-3 week 3 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 BIRAIV03 Les B6 BIRAIV03 Les B6. naamtype A. JanssenLunare P. GerritsenGratea J. MolenaarTerra J.M. de WitTerra H.A.M. GeelsbergenLunare T. van.
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.
Week 2 BIMAIV03 Les A4. Volgorde Soms willen we in het resultaat een bepaalde ordening aanbrengen. Dat doen we met PEILING ORDER BY DatumPartijAantal.
Week 2 BIMAIV03 Les A3. DISTINCT (1) Van welke uitgevers staan er boeken in deze tabel? BOEKNRTITELUITGEVERPRIJS Word in twaalf dagenMEU€ 22,50.
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.
ANALYSE 3 INFANL01-3 WEEK 6 CMI Informatica. ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Subqueries met correlaties ▸ Subqueries zonder correlaties ▸ Views ▸
Week 3 BIRAIV03 Les B5 BIRAIV03 Les B5. naampnt Jan10 Truus22 Ineke6 Tabel 1 codeomschrprijs a100stoel€ 160,00 a124tafel€ 255,00 Tabel 2 Voorbeeld.
+ FC GRONINGEN De trots van het Noorden Hier je naam.
VoetbalQuiz. Vraag 1. Uit welke jeugdopleiding komt Ivan Rakitic ?
Start voetbalquiz 1. Vraag 1 Vanaf welk jaar draagt Petr Čech een helm?
Wat is SQL (1)? SQL (Structured Query Language):  is een zeer krachtige taal met een beperkt vocabulaire (aantal ‘woorden’)  is declaratief (‘WAT’ niet.
LPI 1.05 Marcel Nijenhof. Agenda ● Customize and use the shell environment ● Customize or write simple scripts ● SQL data management.
DBS22 - Recap PL/SQL Wilrik R1_4.44
3 Geavanceerd groeperen
– Software development fundamentals
SQL Cursus deel
3 Geavanceerd groeperen
LauwersCollege Buitenpost Informatica
Voetbalquiz 2018.
Informatie-analyse 1: Er zijn veel manieren om een database te vullen
SQL Les February 2019.
SQL Les February 2019.
SQL Les 3 17 February 2019.
SQL Les 7 24 February 2019.
SQL Les 1 5 April 2019.
SQL Les 6 14 April 2019.
SQL en Datanormalisatie
SQL Les 9 12 May 2019.
– Software development fundamentals
SQL Les May 2019.
Transcript van de presentatie:

Week 3 BIMAIV03 Les B3 BIMAIV03 Les B3

Opdracht 1 Van een artikel mogen maximaal 300 stuks verkocht worden. Verschillende klanten bestellen een aantal van dit artikel. Realiseer deze beperking voor onderstaande tabel. klantnraantal KLNR KLNR KLNR

Uitwerking opdracht 1 CREATE TABLE orders (klantnr TEXT(10), aantal INTEGER, CHECK ((SELECT SUM(aantal) FROM orders) <= 300)); klantnraantal klnr klnr klnr10037

Uitwerking opdracht 1 vervolg INSERT INTO orders VALUES('KLNR1004', 5); klantnraantal klnr klnr klnr10037 INSERT INTO orders VALUES('KLNR1004', 3);

Uitwerking opdracht 1 vervolg2 UPDATE orders SET aantal = 140 WHERE klantnr = 'klnr1001'; klantnraantal klnr klnr klnr10037 UPDATE orders SET aantal = 140 WHERE klantnr = 'klnr1002';

Referentiële integriteit 1 datumthuisuitdpvdpt 06 feb 2005RKC WaalwijkFC Groningen30 06 feb 2005FC UtrechtNAC20 06 feb 2005AjaxFC Twente12 06 feb 2005VitesseRoda JC30 30 jan 2005AjaxADO Den Haag00 30 jan 2005NACSC Heerenveen11 30 jan 2005RKC WaalwijkPSV14 29 jan 2005VitesseRBC Roosendaal WEDSTRIJD club ADO Den Haag Ajax AZ De Graafschap FC Den Bosch FC Groningen FC Twente FC Utrecht --- EREDIVISIE

studentnrmodcodedatumcijfer INFA0117 nov INFA0117 nov INFA0102 jul INFA0117 nov INFA0117 nov INFA0130 jan MM0116 nov INFA0117 nov Referentiële integriteit 2 CIJFERLIJST STUDENT studentnrnaamrest van de gegevens Hendriks Haringa Willemsen Gorkom Heijtinga Dorp Klaassen Jennings

studentnrmodcodedatumcijfer INFA0117 nov INFA0117 nov INFA0102 jul INFA0117 nov INFA0117 nov INFA0130 jan MM0116 nov INFA0117 nov Referentiële integriteit 3 CIJFERLIJST ModCodeNaamSpt ARCHArchitectuur1 INFA01Informatiekunde1 INFA02Informatiekunde1 --- MODUUL

studentnrmodcodedatumcijfer INFA0117 nov INFA0117 nov INFA0102 jul INFA0117 nov INFA0117 nov INFA0130 jan MM0116 nov INFA0117 nov Referentiële integriteit 4 CIJFERLIJST TENTAMEN- PLANNING modcodedatumn_surv ARCH16 nov INFA0117 nov INFA0130 jan

Referentiële integriteit 5 Cijferlijst Student Moduul

Referentiële integriteit 5a Cijferlijst Student Moduul Tentamen- planning

Referentiële integriteit 6 Wedstrijd Eredivisie

Referentiële integriteit 7 Referentiële integriteit kan worden afgedwongen met behulp van CHECK-constraints. Dat is niet verstandig; het kan anders... CREATE TABLE wedstrijd (datum DATE, thuis TEXT(20) REFERENCES eredivisie(club), uit TEXT(20) REFERENCES eredivisie(club), dpv INTEGER, dpt INTEGER);

Referentiële integriteit 8 CREATE TABLE wedstrijd (datum DATE, thuis TEXT(20) CONSTRAINT ach REFERENCES eredivisie(club), uit TEXT(20) CONSTRAINT oei REFERENCES eredivisie(club), dpv INTEGER, dpt INTEGER);

Referentiële integriteit 9 CREATE TABLE wedstrijd (datum DATE, thuis TEXT(20), uit TEXT(20), dpv INTEGER, dpt INTEGER, FOREIGN KEY (thuis) REFERENCES eredivisie(club), FOREIGN KEY (uit) REFERENCES eredivisie(club));

Referentiële integriteit en een kolom CLUB bevat die daarin óf als PRIMARY KEY óf als UNIQUE gedefinieerd is In alle gevallen geldt dat de tabel EREDIVISIE moet bestaan...

Referentiële integriteit 11 We denken ons de tabellen club Ajax PSV NAC AZ datumthuisuitdpvdpt 22 jan 2005PSVNAC40 13 nov 2004NACAZ03 24 okt 2004PSVAjax20 03 okt 2004AZAjax00 28 aug 2004NACPSV22 22 aug 2004AjaxNAC62 21 aug 2004PSVAZ51 EREDIVISIE WEDSTRIJD

Referentiële integriteit 11 club Ajax PSV NAC AZ datumthuisuitdpvdpt 22 jan 2005PSVNAC40 13 nov 2004NACAZ03 24 okt 2004PSVAjax20 03 okt 2004AZAjax00 28 aug 2004NACPSV22 22 aug 2004AjaxNAC62 21 aug 2004PSVAZ51 EREDIVISIE WEDSTRIJD UPDATE eredivisie SET club = 'Roda JC' WHERE club = 'Ajax'; DELETE FROM eredivisie WHERE club = 'Ajax';

Referentiële integriteit 11 club Ajax PSV NAC AZ datumthuisuitdpvdpt 22 jan 2005PSVNAC40 13 nov 2004NACAZ03 24 okt 2004PSVAjax20 03 okt 2004AZAjax00 28 aug 2004NACPSV22 22 aug 2004AjaxNAC62 21 aug 2004PSVAZ51 EREDIVISIE WEDSTRIJD INSERT INTO wedstrijd VALUES (#14 feb 2005#, 'NEC', 'Ajax', 2, 3);

ON UPDATE CASCADE 1 We definiëren WEDSTRIJD als CREATE TABLE wedstrijd (datum DATE, thuis TEXT(20), uit TEXT(20), dpv INTEGER, dpt INTEGER, FOREIGN KEY (thuis) REFERENCES eredivisie(club) ON UPDATE CASCADE, FOREIGN KEY (uit) REFERENCES eredivisie(club) ON UPDATE CASCADE);

ON UPDATE CASCADE 2 We denken ons de tabellen club Ajax PSV NAC AZ datumthuisuitdpvdpt 22 jan 2005PSVNAC40 13 nov 2004NACAZ03 24 okt 2004PSVAjax20 03 okt 2004AZAjax00 28 aug 2004NACPSV22 22 aug 2004AjaxNAC62 21 aug 2004PSVAZ51 EREDIVISIE WEDSTRIJD En geven de instructie UPDATE eredivisie SET club = 'ADO' WHERE club = 'Ajax'; ADO

We definiëren WEDSTRIJD als CREATE TABLE wedstrijd (datum DATE, thuis TEXT(20), uit TEXT(20), dpv INTEGER, dpt INTEGER, FOREIGN KEY (thuis) REFERENCES eredivisie(club) ON DELETE CASCADE, FOREIGN KEY (uit) REFERENCES eredivisie(club) ON DELETE CASCADE);

ON DELETE CASCADE 2 We denken ons de tabellen club Ajax PSV NAC AZ datumthuisuitdpvdpt 22 jan 2005PSVNAC40 13 nov 2004NACAZ03 24 okt 2004PSVAjax20 03 okt 2004AZAjax00 28 aug 2004NACPSV22 22 aug 2004AjaxNAC62 21 aug 2004PSVAZ51 EREDIVISIE WEDSTRIJD En geven de instructie DELETE FROM eredivisie WHERE club = 'Ajax';

ON DELETE CASCADE 3 Het resultaat club PSV NAC AZ EREDIVISIE datumthuisuitdpvdpt 22 jan 2005PSVNAC40 13 nov 2004NACAZ03 28 aug 2004NACPSV22 21 aug 2004PSVAZ51 WEDSTRIJD

ON DELETE SET NULL 1 We definiëren WEDSTRIJD als CREATE TABLE wedstrijd (datum DATE, thuis TEXT(20), uit TEXT(20), dpv INTEGER, dpt INTEGER, FOREIGN KEY (thuis) REFERENCES eredivisie(club) ON DELETE SET NULL, FOREIGN KEY (uit) REFERENCES eredivisie(club) ON DELETE SET NULL);

ON DELETE SET NULL 2 We denken ons de tabellen club Ajax PSV NAC AZ datumthuisuitdpvdpt 22 jan 2005PSVNAC40 13 nov 2004NACAZ03 24 okt 2004PSVAjax20 03 okt 2004AZAjax00 28 aug 2004NACPSV22 22 aug 2004AjaxNAC62 21 aug 2004PSVAZ51 EREDIVISIE WEDSTRIJD En geven de instructie DELETE FROM eredivisie WHERE club = 'Ajax';

ON DELETE SET NULL 3 Het resultaat club PSV NAC AZ EREDIVISIE datumthuisuitdpvdpt 22 jan 2005PSVNAC40 13 nov 2004NACAZ03 24 okt 2004PSV20 03 okt 2004AZ00 28 aug 2004NACPSV22 22 aug 2004NAC62 21 aug 2004PSVAZ51 WEDSTRIJD

Structuur van tabellen wijzigen Een kolom aan een tabel toevoegen ALTER TABLE eredivisie ADD COLUMN stadion TEXT(25); ALTER TABLE eredivisie ADD COLUMN stadion TEXT(25); club Ajax PSV NAC AZ club Ajax PSV NAC AZ stadion

Structuur van tabellen wijzigen Een kolom uit een tabel verwijderen ALTER TABLE eredivisie DROP COLUMN stadion; ALTER TABLE eredivisie DROP COLUMN stadion; club Ajax PSV NAC AZ club Ajax PSV NAC AZ stadion

Structuur van tabellen wijzigen Dit kan niet. Er wordt in de definitie van WEDSTRIJD twee keer naar verwezen. ALTER TABLE eredivisie DROP COLUMN club; ALTER TABLE eredivisie DROP COLUMN club;

Structuur van tabellen wijzigen U kunt een kolomtype wijzigen met ALTER TABLE wedstrijd ALTER COLUMN datum TEXT(20); ALTER TABLE wedstrijd ALTER COLUMN datum TEXT(20); Dit gaat alleen goed als de gegevens te converteren zijn. Als dat niet mogelijk is gaat de wijziging niet door.

Structuur van tabellen wijzigen U kunt een constraint aan een tabel toevoegen met ALTER TABLE wedstrijd ADD CONSTRAINT a1 PRIMARY KEY (datum, thuis); ALTER TABLE wedstrijd ADD CONSTRAINT a1 PRIMARY KEY (datum, thuis); Merk op dat de constraint een naam moet hebben (hier a1).

Structuur van tabellen wijzigen U kunt een constraint verwijderen met ALTER TABLE wedstrijd DROP CONSTRAINT a1; ALTER TABLE wedstrijd DROP CONSTRAINT a1;