Académique Documents
Professionnel Documents
Culture Documents
ENIB 2017/2018
Chapitre 4 :
1. Généralités
Généralités
Une Requête =
- Une Cible : données à fournir à l’utilisateur
- Une Qualification : spécification des propriétés que doivent satisfaire les
données pour être retenues par la requête
Généralités
Langage de requêtes
SQL = Structured Query Language
Langage de requêtes
SQL = Structured Query Language
SQL comprend
– Un langage de définition des données (LDD)
– Un langage de contrôle de données (sécurité) (LDD)
– Un langage d’interrogation des données (LMD)
– Un langage de manipulation des données (LMD)
Plusieurs versions
de SQL
Généralités
Plan
• Types de données
• Définition et contrôle de tables et de contraintes(LDD)
• Définition et manipulation de données (LMD)
Généralités Types de
données
2. Types de données
Généralités Types de
données
Type de données
Types numériques :
- Entier: INT, SMALLINT
- Réel: NUMBER, REAL, FLOAT, NUMERIC (n,d)
Type texte
- Chaîne de caractères de longueur fixe: CHAR
- Chaîne de caractère de longueur variable: VARCHAR
Type date
– DATE
– TIME
– TIMESTAMP
Généralités Type de LDD-
données Définition
Exemple
CREATE TABLE Film (
idFilm INTEGER,
nom VARCHAR (50),
année INTEGER,
codePays INTEGER,
);
Généralités Type de LDD-
données Définition
• CHECK est un mot associé à une condition qui doit être vérifiée pour
chaque valeur insérée
Généralités Type de LDD-
données Définition
Exemple
CREATE TABLE Internaute
(
email VARCHAR (50) PRIMARY KEY,
nom VARCHAR (20),
prenom VARCHAR (20),
motDePasse VARCHAR (60) ,
dateNaissance DATE,
CONSTRAINT pk_internaute PRIMARY KEY(email)
);
Généralités Type de LDD-
données Définition
Exemple:
CREATE TABLE Internaute
(
email VARCHAR (50) NOT NULL,
nom VARCHAR (20) NOT NULL,
prenom VARCHAR (20),
motDePasse VARCHAR (60) NOT NULL,
dateNaissance DATE,
CONSTRAINT pk_internaute PRIMARY KEY(email)
);
Généralités Type de LDD-
données Définition
Récapitulons
CREATE TABLE Internaute
(
Un attribut doit toujours
email VARCHAR (50) NOT NULL,
avoir une valeur.
nom VARCHAR (20) NOT NULL,
prenom VARCHAR (20),
motDePasse VARCHAR (60) NOT NULL,
dateNaiss DATE,
PRIMARY KEY (email))
);
Contrainte de clé
CREATE TABLE Artiste ( primaire
idArtiste INTEGER NOT NULL,
nom VARCHAR (30) NOT NULL,
prenom VARCHAR (30) NOT NULL, Contrainte d’unicité: On
anneeNaiss INTEGER, spécifie que la valeur d’un attribut
est unique pour l’ensemble de la
PRIMARY KEY (idArtiste), colonne.
UNIQUE (nom, prenom));
Généralités Type de LDD-
données Définition
Récapitulons
CREATE TABLE Film
(
idFilm INTEGER NOT NULL,
nom VARCHAR (50) NOT NULL,
année INTEGER NOT NULL,
idArtiste INTEGER,
Référence la clé
codePays INTEGER, primaire de la table
PRIMARY KEY (idFilm), Artiste
FOREIGN KEY (idArtiste) REFERENCE Artiste,
FOREIGN KEY (codePays) REFERENCE Pays
);
Généralités Type de LDD-
données Définition
Correction
CREATE TABLE Livre
(idLivre INTEGER ,
nomLivre VARCHAR(20),
ISBN CHAR(6),
etatLivre VARCHAR(10) in (bon, moyen , mauvais),
nombrePages INT,
PRIMARY KEY(idLivre));
Exemple :
DROP TABLE Internaute ;
4. LMD- Langage de
manipulation des données
Partie 1 – Définition et
manipulation de données
Généralités Type de LDD- LDD- LMD-
données Définition Modification Définition
Insertion de lignes
clause INSERT INTO … VALUES
ou
INSERT INTO <nom_table> (attr1, attr2, …, attrm)
VALUES (v1, v2,…, vm)
Exemple
INSERT INTO internaute
VALUES(’soumeya@yahoo.fr ’, ’Soumeya’, ’Gafsi’, ’15/05/1984’);
INSERT INTO internaute
VALUES(’ahmed@planet.tn’, ’Ahmed’, ’BenSaleh’, ’15/06/1980’);
Attention :
Les données de type texte ou date doivent être entre ' '.
Généralités Type de LDD- LDD- LMD-
données Définition Modification Définition
Insertion de lignes
clause INSERT INTO … SELECT
Syntaxe :
INSERT INTO <nom_table>
SELECT …
Remarque : Si une valeur n'est pas précisée pour un attribut qui n’est
pas obligatoire, alors le système insère la valeur NULL ou ce qui a été
spécifié dans la clause DEFAULT du CREATE TABLE.
Généralités Type de LDD- LDD- LMD-
données Définition Modification Définition
Exemple:
CREATE TABLE Film1998
(
idFilm INTEGER NOT NULL,
nom VARCHAR (50) NOT NULL,
année INTEGER NOT NULL,
IdArtiste INTEGER,
codePays INTEGER,
PRIMARY KEY (idFilm),
FOREIGN KEY (idArtiste) REFERENCE Artiste,
FOREIGN KEY (codePays) REFERENCE Pays
);
Exemple :
DELETE FROM Film;
WHERE codepays=1;
UPDATE Internaute
SET motDePasse=‘h1998’
WHERE email=ahmed@yahoo.fr;
Généralités Type de LDD- LDD- LMD- LMD- Mani-
données Définition Modification Définition pulation
Synthèse
Nous avons vu :
• Création et modification de tables
– CREATE TABLE, ALTER TABLE, DROP TABLE
• Création et modification de contraintes
– PRIMARY KEY, NOT NULL, FOREIGN KEY
• Création et modification de données
– INSERT, UPDATE, DELETE