Télécharger la présentation
1
Le langage SQL
2
SQL : plusieurs facettes
Une syntaxe simple Un langage Déclaratif/Associatif Un seul langage pour l’Interrogation, la Manipulation, la Définition et de le Contrôle des données
3
SQL : plusieurs facettes
Définition des données: Create , Drop, alter, rename Interrogation de données: select Modifications de données: Insert, Upadate, Delete Gestion des transactions: Commit, rallback Contrôle des données : Grant Revoke
4
SQL : Langage de définition de données
5
Plan Types de données Création et modification de tables
Création et modification de contraintes Création et modification de données
6
Types de données
7
Types de données Type numérique
Entier: INTEGER INT SMALLINT NUMBER() Réel: DECIMAL (NUMBER – Oracle) REAL (ex : 3.27E-4, 24E5 ) DOUBLE PRECISION FLOAT NUMERIC(n,d)
8
Types de données Type texte
Chaîne de caractères de longueur fixe: CHARACTER() CHAR () Chaîne de caractère de longueur variable: CHARACTER VARYING() VARCHAR()
9
Types de données Type date
DATE (Oracle) (ex: ‘ ’) DATETIME (SQLServer) TIME (Ex: '14:04:32.25‘ ) TIMESTAMP ( ex: ' :04:32.25)
10
Types de données Autres types (liés à l'implémentation)
Monétaire: CURRENCY MONEY (SQL Server) Booléen: LOGICAL
11
Création et modification de tables (LDD)
12
Création de table clause CREATE TABLE
La clause permet de créer une structure de stockage. Syntaxe CREATE TABLE <nomtable> ( <nomattribut> <type> [[ DEFAULT <valeurdéfaut> ] [[ CONSTRAINT <nomcontrainte>] <contrainte_attr>], ……………………………………………………………..., [[ CONSTRAINT <nomcontrainte>] <contrainte_tab>], …………………………………………………………… ) A t r i b u s C o n t r a i e S de tables
13
CREATE TABLE Exemple Oracle
CREATE TABLE Entreprise ( id_entreprise INTEGER, nom VARCHAR(30) ); CREATE TABLE Employé ( id_employe INTEGER, nom VARCHAR(30), prenon VARCHAR(20), pays VARCHAR(10) DEFAULT ‘Maroc', Salaire_base NUMERIC(5,2)
14
CREATE TABLE Exemple SQL Server
CREATE TABLE Entreprise ( id_entreprise INTEGER, nom VARCHAR(30) ); CREATE TABLE Employé ( id_employe INTEGER, nom VARCHAR(30), prénom VARCHAR(20), pays VARCHAR(10) DEFAULT ‘Maroc', Salaire_base MONEY
15
Syntaxe de spécification De Colonne
15
16
Modification de table clause ALTER TABLE
La clause ALTER TABLE permet : d'ajouter un attribut de supprimer un attribut de modifier un attribut d'ajouter une contrainte de supprimer une contrainte
17
clause ALTER TABLE (Oracle)
Syntaxe Oracle: ALTER TABLE <nom_table> ADD <definition_attribut> MODIFY <definition_attribut> DROP <nom_attribut> ADD <definition_contrainte> DROP <nom_contrainte> Exemples ALTER TABLE Entreprise ADD adresse VARCHAR(20); MODIFY adresse VARCHAR(30);
18
clause ALTER TABLE (SQL Server)
Syntaxe SQL Server: ALTER TABLE <nom_table> ADD <definition_attribut> DROP COLUMN <nom_attribut> ALTER COLUMN <nom_attribut> <type_données> ADD CONSTRAINT <definition_contrainte> DROP CONSTRAINT <nom_contrainte> Exemples ALTER TABLE Entreprise ADD adresse VARCHAR(20); ALTER COLUMN adresse VARCHAR(30);
19
Suppression d'une table clause DROP TABLE
La clause DROP TABLE supprime une table. Syntaxe : DROP TABLE <nomtable>; Exemple : DROP TABLE Employe ; Attention: on ne peut supprimer une table, dont la clé primaire est une clé étrangère dans une autre table, avant cette autre table.
20
Création et modification de contraintes (LDD)
21
Définition des contraintes clause CREATE TABLE
Syntaxe A t r i b u s CREATE TABLE <nom_table> ( <nom_attribut> <type> [ DEFAULT <valeur_défaut> ], [[ CONSTRAINT <nom_contrainte> ]<contrainte> ], …, [ CONSTRAINT <nom_contrainte> <contrainte> ] ) C o n t r a i e s
22
Contrainte de clé clause PRIMARY KEY
L’attribut (ou le groupe d’attributs) doit avoir une valeur unique et identifier un tuple de manière unique Exemple CREATE TABLE entreprise ( id_entreprise INTEGER CONSTRAINT pk_entreprise PRIMARY KEY, nom VARCHAR(20) ); Ou (contrainte de table) : CREATE TABLE entreprise ( id_entreprise INTEGER, nom VARCHAR(20), CONSTRAINT pk_entreprise PRIMARY KEY(id_entreprise) );
23
Contrainte de non nullité clause NOT NULL
L’attribut ne peut pas prendre de valeur nulle, il doit être toujours renseigné. Exemple: CREATE TABLE Employe ( id_employe INTEGER CONSTRAINT pk_employe PRIMARY KEY, nom VARCHAR(30), prénom VARCHAR(20), pays VARCHAR(10) DEFAULT ‘Maroc', id_entreprise INTEGER, Salaire_base MONEY CONSTRAINT nn_salaire NOT NULL);
24
Contrainte d'unicité clause UNIQUE
L’attribut (ou le groupe d’attributs) doit avoir une valeur unique. Exemple: CREATE TABLE Entreprise ( id_entreprise NUMERIC(4) CONSTRAINT pk_entreprise PRIMARY KEY, nom VARCHAR(20) CONSTRAINT unq_nom UNIQUE ); Ou (contraintes de table): id_entreprise NUMERIC(4), nom VARCHAR(20), CONSTRAINT pk_entreprise PRIMARY KEY(id_entreprise), CONSTRAINT unq_nom UNIQUE(nom) );
25
Contrainte référentielle clause REFERENCES
Toute valeur d'un attribut ou d'un groupe d'attributs, appelé clé étrangère, doit exister dans une autre table. Exemple: CREATE TABLE Employé ( id_employe INTEGER CONSTRAINT pk_employe PRIMARY KEY, nom VARCHAR(30), prénom VARCHAR(20), pays VARCHAR(10) DEFAULT ‘Maroc', id_entreprise INTEGER CONSTRAINT fk_employe_entreprise Foreign KEY REFERENCES entreprise(id_entreprise), Salaire_base MONEY CONSTRAINT nn_salaire NOT NULL );
26
Contrainte de domaine clause CHECK
spécifie les valeurs que peut prendre un attribut d’une relation. Exemple: CREATE TABLE Employé ( id_employe INTEGER CONSTRAINT pk_employe PRIMARY KEY, nom VARCHAR(30), prénom VARCHAR(20), Echelle Varchar(10) CONSTRAINT check_Echelle CHECK (Echelle IN (‘Cadre', ‘Technicien’ ), pays VARCHAR(10) DEFAULT ‘Maroc', id_entreprise INTEGER, Salaire_base MONEY );
27
Contrainte référentielle et suppression clause ON DELETE CASCADE
Si le tuple référencé est supprimé alors tous les tuples qui le référencent sont supprimés également. Exemple : CREATE TABLE Employé ( id_employe INTEGER CONSTRAINT pk_employe PRIMARY KEY, nom VARCHAR(30), prénom VARCHAR(20), pays VARCHAR(10) DEFAULT ‘Maroc', id_entreprise INTEGER CONSTRAINT fk_employe_entreprise Foreign KEY REFERENCES entreprise(id_entreprise) ON DELETE CASCADE, Salaire_base MONEY CONSTRAINT nn_salaire NOT NULL);
28
Un autre exemple CREATE TABLE T_Vendeur(
noVendeur NUMERIC(6) CONSTRAINT pk_noVendeur PRIMARY KEY, nom VARCHAR(20) NOT NULL, alias VARCHAR(10) CONSTRAINT unq_alias UNIQUE, noAgence NUMERIC(4)CONSTRAINT fk_noAgence REFERENCES Agence(noAgence) ON DELETE CASCADE NOT NULL , comm CHAR(1) DEFAULT 'O' CHECK (comm IN ('O','N')), salaire NUMERIC(9,2), commission NUMERIC(5,2), CONSTRAINT chk_sal CHECK (commission<salaire), CONSTRAINT chk_comm CHECK ((comm='N' AND commission IS NULL) OR (comm='O' AND commission IS NOT NULL)) );
29
Suppression des contraintes clause ALTER TABLE
Syntaxe : ALTER TABLE <nomtable> DROP CONSTRAINT <nomcontrainte> Exemple : ALTER TABLE Employe DROP CONSTRAINT nn_salaire;
30
Synthèse
31
Synthèse Nous avons vu : Types de données
Oracle : NUMBER(p), NUMBER(p,s), VARCHAR(l), DATE SQL Server : INT, NUMERIC(n,d), VARCHAR(l), DATETIME Création et modification de tables CREATE TABLE, ALTER TABLE, DROP TABLE Création et modification de contraintes PRIMARY KEY, NOT NULL, FOREIGN KEY, CHECK Création et modification de données SELECT, INSERT, UPDATE, DELETE
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.