Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdElke ten Hart Laatst gewijzigd meer dan 8 jaar geleden
1
Wat is SQL (1)? SQL (Structured Query Language): is een zeer krachtige taal met een beperkt vocabulaire (aantal ‘woorden’) is declaratief (‘WAT’ niet ‘HOE’ !!!) werkt met verzamelingen (Engels:’set’) input : tabel(len) -> output (tabel) heeft een hoger abstractieniveau dan 3GL zoals Java,C,...
2
Wat is SQL (2)? er zijn 3 soorten SQL bewerkingen: DDL (data definition language) bijv. CREATE TABLE.... DML (data manipulation language) bijv. SELECT.... DCL (data control language) bijv. GRANT USER
3
SQL DDL: Definitie van de database structuur definieer : tabellen, kolommen + domein, sleutels met SQL (DDL), bijv : CREATE TABLE patient( PAT# smallint not null, PNAAM char(32), LEEFTIJD smallint, GESLACHT char(1), ARTS char(32), primary key (PAT#));
4
Domeinen (datatypen) Voorbeelden: CHAR (n), VARCHAR (n) INTEGER, SMALLINT, TINYINT DATE, TIME, TIMESTAMP (user defined types)
5
Sleutels primaire sleutel (key): kolom (of combinatie van kolommen) die als unieke identificatie van de rijen in een tabel wordt gebruikt kandidaat sleutel alternatieve sleutel
6
NULL null : onbepaald, niet gespecificeerd heeft niets te maken met 0 null waarden kun je niet vergelijken
7
Definitie van database structuur: constraints DOEL : integriteit van de database HOE : definitie van constraints domein (datatype) en ‘CHECK’ statement Bijv.: CREATE TABLE PATIENT (....., GESLACHT char(1) NOT NULL CHECK( GESLACHT IN (‘M’,’V’)) );
8
Referentiele Integriteit spelernsnr in TEAMS verwijst altijd naar een bestaand spelersnr in SPELERS primary keyforeign key
9
CREATE TABLE teams ( teamnr SMALLINT NOT NULL, spelersnrSMALLINT NOT NULL, divisieCHAR(6) NOT NULL, PRIMARY KEY (teamnr), FOREIGN KEY (spelersnr) REFERENCES spelers (spelersnr) ); Referentiele Integriteit : referenties aangeven bij CREATE
10
1e keer vullen van de database importeren (in MySQL bijv. als tab- delimited tekstfile) tekst-file met INSERT statements met de hand (command-line)
11
Manipuleren van gegevens Toevoegen regel dmv INSERT INSERT INTO patient VALUES (23, ’Jansen’, 32, ’M’, ’Oei’);
12
Manipuleren van gegevens Het aanpassen van een data in een kolom: UPDATE patient SET naam = ‘Pietersen’ WHERE Patientnr = 23;
13
Manipuleren van gegevens Het verwijderen van regels DELETE FROM patient WHERE leeftijd>30;
14
Manipuleren van gegevens Het tonen van regels SELECT * FROM patient WHERE leeftijd>30;
15
Manipuleren van gegevens Nogmaals : met SQL DML manipuleer je complete tabellen als verzamelingen!!! (dus NIET de individuele rijen) voor ELKE bewerking geldt: input : 1 of meer tabellen output : 1 tabel Dit is de formele basis van SQL
16
RELATIONELE ALGEBRA
17
Relationele Algebra: projectie (SELECT) SELECT kenteken FROM verz
18
Relationele Algebra: selectie (SELECT... WHERE..) SELECT * FROM verz WHERE naam = ‘jan’ selectie van rijen die aan voorwaarde voldoen
19
Relationele Algebra: product of JOIN SELECT * FROM man, vrouw alle mogelijke combinaties!
20
Natural JOIN verschillende typen JOIN later behandeld natural join: SELECT student.snaam,opleiding.onaam FROM student, opleiding WHERE student.opl=opleiding.opl;
21
SELECT (1) ::= [ ]
22
SELECT (2) SELECTPNAAM,LEEFTIJD [kolommen] FROM PATIENT [tabel] WHERE LEEFTIJD > 50; [voorwaarde voor rij]
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.