0% ont trouvé ce document utile (0 vote)
23 vues116 pages

Séance5 DB

Le chapitre 5 présente le langage SQL, en se concentrant sur le langage de définition des données (LDD) et ses commandes principales : create, alter et drop. Il décrit également les normes SQL, les types de données, ainsi que la syntaxe pour créer des tables et définir des contraintes. Des exemples pratiques illustrent l'utilisation de ces commandes dans un contexte de gestion de bases de données.

Transféré par

lydowid2
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
23 vues116 pages

Séance5 DB

Le chapitre 5 présente le langage SQL, en se concentrant sur le langage de définition des données (LDD) et ses commandes principales : create, alter et drop. Il décrit également les normes SQL, les types de données, ainsi que la syntaxe pour créer des tables et définir des contraintes. Des exemples pratiques illustrent l'utilisation de ces commandes dans un contexte de gestion de bases de données.

Transféré par

lydowid2
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 5

Langage SQL-LDD

Pr. M. Machkour
Objectifs
Présentation du langage SQL
Étudier le langage de définition des données : LDD
 La commande create
 La commande alter
 La commande drop

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 2


 Carte conceptuelle du chapitre 5

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 3


Présentation du langage SQL
SQL = Strucured Query Language : langage d'interrogation de bases de données relationnelles.

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 4


Présentation du langage SQL
SQL a remplacé
SEQUEL=Structured English as Query Language
=premier langage relationnel utilisé

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 5


Les nomes du langage SQL
 SQL devient une norme ANSI en 1986 SQL/86
 SQL devient une norme ISO en 1987 SQL/86
 Une autre norme SQL/89
Expression des contraintes d'intégrité : Primary key, check, references, default
 Une autre norme en 1992 SQL2
Expression des opérateurs ensemblistes: intersect , minus…outer join, cascade, date, temps
 La norme SQL3 (1999): les types de données abstraits, notion de rôle, les concepts de l'objet
 La norme SQL4(2003)…

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 6


Type du langage SQL
 SQL est un langage :
 de haut niveau
 déclaratif =formulation de la requête et le SGBD utilise les moyens et les procédures
adéquats pour obtenir le résultat
=>détails de stockage ne sont pas pris en considération par l'utilisateur.

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 7


Les commandes du langage SQL
SQL assure entre autres :
la création et la modification (structure) des objets de bases de données et les contraintes
associées (create, alter, drop),
l’interrogation et la maintenance(insertion, suppression et modification) des bases de
données (select, insert, delete, update) et
la sécurité des bases de données(contrôle des accès: grant, revoke).

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 8


Les commandes du langage SQL(suite)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 9


La commande create
=>Création des objets de base de données
Create:
 Base de données
 Table
 utilisateur
 Index
 Vues
 rôles
 Schéma

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 10


Création des tables
Table=relation
Create table nomTable (
champ1 type [default valParDéfaut] [contrainte_colonne],
champ2 type [default valParDéfaut] [contrainte_colonne],

[Contrainte_table1,]
[Contrainte_table2,]

);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 11


Création des tables
Table=relation
Create table nomTable (
champ1 type,
champ2 type,

);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 12


Exemple
Create table emp(
nemp number(4),
nom varchar2(20),
prénom varchar2(20),
genre char,
salaire number(10,2),
nserv number(2)
);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 13


Exemple
Connect system/test --connexion à la base

create user smi identified by smi quota unlimited on system --creation de l'utilisateur smi
/
grant create session, create table to fac --affectation des droits
/
Disconnect --déconnexion de system
Connect smi/smi -- connexion de smi

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 14


Exemple

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 15


Exemple

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 16


Exemple d'exécution

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 17


Exemple
MCD

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 18


Exemple
MLD ou bien MPhD

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 19


Création des tables
Table=relation
Create table nomTable (
champ1 type [contrainte_colonne],
champ2 type [contrainte_colonne],

);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 20


Exemple
Create table emp(
nemp number(4) primary key,
nom varchar2(20),
prénom varchar2(20),
genre char,
salaire number(10,2),
nserv number(2)
);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 21


Exemple
Create table emp(
nemp number(4) primary key,
nom varchar2(20),
prénom varchar2(20),
genre char,
salaire number(10,2),
nserv number(2) references service(nserv)
);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 22


Exemple
Create table emp(
nemp number(4) primary key,
nom varchar2(20),
prénom varchar2(20),
genre char,
salaire number(10,2),
nserv number(2) references service
);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 23


Exemple
Create table emp(
nemp number(4) primary key,
nom varchar2(20),
prénom varchar2(20),
genre char,
salaire number(10,2),
nserv references service(nserv)
);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 24


Exemple
Create table emp(
nemp number(4) primary key,
nom varchar2(20),
prénom varchar2(20),
genre char,
salaire number(10,2),
nserv references service
);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 25


Exemple d'exécution

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 26


Exemple
Create table emp(
nemp number(4) primary key,
nom varchar2(20),
prénom varchar2(20),
genre char,
salaire number(10,2),
nserv number(2) references service(nserv) on delete cascade);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 27


Exemple
Create table emp(
nemp number(4) primary key,
nom varchar2(20),
prénom varchar2(20),
genre char,
salaire number(10,2),
nserv number(2) references service(nserv) on
delete set null);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 28


Exemple
Create table emp(
nemp number(4) primary key,
nom varchar2(20),
prénom varchar2(20),
genre char check(genre in(‘f’,’m’,’F’,’M’)),
salaire number(10,2),
nserv number(2)
);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 29


Exemple
Create table emp(
nemp number(4) primary key,
nom varchar2(20),
prénom varchar2(20),
genre char check(genre in(‘f’,’m’,’F’,’M’),
salaire number(10,2),
nserv number(2) references service(nserv) on
delete cascade);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 30


Exemple
Create table emp(
nemp number(4) primary key,
nom varchar2(20),
prénom varchar2(20),
genre char check(genre in(‘f’,’m’,’F’,’M’),
salaire number(10,2),
nserv number(2) references service(nserv)
);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 31


Exemple
Create table emp(
nemp number(4) primary key,
nom varchar2(20),
prénom varchar2(20),
genre char check(genre in(‘f’,’m’,’F’,’M’),
salaire number(10,2),
nserv number(2) references service(nserv) on
delete cascade);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 32


Création des tables
Table=relation
Create table nomTable (
champ1 type [ default valeur ] [contrainte_colonne],
champ2 type [ default valeur ] [contrainte_colonne],

);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 33


Exemple
Create table emp(
nemp number(4) primary key,
nom varchar2(20),
prénom varchar2(20),
genre char default ‘m’,
salaire number(10,2) default 5000,
nserv number(2) references service(nserv) on
delete cascade);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 34


Description de la syntaxe
 nomTable et champi sont des identificateurs dont la taille <=30 et
commencent par une lettre , _ , $ ou #.
 La casse n'est pas respectée.
 type représente un type prédéfini ou défini par l'utilisateur

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 35


Les types prédéfinis en Oracle
Les types caractères
- Les constantes caractères littérales sont écrites entre apostrophes:
'ali'
- Le type char[(n)]=chaîne de caractères de longueur fixe, n est la taille
maximale de la chaîne(n<=2000)
la valeur par défaut de n est 1.
genre char=genre char(1).
- Le type varchar2(n)=chaîne de caractères de longueur variable, n est
la taille maximale de la chaîne(n<=4000).
- Le type varchar(n)=varchar2(n).

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 36


Les types prédéfinis en Oracle
 Les types numériques
- number = nombres réels >= et <=0 sur 40 chiffres. Les valeurs
absolues des nombres sont limitées entre 1.0E-130 et 1.0E126.
EX: salaire number
Les constantes numériques : 12, 12.3 , 12.9e-3

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 37


Les types prédéfinis en Oracle
Les types numériques
- number(p,d) = les nombre sur p chiffres avec d chiffres après la
virgule représentée par point(.).
p peut aller à 38.

EX: salaire number(10,2)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 38


Les types prédéfinis en Oracle
Les types numériques
- number(p) représente les entiers sur p chiffres.
C’est équivalent à number(p,0).

EX:
nemp number(4)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 39


Les types supportés(IBM, ANSI)
decimal équivalent à number(38).
decimal(n,p)
integer, int, smallint équivalent à number(38).
float(n)
Real

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 40


 Exemples de conversion de type
create table emps(
code int primary key,
nom varchar(10),
salaire decimal,
com decimal(10,2),
prime float(10),
allocFami real,
primeanc numeric(10,2),
nservice numeric)
/

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 41


Exemples de conversion de types

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 42


Les types prédéfinis en Oracle
Les types date
- date
EX:
dateNaissance date

- Valeur littérale de date


'12/11/2005' ou
'12-11-2005'

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 43


Les types prédéfinis en Oracle
Les types date
- timestamp[(fractionDeSeconde)]
contient date et heure
- fractionDeSeconde nombre de chiffres dans la fraction de
secondes<=9. par défaut est 6.
EX :
moment_début timestamp(3)

Constantes littérales:
'12/11/2005 [Link],100' ou
'12/11/2005 :10:30:20,100'

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 44


Exercice
Donner les commandes de création des tables suivantes:
- Filière(codeFilière, libellé,département)
- Etudiant(codeEtudiant, nom, prénom, dateNaissance, codeFilière)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 45


Description de la syntaxe(suite)
ContrainteColonne=[constraint nomContrainte]
TypeContrainteColonne
TypeContrainteColonne =
primary key|
unique |
[not] null |
Check (condition) |
References nomTable[(colonne) ] [on delete cascade|on delete set null]
[enable|disable]

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 46


Exemple
Create table emp(
nemp number(4) constraint cleEmp primary key ,
Nom varchar2(20) constraint uniNom unique,
Prénom varchar2(20),
Salaire number(10,2),
Genre char constraint valsGenre check(lower(genre) in(‘f’,’m’)),
Nserv number(2) constraint clEtrEmpServ references service(nserv) on delete cascade);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 47


Exemple
Create table emp(
nemp number(4) constraint cleEmp primary key disable,
Nom varchar2(20) constraint uniNom unique,
Prénom varchar2(20),
Salaire number(10,2),
Genre char constraint valsGenre check(lower(genre) in(‘f’,’m’)),
Nserv number(2) constraint clEtrEmpServ references service(nserv) on delete cascade);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 48


Exercice
Donner les commandes de création des tables suivantes avec nom des contraintes:
- Filière(codeFilière, libellé, département)
- Etudiant(codeEtudiant, nom, prénom, dateNaissance, codeFilière)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 49


Exemple
Create table emp(
nemp number(4) constraint clEmpl primary key ,
Nom varchar2(20),
Prénom varchar2(20),
Salaire number(10,2),
Genre char constraint valsGenre check(lower(genre) in(‘f’,’m’)),
Nserv number(2) constraint clEtrEmpServ references service(nserv) on delete cascade);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 50


 Exemple
Create table emp(nemp number(4) primary key,
Nom varchar2(20),
Prénom varchar2(20),
Genre char check(genre in(‘f’,’m’,’F’,’M’),
Salaire number(10,2),
Nserv references service(nserv) on delete cascade);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 51


Création des tables(suite)
Table=relation
Create table nomTable (
champ1 type [default valParDéfaut] [contrainte_colonne],
champ2 type [default valParDéfaut] [contrainte_colonne],

[Contrainte_table1,]
[Contrainte_table2,]

);

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 52


Description de la syntaxe(suite)
contrainteTable=[constraint nomContrainte] typeDeContrainteTable
typeDeContrainteTable=
primary key (col1,col2…)
| Foreign key(col1,col2…) references nomTable[(col1,col2)] [on delete
cascade| on delete set null]
| Unique(col1,col2…)
| Check(condition)
[enable|disable]

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 53


Exemple
Create table emp(nemp number(4),
Nom varchar2(20),
Prénom varchar2(20),
Salaire number(10,2),
Genre char,
Nserv number(2),
primary key(nemp),
foreign key(nserv) references service(nserv) on delete cascade,
check(genre in(‘f’,’m’)));

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 54


Exemple
Create table emp(nemp number(4),
Nom varchar2(20),
Prénom varchar2(20),
Salaire number(10,2),
Genre char,
Nserv number(2),
constraint clEmpl primary key(nemp),
Contraint clEtrEmpServ foreign key(nserv) references service(nserv) on delete cascade,
constraint valsGenre check(lower(genre) in(‘f’,’m’)));

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 55


Exercice
Donner les commandes de création des tables suivantes avec contraintes table non nommées:
- Filière(codeFilière, libellé,département)
- Etudiant(codeEtudiant, nom, prénom, dateNaissance, codeFilière)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 56


Exercice
Donner les commandes de création des tables suivantes avec contraintes table nommées:
- Filière(codeFilière, libellé,département)
- Etudiant(codeEtudiant, nom, prénom, dateNaissance, codeFilière)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 57


Index
Définition d’index
index = Moyen ou structure pour accélérer le temps de réponse dans une base de données.

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 58


Inconvénients d’index

 Espace mémoire suppl=lieu de stockage des valeurs de la colonne indexée et les adresses des
lignes associées

 Ralentissement de MAJ

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 59


Création d’index
Create index nomIndex on nomTable( col1 [asc|desc] )

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 60


Exemple
Create index idxnom on emp(nom asc)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 61


Création d’index unique
Create unique index nomIndex on nomTable (col1 [asc|desc] )

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 62


Exemple
Create unique index idxnom on emp (nom asc)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 63


Création d’index sur plusieurs colonnes
Create index nomIndex on nomTable ( col1 [asc|desc] [, col2 [asc|desc]…])

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 64


Exemple
Create index idxnomprénom on emp(nom asc, prénom desc)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 65


Création d’index basé sur une expression
Create [unique] index nomIndex on nomTable( expression [asc|desc] )

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 66


Exemple
Create index idxnom on emp(lower(nom) asc)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 67


Création d’index (syntaxe générale)
Create [unique] index nomIndex on nomTable( col1|expression1 [asc|desc]
[, col2|expression2 [asc|desc]…])

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 68


Remarque
Pour voir les objets créés, vous pouvez consulter la vue :
user_objects (object_name, object_Type…)
Pour voir les autres champs de cette vue, utiliser desc user_objects.
Vous pouvez aussi utiliser les vues user_tables, user_indexes, user_constraints…

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 69


Création des tables : table service
create table service(
nserv number(2) constraint cleService primary key,
libellés varchar(20) constraint uniqueLibellés unique)
/

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 70


Création des tables : table service

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 71


Création des tables : table employé
Create table emp(
nemp number(4) constraint clEmpl primary key ,
Nom varchar2(20),
Prénom varchar2(20),
Salaire number(10,2),
Genre char constraint valsGenre check(lower(genre) in('f','m')),
Nserv number(2) constraint clEtrEmpServ references service(nserv) on delete cascade)
/

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 72


Création des tables : table employé

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 73


Utilisation de user_objects
select object_name, object_type from user_objects
/

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 74


Utilisation de user_tables
select table_name from user_tables

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 75


Utilisation de user_constraints
select constraint_name, constraint_type, table_name from user_constraints
order by table_name desc ;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 76


Création des vues
Syntaxe
Create [or replace] [force|no force] view nomVue[(listeDeChamps)]
As
requêteSéléction
[With check option [constraint nomContrainte]] | [with read only];

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 77


 Exemple
Create view test
as
select * from emp where sal<10000;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 78


Création de schéma
Create schema authorization nom_schema
CréationDesTables
CréationDesVues
OctroiDePrivilèges

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 79


Création de BD
Create database nomBase
[Datafile…
Logfile…]
.
.
.

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 80


La commande alter
Alter=commande de modification des structures des objets de BD

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 81


Modification de table : renommer une table
Alter table nomTable Rename to nouveauNomDeTable

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 82


Exercice
Renommer la table emp par employe

Réponse
Alter table emp Rename to employé;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 83


Modification de table : renommer une colonne
Alter table nomTable Rename column nomColonne to nouveauNomColonne

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 84


Exercice
Renommer la colonne nemp de la table employé par codeEmp.

Réponse
Alter table employé Rename column nemp to codeEmp;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 85


Modification de table : ajouter un champ
Alter table nomTable
Add champ type [default valParDéfaut] [contrainteColonne]

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 86


Exercice
Ajouter le champ email à la table étudiant.

Réponse
Alter table étudiant
Add email varchar(50) unique;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 87


Exercice
Ajouter les champs adresse et ville à la table étudiant.
Réponse 1
Alter table étudiant
Add adresse varchar(50)
Add ville varchar(30);
Réponse 2
Alter table étudiant
Add (adresse varchar(50), ville varchar(30));

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 88


Modification de table : ajout de contraintes
Alter table nomTable
Add [constraint nomContrainte] typeDeContrainteTable

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 89


Exercice
Ajouter la contrainte (non nommée) de clé primaire à la table employé: prendre le champ
codeEmp.

Réponse
Alter table emp
Add primary key(codeEmp)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 90


Exercice
Ajouter la contrainte (nommée) de clé primaire à la table employé: prendre le champ
codeEmp.

Réponse
Alter table emp
Add cleEmp primary key(codeEmp)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 91


Exercice
Ajouter la contrainte (non nommée) de clé étrangère à la table employé: prendre le champ
nserv avec la table service.

Réponse
Alter table emp
Add foreign key(nserv) references service;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 92


Exercice
Ajouter la contrainte (nommée) de clé étrangère à la table employé: prendre le champ nserv
avec la table service.

Réponse
Alter table emp
Add Constraint etrEmpService foreign key(nserv) references service;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 93


Modification de table : plusieurs ajouts
Alter table nomTable
Add (champ1 type…|contrainteTable1, champ2 type…|contrainteTable2…)

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 94


Exercice
Ajouter le champ email et la contrainte de clé primaire à la table emp.

Réponse
Alter table emp
Add (primary key(codeEmp), email varchar(50));

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 95


Modification de table : suppression des champs
Alter table nomTable
Drop column champ;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 96


Exercice
Supprimer le champ email de la table étudiant.

Réponse
Alter table étudiant
Drop column email;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 97


Modification de table : suppression des champs avec contraintes associées
Alter table nomTable
Drop column champ [cascade constraints];

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 98


Exercice
Supprimer le champ nserv de la table Service et les contraintes associées (les contraintes se
trouvent dans la table emp).

Alter table Service


Drop column nserv cascade constraints;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 99


Modification de table
Alter table nomTable
Drop (champ1, champ2, …) [cascade constraints]

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 100


Modification de table : suppression de contraintes
Alter table nomTable
Drop constraint nomContrainte [cascade];

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 101


Exercice
Supprimer la contrainte cleService de la table Service.

Alter table Service


Drop constraint cleService cascade; --le champ nserv reste.

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 102


Modification de table : suppression de la contrainte clé primaire (champ clé est
conservé)
Alter table nomTable
Drop primary key [cascade];

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 103


Exercice
Supprimer la contrainte de clé primaire de la table Service.

Réponse
Alter table Service
Drop primary key cascade; --le champ nserv reste dans la table Service.

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 104


Modification de table : suppression de la contrainte d'unicité
Alter table nomTable
Drop unique (champ1[,champ2…]) [cascade];

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 105


Exercice
Supprimer la contrainte d’unicité du champ nserv (défini par unique et non clé primaire) de la
table Service.

Réponse
Alter table Service
Drop unique nserv cascade;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 106


Modification de table
Alter table nomTable
Modify champ [type] [default valeurParDefaut] [contrainteColonne]
Modify constraint nomContrainte enable|disable [cascade]
Modify (champ1…|constraint nomContrainte1…,…)
Enable Unique(listeChamps)
Primary key [cascade]
Disable Constraint nomContrainte

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 107


Modification d'un index
Alter index nomIndex

Enable
Disable
Rename to nouveauNomIndex
unusable

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 108


Exemples
-Alter index ind rename to ind1;
-Alter index ind1 disable;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 109


La commande drop
Suppression des objets de BD
 Base de données
 Table
 Index
 Vues
 rôles
 Schéma

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 110


Suppression d'une table
Drop table nomTable [cascade Constraints];

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 111


Exercice
Supprimer la table service

Réponse
Drop table service cascade Constraints;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 112


Suppression d'un index
Drop index nomIndex;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 113


Suppression d'une vue
Drop view nomVue;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 114


Suppression d'une BD
Drop database nomBase;

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 115


Résumé
Présentation du langage SQL
Étudier le langage de définition des données
 La commande create
 La commande alter
 La commande drop

SMI5 FS Agadir : 23-24 BASES DE DONNÉES 116

Vous aimerez peut-être aussi