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/LPII FS Agadir : 20-21 BASES DE DONNÉES 2
 Carte conceptuelle du chapitre 5
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 3
Présentation du langage SQL
SQL = Strucured Query Language : langage d'interrogation de bases de
données relationnelles
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 4
Présentation du langage SQL
SQL a remplacé
SEQUEL=Structured English as Query Language
=premier langage relationnel utilisé
SMI5/LPII FS Agadir : 20-21 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/LPII FS Agadir : 20-21 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.
SMI5/LPII FS Agadir : 20-21 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,
la sécurité des bases de données(contrôle des accès: grant, revoke).
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 8
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 9
Les commandes du langage SQL(suite)
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/LPII FS Agadir : 20-21 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 11
Création des tables
Table=relation
Create table nomTable (
champ1 type,
champ2 type,
…
);
SMI5/LPII FS Agadir : 20-21 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 13
Exemple d'exécution
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 14
Création des tables
Table=relation
Create table nomTable (
champ1 type [contrainte_colonne],
champ2 type [contrainte_colonne],
…
);
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 15
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 16
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 17
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 18
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 19
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 20
Exemple d'exécution
SMI5/LPII FS Agadir : 20-21 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) on delete cascade);
SMI5/LPII FS Agadir : 20-21 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(nserv) on
delete set null);
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 23
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 24
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 25
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 26
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 27
Création des tables
Table=relation
Create table nomTable (
champ1 type [ default valeur ] [contrainte_colonne],
champ2 type [ default valeur ] [contrainte_colonne],
…
);
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 28
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 29
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 30
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 31
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 32
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 33
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 34
Les types supportés(IBM, ANSI)
decimal équivalent à number(38).
decimal(n,p)
integer, int, smallint équivalent à number(38).
float(n)
Real
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 35
 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 36
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 37
Exemples de conversion de types
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 38
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 10:30:20,100' ou
'12/11/2005 :10:30:20,100'
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 39
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 40
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 41
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 42
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 43
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 44
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 45
 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 46
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 47
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 48
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 49
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 50
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 51
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 52
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 53
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 54
Création d’index
Create index
nomIndex on nomTable( col1 [asc|desc] )
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 55
Exemple
Create index idxnom on emp(nom asc)
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 56
Création d’index unique
Create unique index
nomIndex on nomTable( col1 [asc|desc] )
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 57
Exemple
Create unique index idxnom on emp(nom asc)
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 58
Création d’index avec plusieurs colonnes
Create index
nomIndex on nomTable( col1 [asc|desc]
[, col2 [asc|desc]…])
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 59
Exemple
Create index idxnomprénom on emp(nom asc, prénom desc)
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 60
Création d’index basé sur une expression
Create [unique] index
nomIndex on nomTable( expression [asc|desc] )
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 61
Exemple
Create index idxnom on emp(lower(nom) asc)
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 62
Création d’index (syntaxe générale)
Create [unique] index
nomIndex on nomTable( col1|expression1 [asc|desc]
[, col2|expression2 [asc|desc]…])
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 63
Note.
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 64
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 20-21 BASES DE DONNÉES
Création des tables : table service
SMI5 FS : Agadir 20-21 BASES DE DONNÉES
SMI5 FS : Agadir 20-21 BASES DE DONNÉES
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)
/
Utilisation de user_objects
select object_name, object_type from user_objects
/
SMI5 FS : Agadir 20-21 BASES DE DONNÉES
Utilisation de user_tables
select table_name from user_tables
SMI5 FS : Agadir 20-21 BASES DE DONNÉES
Utilisation de user_constraints
select constraint_name, constraint_type, table_name
from user_constraints
order by table_name desc
/
SMI5 FS : Agadir 20-21 BASES DE DONNÉES
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 71
 Exemple
Create view test
as
select * from emp where sal<10000;
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 72
Création de schéma
Create schema authorization nom_schema
CréationDesTables
CréationDesVues
OctroiDePrivilèges
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 73
Création de BD
Create database nomBase
[Datafile…
Logfile…]
.
.
.
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 74
La commande alter
Alter=commande de modification des structures des objets de BD
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 75
Modification de table renommer une table
Alter table nomTable
Rename to nouveauNomDeTable
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 76
Exercice
Renommer le nom de la table emp par employe
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 77
Modification de table ; renommer une colonne
Alter table nomTable
Rename column nomColonne to nouveauNomColonne
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 78
Exercice
Renommer la colonne nemp la table emp par codeEmp
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 79
Modification de table : ajouter un champ
Alter table nomTable
Add champ type [default valParDéfaut] [contrainte_colonne]
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 80
Exercice
Ajouter le champ email à la table étudiant.
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 81
Exercice
Ajouter les champs email et ville à la table étudiant.
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 82
Modification de table
Alter table nomTable
Add [constraint nomContrainte] typeDeContrainteTable
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 83
Exercice
Ajouter la contrainte (non nommée) de clé primaire à la table employé:
prendre le champ codeEmp.
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 84
Exercice
Ajouter la contrainte (nommée) de clé primaire à la table employé:
prendre le champ codeEmp.
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 85
Exercice
Ajouter la contrainte (non nommée) de clé étrangère à la table
employé: prendre le champ codeService avec la table service.
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 86
Exercice
Ajouter la contrainte (nommée) de clé étrangère à la table employé:
prendre le champ codeService avec la table service.
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 87
Modification de table : plusieurs modifications
Alter table nomTable
Add(champ1 type…|contrainteTable1,
champ2 type…|contrainteTable2…)
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 88
Modification de table : suppression des champs
Alter table nomTable
Drop column champ
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 89
Exercice
Supprimer le champ email de la table étudiant.
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 90
Modification de table
Alter table nomTable
Drop column champ [cascade constraints]
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 91
Exercice
Supprimer le champ codefilière de la table filière et les contraintes
associées.
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 92
Modification de table
Alter table nomTable
Drop (champ1, champ2, …) [cascade constraints]
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 93
Modification de table : suppression de contraintes
Alter table nomTable
Drop constraint nomContrainte [cascade]
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 94
Exercice
Supprimer la contrainte cleEmp de la table emp.
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 95
Modification de table : suppression de la contrainte clé primaire
Alter table nomTable
Drop primary key [cascade]
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 96
Exercice
Supprimer la contrainte de clé primaire de la table étudiant.
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 97
Modification de table : suppression de la contrainte d'unicité
Alter table nomTable
Drop unique(champ1[,champ2…]) [cascade]
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 98
Exercice
Supprimer la contrainte d’unicité du champ nom de la table étudiant.
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 99
Modification de table
Alter table nomTable
Modify champ [type] [default valeurParDefaut] [contrainteColonne]
Modify constraint nomContrainte enable|disable [cascade]
Modify (champ1…|constraint nomContrainte1…,…)
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 100
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 101
Unique(listeChamps)
Primary key
Constraint nomContrainte
[cascade]
Enable
Disable
Modification d'un index
Alter index nomIndex
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 102
Enable
Disable
Rename to nouveauNomIndex
unusable
Exemples
-Alter index ind rename to ind1
-Alter index ind1 disable
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 103
La commande drop
Suppression des objets de BD
 Base de données
 Table
 Index
 Vues
 rôles
 Schéma
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 104
Suppression d'une table
Drop table nomTable [cascade Constraints];
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 105
Suppression d'un index
Drop index nomIndex;
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 106
Suppression d'une vue
Drop view nomVue;
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 107
Suppression d'une BD
Drop database nomBase;
SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 108
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/LPII FS Agadir : 20-21 BASES DE DONNÉES 109

chapitre 5_db_20_21.pdf.pptx

  • 1.
  • 2.
    Objectifs Présentation du langageSQL Étudier le langage de définition des données : LDD  La commande create  La commande alter  La commande drop SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 2
  • 3.
     Carte conceptuelledu chapitre 5 SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 3
  • 4.
    Présentation du langageSQL SQL = Strucured Query Language : langage d'interrogation de bases de données relationnelles SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 4
  • 5.
    Présentation du langageSQL SQL a remplacé SEQUEL=Structured English as Query Language =premier langage relationnel utilisé SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 5
  • 6.
    Les nomes dulangage 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 6
  • 7.
    Type du langageSQL  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. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 7
  • 8.
    Les commandes dulangage 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, la sécurité des bases de données(contrôle des accès: grant, revoke). SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 8
  • 9.
    SMI5/LPII FS Agadir: 20-21 BASES DE DONNÉES 9 Les commandes du langage SQL(suite)
  • 10.
    La commande create =>Créationdes objets de base de données Create:  Base de données  Table  utilisateur  Index  Vues  rôles  Schéma SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 10
  • 11.
    Création des tables Table=relation Createtable nomTable ( champ1 type [default valParDéfaut] [contrainte_colonne], champ2 type [default valParDéfaut] [contrainte_colonne], … [Contrainte_table1,] [Contrainte_table2,] … ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 11
  • 12.
    Création des tables Table=relation Createtable nomTable ( champ1 type, champ2 type, … ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 12
  • 13.
    Exemple Create table emp( nempnumber(4), nom varchar2(20), prénom varchar2(20), genre char, salaire number(10,2), nserv number(2) ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 13
  • 14.
    Exemple d'exécution SMI5/LPII FSAgadir : 20-21 BASES DE DONNÉES 14
  • 15.
    Création des tables Table=relation Createtable nomTable ( champ1 type [contrainte_colonne], champ2 type [contrainte_colonne], … ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 15
  • 16.
    Exemple Create table emp( nempnumber(4) primary key, nom varchar2(20), prénom varchar2(20), genre char, salaire number(10,2), nserv number(2) ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 16
  • 17.
    Exemple Create table emp( nempnumber(4) primary key, nom varchar2(20), prénom varchar2(20), genre char, salaire number(10,2), nserv number(2) references service(nserv) ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 17
  • 18.
    Exemple Create table emp( nempnumber(4) primary key, nom varchar2(20), prénom varchar2(20), genre char, salaire number(10,2), nserv number(2) references service ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 18
  • 19.
    Exemple Create table emp( nempnumber(4) primary key, nom varchar2(20), prénom varchar2(20), genre char, salaire number(10,2), nserv references service(nserv) ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 19
  • 20.
    Exemple Create table emp( nempnumber(4) primary key, nom varchar2(20), prénom varchar2(20), genre char, salaire number(10,2), nserv references service ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 20
  • 21.
    Exemple d'exécution SMI5/LPII FSAgadir : 20-21 BASES DE DONNÉES 21
  • 22.
    Exemple Create table emp( nempnumber(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 22
  • 23.
    Exemple Create table emp( nempnumber(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 23
  • 24.
    Exemple Create table emp( nempnumber(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 24
  • 25.
    Exemple Create table emp( nempnumber(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 25
  • 26.
    Exemple Create table emp( nempnumber(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 26
  • 27.
    Exemple Create table emp( nempnumber(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 27
  • 28.
    Création des tables Table=relation Createtable nomTable ( champ1 type [ default valeur ] [contrainte_colonne], champ2 type [ default valeur ] [contrainte_colonne], … ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 28
  • 29.
    Exemple Create table emp( nempnumber(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 29
  • 30.
    Description de lasyntaxe  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/LPII FS Agadir : 20-21 BASES DE DONNÉES 30
  • 31.
    Les types prédéfinisen 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 31
  • 32.
    Les types prédéfinisen 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 32
  • 33.
    Les types prédéfinisen 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 33
  • 34.
    Les types prédéfinisen 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 34
  • 35.
    Les types supportés(IBM,ANSI) decimal équivalent à number(38). decimal(n,p) integer, int, smallint équivalent à number(38). float(n) Real SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 35
  • 36.
     Exemples deconversion 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 36
  • 37.
    SMI5/LPII FS Agadir: 20-21 BASES DE DONNÉES 37 Exemples de conversion de types
  • 38.
    Les types prédéfinisen Oracle Les types date - date EX: dateNaissance date - Valeur littérale de date '12/11/2005' ou '12-11-2005' SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 38
  • 39.
    Les types prédéfinisen 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 10:30:20,100' ou '12/11/2005 :10:30:20,100' SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 39
  • 40.
    Exercice Donner les commandesde création des tables suivantes: - Filière(codeFilière, libellé,département) - Etudiant(codeEtudiant, nom, prénom, dateNaissance, codeFilière) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 40
  • 41.
    Description de lasyntaxe(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 41
  • 42.
    Exemple Create table emp( nempnumber(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 42
  • 43.
    Exemple Create table emp( nempnumber(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 43
  • 44.
    Exercice Donner les commandesde 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 44
  • 45.
    Exemple Create table emp( nempnumber(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 45
  • 46.
     Exemple Create tableemp(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 46
  • 47.
    Création des tables(suite) Table=relation Createtable nomTable ( champ1 type [default valParDéfaut] [contrainte_colonne], champ2 type [default valParDéfaut] [contrainte_colonne], … [Contrainte_table1,] [Contrainte_table2,] … ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 47
  • 48.
    Description de lasyntaxe(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 48
  • 49.
    Exemple Create table emp(nempnumber(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 49
  • 50.
    Exemple Create table emp(nempnumber(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/LPII FS Agadir : 20-21 BASES DE DONNÉES 50
  • 51.
    Exercice Donner les commandesde 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 51
  • 52.
    Exercice Donner les commandesde 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 52
  • 53.
    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/LPII FS Agadir : 20-21 BASES DE DONNÉES 53
  • 54.
    Inconvénients d’index  Espacemémoire suppl=lieu de stockage des valeurs de la colonne indexée et les adresses des lignes associées  Ralentissement de MAJ SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 54
  • 55.
    Création d’index Create index nomIndexon nomTable( col1 [asc|desc] ) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 55
  • 56.
    Exemple Create index idxnomon emp(nom asc) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 56
  • 57.
    Création d’index unique Createunique index nomIndex on nomTable( col1 [asc|desc] ) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 57
  • 58.
    Exemple Create unique indexidxnom on emp(nom asc) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 58
  • 59.
    Création d’index avecplusieurs colonnes Create index nomIndex on nomTable( col1 [asc|desc] [, col2 [asc|desc]…]) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 59
  • 60.
    Exemple Create index idxnomprénomon emp(nom asc, prénom desc) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 60
  • 61.
    Création d’index basésur une expression Create [unique] index nomIndex on nomTable( expression [asc|desc] ) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 61
  • 62.
    Exemple Create index idxnomon emp(lower(nom) asc) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 62
  • 63.
    Création d’index (syntaxegénérale) Create [unique] index nomIndex on nomTable( col1|expression1 [asc|desc] [, col2|expression2 [asc|desc]…]) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 63
  • 64.
    Note. Pour voir lesobjets 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/LPII FS Agadir : 20-21 BASES DE DONNÉES 64
  • 65.
    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 20-21 BASES DE DONNÉES
  • 66.
    Création des tables: table service SMI5 FS : Agadir 20-21 BASES DE DONNÉES
  • 67.
    SMI5 FS :Agadir 20-21 BASES DE DONNÉES 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) /
  • 68.
    Utilisation de user_objects selectobject_name, object_type from user_objects / SMI5 FS : Agadir 20-21 BASES DE DONNÉES
  • 69.
    Utilisation de user_tables selecttable_name from user_tables SMI5 FS : Agadir 20-21 BASES DE DONNÉES
  • 70.
    Utilisation de user_constraints selectconstraint_name, constraint_type, table_name from user_constraints order by table_name desc / SMI5 FS : Agadir 20-21 BASES DE DONNÉES
  • 71.
    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/LPII FS Agadir : 20-21 BASES DE DONNÉES 71
  • 72.
     Exemple Create viewtest as select * from emp where sal<10000; SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 72
  • 73.
    Création de schéma Createschema authorization nom_schema CréationDesTables CréationDesVues OctroiDePrivilèges SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 73
  • 74.
    Création de BD Createdatabase nomBase [Datafile… Logfile…] . . . SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 74
  • 75.
    La commande alter Alter=commandede modification des structures des objets de BD SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 75
  • 76.
    Modification de tablerenommer une table Alter table nomTable Rename to nouveauNomDeTable SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 76
  • 77.
    Exercice Renommer le nomde la table emp par employe SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 77
  • 78.
    Modification de table; renommer une colonne Alter table nomTable Rename column nomColonne to nouveauNomColonne SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 78
  • 79.
    Exercice Renommer la colonnenemp la table emp par codeEmp SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 79
  • 80.
    Modification de table: ajouter un champ Alter table nomTable Add champ type [default valParDéfaut] [contrainte_colonne] SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 80
  • 81.
    Exercice Ajouter le champemail à la table étudiant. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 81
  • 82.
    Exercice Ajouter les champsemail et ville à la table étudiant. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 82
  • 83.
    Modification de table Altertable nomTable Add [constraint nomContrainte] typeDeContrainteTable SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 83
  • 84.
    Exercice Ajouter la contrainte(non nommée) de clé primaire à la table employé: prendre le champ codeEmp. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 84
  • 85.
    Exercice Ajouter la contrainte(nommée) de clé primaire à la table employé: prendre le champ codeEmp. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 85
  • 86.
    Exercice Ajouter la contrainte(non nommée) de clé étrangère à la table employé: prendre le champ codeService avec la table service. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 86
  • 87.
    Exercice Ajouter la contrainte(nommée) de clé étrangère à la table employé: prendre le champ codeService avec la table service. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 87
  • 88.
    Modification de table: plusieurs modifications Alter table nomTable Add(champ1 type…|contrainteTable1, champ2 type…|contrainteTable2…) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 88
  • 89.
    Modification de table: suppression des champs Alter table nomTable Drop column champ SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 89
  • 90.
    Exercice Supprimer le champemail de la table étudiant. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 90
  • 91.
    Modification de table Altertable nomTable Drop column champ [cascade constraints] SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 91
  • 92.
    Exercice Supprimer le champcodefilière de la table filière et les contraintes associées. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 92
  • 93.
    Modification de table Altertable nomTable Drop (champ1, champ2, …) [cascade constraints] SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 93
  • 94.
    Modification de table: suppression de contraintes Alter table nomTable Drop constraint nomContrainte [cascade] SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 94
  • 95.
    Exercice Supprimer la contraintecleEmp de la table emp. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 95
  • 96.
    Modification de table: suppression de la contrainte clé primaire Alter table nomTable Drop primary key [cascade] SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 96
  • 97.
    Exercice Supprimer la contraintede clé primaire de la table étudiant. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 97
  • 98.
    Modification de table: suppression de la contrainte d'unicité Alter table nomTable Drop unique(champ1[,champ2…]) [cascade] SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 98
  • 99.
    Exercice Supprimer la contrainted’unicité du champ nom de la table étudiant. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 99
  • 100.
    Modification de table Altertable nomTable Modify champ [type] [default valeurParDefaut] [contrainteColonne] Modify constraint nomContrainte enable|disable [cascade] Modify (champ1…|constraint nomContrainte1…,…) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 100
  • 101.
    SMI5/LPII FS Agadir: 20-21 BASES DE DONNÉES 101 Unique(listeChamps) Primary key Constraint nomContrainte [cascade] Enable Disable
  • 102.
    Modification d'un index Alterindex nomIndex SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 102 Enable Disable Rename to nouveauNomIndex unusable
  • 103.
    Exemples -Alter index indrename to ind1 -Alter index ind1 disable SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 103
  • 104.
    La commande drop Suppressiondes objets de BD  Base de données  Table  Index  Vues  rôles  Schéma SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 104
  • 105.
    Suppression d'une table Droptable nomTable [cascade Constraints]; SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 105
  • 106.
    Suppression d'un index Dropindex nomIndex; SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 106
  • 107.
    Suppression d'une vue Dropview nomVue; SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 107
  • 108.
    Suppression d'une BD Dropdatabase nomBase; SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 108
  • 109.
    Résumé Présentation du langageSQL Étudier le langage de définition des données  La commande create  La commande alter  La commande drop SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 109