Académique Documents
Professionnel Documents
Culture Documents
Langage SQL
Langage de Définition de Données (LDD)
I. Partie théorique
1. Présentation du langage SQL
SQL (Structured Query Language) est un langage qui permet à l’utilisateur de spécifier ses
interrogations en termes de résultats sans avoir à décrire les procédures à suivre pour obtenir
ces résultats.
SQL fournit un ensemble de commandes pour une variété de tâches, dont :
- L’interrogation de la base de données
- L’insertion, la mise à jour et la suppression des données dans la base de données
- La création et la modification du schéma de la BD
- La définition de vues
- Le contrôle d’accès aux données
- La création d'index pour accélérer les interrogations
Une commande SQL est aussi appelée instruction SQL ou requête SQL.
En tant que langage d’accès aux données, SQL se compose de trois sous-ensembles
d’instructions:
- SQL est un langage de définition de données (LDD) : Il permet de créer
des tables dans une base de données relationnelle, ainsi que d'en modifier ou
supprimer.
- SQL est un langage de manipulation de données (LMD) : il permet de
sélectionner, insérer, modifier ou supprimer des données dans une table d'une base de
données relationnelle.
- SQL est un langage de contrôle de données (LCD). :Il est possible avec SQL de
définir des permissions au niveau des utilisateurs d'une base de données.
1
Atelier Base de données ISET Bizerte
Les contraintes sur une table portent sur un ensemble d’attributs d’une même table :
-Unique (attribut1, attribut2,…) : l’unicité porte sur la combinaison des valeurs de tous les
attributs cités entre les parenthèses.
- Primary key (attribut1, attribut2,…) : la clé primaire de la table est une clé composée
- Foreign key (attribut1, attribut2,…) references table (attribut1, attribut2,…) [on delete
cascade] : désigne une clé étrangère composée de plusieurs attributs.
2
Atelier Base de données ISET Bizerte
L’option on delete cascade indique que la suppression d’une ligne de la table référencé va
entrainer la suppression automatique des lignes référencées
2.3 Création de la table
Au moment de la création de la table, le nom d’une table doit être unique dans la base de
données et le nom de l’attribut doit être unique dans une table.
Exemple :
Soit la bases de données club de voiles composée de quatre tables : compétition, catégorie
membre et résultat.
3
Atelier Base de données ISET Bizerte
Exemple :
describe compétition
2.4 Modification de la structure d’une table
2.4.1 Supression d’une table
La clause cascade constraints permet de supprimer toutes les intégrités réferentielles qui
reférent aux clés de la relation supprimée.
2.4.2 Ajout d’un attribut
Exemple :
Alter table compétition
add duréecompet number (15)
4
Atelier Base de données ISET Bizerte
Exemple :
Alter table compétition
drop column duréecompt
2.4.3 Modification d’un attribut existant
Exemple :
Alter table compétition
modify initcompt varchar2(40)
2.4.4 Ajout d’une contrainte
Exemple :
Alter table Membre
add constraint datenaissance check (age>=18)
2.4.5 Desactivation d’une contarinte
Exemple :
Alter table Membre
disable constraint datenaissance
2.4.6 Activation d’une contarinte
5
Atelier Base de données ISET Bizerte
Exemple :
Alter table Membre
enable constraint datenaissance
2.4.5 Suppression d’une contrainte
Exemple :
Alter table Membre
drop constraint datenaissance
II. Partie pratique
Soit le schéma relationnel suivant :
Fournisseur (NF, NomF, Ville, Statut)
Pièces (NP, NomP, Ville, Prix)
Projets (NJ, NomJ, Ville, Debut)
Réalisation (#NF, #NP, #NJ, Qte)
1. Créer la table Fournisseur et attribuer les propriétés NOT NULL et UNIQUE à sa clé NF.
2. Créer la table Pièces et définir la contrainte pkNP de la clé primaire NP
3. Créer la table Projets sans définir les contraintes
4. Créer la table Réalisation en spécifiant la contrainte pkFPJ de la clé primaire PJ et la
contrainte fkNF de la clé étrangère NF (Ne pas définir les contraintes sur les autres clés
étrangères)
5. Ajouter l’attribut fin à la table projets
6. Ajouter des attributs Couleur et Poids à la table Pièces.
6
Atelier Base de données ISET Bizerte