Documente Academic
Documente Profesional
Documente Cultură
SQL
Origines et Evolutions
SQL1 86: la base
SQL1 89: l'intgrit
1. Origines et Evolutions
SQL est driv de l'algbre relationnelle et de SEQUEL
Il a t intgr SQL/DS, DB2, puis ORACLE,
INGRES,
Il existe trois versions normalises, du simple au
complexe :
Oprations
Oprations de base
Oprations additionnelles
G. Gardarin
Organisation du Langage
SQL comprend quatre parties :
Le langage de dfinition de schma (Tables, Vues,
Droits)
Le langage de manipulation (Slection et mises jour)
La spcification de modules appelables (Procdures)
L'intgration aux langages de programmation (Curseurs)
G. Gardarin
SQL1 - 86
LANGAGE DE DEFINITIONS DE DONNEES
CREATE TABLE
CREATE VIEW
SELECT
INSERT
UPDATE
DELETE
OPEN
FETCH
CLOSE
G. Gardarin
GRANT et REVOKE
BEGIN et END TRANSACTION
COMMIT et ROLLBACK
Base de Donnes
Collection de tables et de vues dans un schma
VITICULTEURS (NVT, NOM, PRENOM, VILLE, REGION)
VINS (NV, CRU, MILLESIME, DEGRE, NVT, PRIX)
BUVEURS (NB, NOM, PRENOM, VILLE)
ABUS (NV, NB,DATE,QTE)
GROS_BUVEURS (NB, NOM, PRENOM)
G. Gardarin
Restriction :
G. Gardarin
G. Gardarin
G. Gardarin
G. Gardarin
G. Gardarin
SELECT CRU
FROM VINS V
WHERE V.V# <> ALL (
SELECT C.V#
FROM COMMANDES C )
Requte Union
Q10 :Donner le numro et le cru des vins commands plus
de 100 fois ou bien jamais commands
( SELECT V.V#, V.CRU
FROM VINS V, COMMANDES C
WHERE V.V# = C.V#
GROUP BY V.V#
HAVING COUNT(C.C#) > 100 )
UNION
( SELECT V#, CRU
FROM VINS
WHERE V# NOT IN (SELECT V# FROM COMMANDES) )
G. Gardarin
Utilisation de SQL
depuis un langage de prog.
Intgration de deux systmes de types
SELECT
G. Gardarin
Curseur
SGBD
UPDATE
DELETE
G. Gardarin
Commande INSERT
INSERT INTO <relation name>
[( attribute [,attribute] )]
{VALUES <value spec.> [, <value spec.>] | <query spec.>}
Exemples
G. Gardarin
Commande UPDATE
UPDATE <relation name>
SET <attribute = {value expression | NULL}
[<attribute> = {value expression | NULL}]
[WHERE <search condition>]
EXEMPLE
G. Gardarin
UPDATE ABUS
SET QTE = QTE * 1.1
WHERE ABUS.NV IN
SELECT NV
FROM VINS
WHERE CRU = 'VOLNAY' AND MILLESIME = 1990
Commande DELETE
DELETE FROM <relation name>
[WHERE <search condition>]
EXEMPLE
G. Gardarin
4. Contraintes d'intgrit
Contraintes de domaine
Cl et unicit
G. Gardarin
SQL1 - 89 : INTEGRITE
VALEURS PAR DEFAUT
CONTRAINTES DE DOMAINES
G. Gardarin
SQL1 - 89 :
Contrainte rfrentielle
Cl primaire et contrainte rfrentielle
G. Gardarin
celle de VITICULTEURS
G. Gardarin
5. CONCLUSION
SQL1 est un standard minimum
Les versions tendues:
G. Gardarin
LA NORMALISATION DE SQL
Groupe de travail ANSI/X3/H2 et ISO/IEC JTC1/SC2
Documents ISO :
Arguments pour :
Arguments contre :
G. Gardarin
G. Gardarin
SQLCODE (0 ou <0 si
erreur)
Requtes imbriques
Dynamique SQL (Prepare,
Execute)
Mta-base normalise
Modles internes (Index,
Espaces,)
SQL
VENDEUR.1
SQL
SQL
VENDEUR.2
STANDARD
SQL
VENDEUR.3