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.

Slides:



Advertisements
Verwante presentaties
SQL deel 2: datamodel ontwerp
Advertisements

Module 7 – Hoofdstuk 5 (1) SQL – een begin.
Meerdere tabellen: Relaties en Joins
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.
Relationele databases en
Databases Informatica Ga verder met een muisklik. SQL FCO DBMS NE FA
Module 7 – Hoofdstuk 5 (4) SQL – voorwaarden aan groepen en meerdere tabellen.
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`
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Het selecteren van data uit meerdere gekoppelde tabellen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Relationele Databases
Relationele Databases Hoofdstuk 10
Databases.
<Mdl01 hoorcollege 1>
LauwersCollege Buitenpost Informatica
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
Download en installeer de gereedschappen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Vorige week: Referentiele integriteit
SQL (structured Query Language) DDL (Data Definition Language) DML (Data Manipulation Language) Ontwerp databaseBevraag database.
Databases I Relationeel Model Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002.
Workshop PHP Een productencatalogus Met database.
Statistische functies (aggregaatfuncties)
Lesplanning Binnenkomst Intro Vragen huiswerk Uitleg docent 1.3 Zelfstandig werken, met radio?? Afsluiting van de les. Lokaal verlaten.
Grafieken, organigrammen
Hoofdstuk 4: Statistiek
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.
24/04/2015IT-Assurance1 IT-Assurance deeltijd 4. Inleiding SQL Introductie in de basisfuncties Bijbehorend lesmateriaal: -AIV-boek van Derksen en Crins.
1 Attributen Datamodellering Attribuut legt één feit vast over een entiteit  atomair overloaded attributes splitsen, b.v. NAW-gegevens correspondeert.
Hoofdstuk 11 Databasemanagementsystem. hoofdstuk 112 STROKENDIAGRAMMEN llnrvoornaamtussenvachternaamstraathuisnummerpostcodeplaatstelefoongeslachtgebdatumklas.
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.
BIMAIV03 Les A1 BIMAIV03 Les A1 Databases. De gegevens in een database vormen de grondstof voor informatie De informatie wordt opgevraagd in de taal met.
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.
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.
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.
BIMAIV03 Les A6 BIMAIV03 Les A6. Het resultaat van een query (1) BOEKEN SELECT MAX(prijs) FROM boeken; SELECT MAX(prijs) FROM boeken; BOEKNRTITELUITGEVERPRIJS.
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.
DBS22 - Recap PL/SQL Wilrik R1_4.44
– Software development fundamentals
SQL Cursus deel
LauwersCollege Buitenpost Informatica
Goochelen met Google Zoeken
Informatie-analyse 1: Er zijn veel manieren om een database te vullen
SQL Les 3 17 February 2019.
SQL Les 3 23 February 2019.
SQL Les 7 24 February 2019.
SQL Les 1 5 April 2019.
SQL Les 6 14 April 2019.
SQL Les 9 12 May 2019.
SQL Les 4 12 May 2019.
– Software development fundamentals
Transcript van de presentatie:

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 tabelnaam kolomnamen datatypen sleutel (primary key) kolombeperking tabelbeperking

CREATE TABLE boek (boeknr TEXT(5), titel TEXT(35), uitgever TEXT(10), prijs CURRENCY); Voorbeeld 1 boeknrtiteluitgever 02001Hack, Hacker, HackstAcServ 02002Warez voor DummiesBezBij 02013Het ABC van EmPeeDrieAcServ prijs 29,00 24,50 13,95 BOEK... CREATE TABLE boek (boeknr TEXT(5) PRIMARY KEY, titel TEXT(35), uitgever TEXT(10), prijs CURRENCY); kolombeperking

Alternatief boeknrtiteluitgever 02001Hack, Hacker, HackstAcServ 02002Warez voor DummiesBezBij 02013Het ABC van EmPeeDrieAcServ prijs 29,00 24,50 13,95 BOEK... CREATE TABLE boek (boeknr TEXT(5), titel TEXT(35), uitgever TEXT(10), prijs CURRENCY, PRIMARY KEY (boeknr)); tabelbeperking

Sleutel (6) CREATE TABLE soccerdreams (maand TEXT(10) PRIMARY KEY, naam TEXT(15) PRIMARY KEY, pt INTEGER); SOCCERDREAMS naampt Kluivert Davids Kluivert maand mei juni... sleutel

Sleutel (7) CREATE TABLE soccerdreams (maand TEXT(10), naam TEXT(15), pt INTEGER, PRIMARY KEY (maand, naam)); hier alleen tableconstraint mogelijk SOCCERDREAMS naampt Kluivert Davids Kluivert maand mei juni...

Samengestelde sleutel PEILING DatumPartijAantal 13 nov 2006CDA46 13 nov 2006VVD24 13 nov 2006PvdA33 15 nov 2006CDA44 15 nov 2006VVD22 15 nov 2006PvdA32 20 nov 2006CDA42 20 nov 2006VVD20 20 nov 2006PvdA38 CREATE TABLE peiling (datum DATE, partij TEXT(5), aantal INTEGER, PRIMARY KEY (datum, partij));

Maar als er meerdere kandidaatsleutels zijn? datumthuis FC Groningen Feyenoord NAC voor uit Ajax PSV AZ... tegen alternatieve sleutels HOLLAND_CASINO

Wat te doen om iets dergelijks te voorkomen? HOLLAND_CASINO datumthuis FC Groningen Feyenoord NAC voor uit Ajax AZ... tegen Mag niet...

Of zelfs dit? HOLLAND_CASINO datumthuis FC Groningen Feyenoord NAC voor uit Ajax PSV AZ... tegen Mag al evenmin

En wat hiervan te denken? HOLLAND_CASINO datumthuis Haarlem Feyenoord NAC voor uit FC Zwolle PSV AZ... tegen Geen EREDIVISIE

Al helemaal te gek... HOLLAND_CASINO datumthuis FC Groningen Feyenoord Ajax voor uit Ajax Feyenoord FC Twente... tegen Ontdek de 2 onmogelijkheden...

Eenvoudig beginnen EUROPA landhoofdstad NederlandAmsterdam BelgiëBrussel FrankrijkParijs... Alternatieve sleutel

UNIQUE CREATE TABLE europa (land TEXT(25) PRIMARY KEY, hoofdstad TEXT(25) UNIQUE); UNIQUE mag ook als tabelconstraint worden meegegeven! CREATE TABLE europa (land TEXT(25) PRIMARY KEY, hoofdstad TEXT(25), UNIQUE (hoofdstad));

... dus ook allemaal tabelconstraints CREATE TABLE europa (land TEXT(25), hoofdstad TEXT(25), PRIMARY KEY (land), UNIQUE (hoofdstad)); U ziet maar…

Naamgeving van CONSTRAINTS (1) CREATE TABLE europa (land TEXT(25), hoofdstad TEXT(25), CONSTRAINT oei PRIMARY KEY (land), CONSTRAINT ach UNIQUE (hoofdstad));

Naamgeving van CONSTRAINTS (2) CREATE TABLE europa (land TEXT(25) CONSTRAINT oei PRIMARY KEY, hoofdstad TEXT(25) CONSTRAINT ach UNIQUE);

Verplicht invullen (1) boeknrtiteluitgever 02018PowerPoint voor DocentenMeulenh 02019Smashing WindowsMeulenh 02013SQL voor Playstation2AcServ prijs 23,95 BOEK... Neem aan dat de titel en de uitgever van elk boek bekend is maar dat we niet van elk boek de prijs hoeven te weten.

Verplicht invullen (2) boeknrtiteluitgever 02018PowerPoint voor DocentenMeulenh 02019Smashing WindowsMeulenh 02013SQL voor Playstation2AcServ prijs 23,95 BOEK... INSERT INTO boek VALUES ('02018', 'Powerpoint voor Docenten', 'Meulenh', NULL); INSERT INTO boek VALUES ('02018', 'Powerpoint voor Docenten', 'Meulenh', NULL);

Verplicht invullen (3) INSERT INTO boek VALUES ('02019', NULL, 'Meulenh', NULL); INSERT INTO boek VALUES ('02019', NULL, 'Meulenh', NULL); boeknrtiteluitgever 02018Powerpoint voor DocentenMeulenh 02019Meulenh 02013SQL voor Playstation2AcServ prijs 23,95 BOEK... Mag niet... Hoe dit te voorkomen?

NOT NULL CREATE TABLE boek (boeknr TEXT(5) PRIMARY KEY, titel TEXT(35) NOT NULL, uitgever TEXT(10) NOT NULL, prijs CURRENCY); NOT NULL is uitsluitend te gebruiken als kolombeperking. NOT NULL is impliciet aanwezig bij kolommen die onderdeel zijn van de PRIMARY KEY. Dit geldt niet voor kolommen die deeluitmaken van een UNIQUE-constraint.

NOT NULL CREATE TABLE europa (land TEXT(25) PRIMARY KEY, hoofdstad TEXT(25) UNIQUE NOT NULL); NOT NULL mag ook als CONSTRAINT whow NOT NULL

Domeinbeperkingen (1) We noemen de range van waarden die een kolom aan mag nemen het DOMEIN van de kolom. Voorbeelden: een tentamencijfer is steeds een geheel getal (type INTEGER) maar niet elk geheel getal is toegestaan; een leverdatum (type DATE) is altijd groter dan de besteldatum; het aantal doelpunten (type INTEGER) is nooit een negatief aantal.

Domeinbeperkingen (2) We kunnen aan het tentamencijfer een voorwaarde stellen. Bijvoorbeeld: cijfer > 0 én cijfer <= 10 cijfer > 0 én cijfer <= 10 of cijfer  {1, 2, 3,..., 10} cijfer  {1, 2, 3,..., 10} cijfer > 0 AND cijfer <= 10 of cijfer IN (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

CHECK Bij de tabeldefinitie geven we deze voorwaarde mee in de vorm van een CHECK-constraint. CREATE TABLE cijferlijst (studentnr TEXT(7), modcode TEXT(5), datum DATE, cijfer INTEGER, CHECK (cijfer > 0 AND cijfer <= 10)); Let op de haakjes

CHECK (2) CREATE TABLE cijferlijst (studentnr TEXT(7), modcode TEXT(5), datum DATE, cijfer INTEGER NOT NULL, PRIMARY KEY (studentnr, modcode, datum), CHECK (cijfer > 0 AND cijfer <= 10));

CHECK (3) Check-constraints mogen in JetSQL alleen als tabelbeperkingen worden opgegeven. In Jet SQL mogen check-constraints andere tabellen raadplegen of zelfs meerdere rijen uit de tabel zelf betreffen.

Voorbeeld Een zeilcruise in de Caribische Oceaan telt maximaal 20 deelnemers. Voor iedere boeking geldt dat de naam en verdere persoonsgegevens van de deelnemer genoteerd worden. De tabel die zo ontstaat kan maximaal 20 rijen bevatten. Hoe realiseer je dit? CREATE TABLE cruise (nr TEXT(7) PRIMARY KEY, naam TEXT(20), CHECK ((SELECT COUNT(*) FROM cruise) < 21));

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