SlideShare une entreprise Scribd logo
1  sur  109
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

Contenu connexe

Similaire à chapitre 5_db_20_21.pdf.pptx

Visual studio
Visual studioVisual studio
Visual studio
ISIG
 
INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3
PGambette
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdf
OuailChoukhairi
 
Vbisigk
VbisigkVbisigk
Vbisigk
ISIG
 

Similaire à chapitre 5_db_20_21.pdf.pptx (20)

SQL partie III
SQL partie IIISQL partie III
SQL partie III
 
SQL.pdf
SQL.pdfSQL.pdf
SQL.pdf
 
Coursbase de donnees relationnelle sql server
Coursbase de donnees relationnelle sql serverCoursbase de donnees relationnelle sql server
Coursbase de donnees relationnelle sql server
 
Les commandes sql
Les commandes sqlLes commandes sql
Les commandes sql
 
GSI_Chap4-bts-requêtesSQL
GSI_Chap4-bts-requêtesSQLGSI_Chap4-bts-requêtesSQL
GSI_Chap4-bts-requêtesSQL
 
SQL-ORACLE.pdf
SQL-ORACLE.pdfSQL-ORACLE.pdf
SQL-ORACLE.pdf
 
SQL-ORACLE.pptx
SQL-ORACLE.pptxSQL-ORACLE.pptx
SQL-ORACLE.pptx
 
Oracle : extension du langage SQL
Oracle : extension du langage SQLOracle : extension du langage SQL
Oracle : extension du langage SQL
 
Cours3 gdm sql
Cours3 gdm sqlCours3 gdm sql
Cours3 gdm sql
 
Visual studio
Visual studioVisual studio
Visual studio
 
Développement Web- PHP (partie I).pdf
Développement Web- PHP (partie I).pdfDéveloppement Web- PHP (partie I).pdf
Développement Web- PHP (partie I).pdf
 
Fiche 1-SQL
Fiche 1-SQLFiche 1-SQL
Fiche 1-SQL
 
186011.ppt
186011.ppt186011.ppt
186011.ppt
 
INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3
 
Adopte une BDD
Adopte une BDDAdopte une BDD
Adopte une BDD
 
ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer
 
Cours
CoursCours
Cours
 
___WS_Chap-5__SPARQL.pdf
___WS_Chap-5__SPARQL.pdf___WS_Chap-5__SPARQL.pdf
___WS_Chap-5__SPARQL.pdf
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdf
 
Vbisigk
VbisigkVbisigk
Vbisigk
 

Dernier

Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
ssuserc72852
 

Dernier (20)

La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Cours
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 

chapitre 5_db_20_21.pdf.pptx

  • 2. 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
  • 3.  Carte conceptuelle du chapitre 5 SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 3
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 9 Les commandes du langage SQL(suite)
  • 10. 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
  • 11. 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
  • 12. Création des tables Table=relation Create table nomTable ( champ1 type, champ2 type, … ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 12
  • 13. 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
  • 14. Exemple d'exécution SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 14
  • 15. 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
  • 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) ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 16
  • 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(nserv) ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 17
  • 18. 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
  • 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(nserv) ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 19
  • 20. 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
  • 21. Exemple d'exécution SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 21
  • 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 cascade); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 22
  • 23. 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
  • 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) ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 24
  • 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) on delete cascade); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 25
  • 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) ); SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 26
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 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 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
  • 37. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 37 Exemples de conversion de types
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. 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
  • 46.  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
  • 47. 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
  • 48. 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
  • 49. 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
  • 50. 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
  • 51. 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
  • 52. 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
  • 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  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
  • 55. Création d’index Create index nomIndex on nomTable( col1 [asc|desc] ) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 55
  • 56. Exemple Create index idxnom on emp(nom asc) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 56
  • 57. 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
  • 58. Exemple Create unique index idxnom on emp(nom asc) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 58
  • 59. 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
  • 60. Exemple Create index idxnomprénom on 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 idxnom on emp(lower(nom) asc) SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 62
  • 63. 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
  • 64. 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
  • 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 select object_name, object_type from user_objects / SMI5 FS : Agadir 20-21 BASES DE DONNÉES
  • 69. Utilisation de user_tables select table_name from user_tables SMI5 FS : Agadir 20-21 BASES DE DONNÉES
  • 70. 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
  • 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 view test as select * from emp where sal<10000; SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 72
  • 73. 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
  • 74. Création de BD Create database nomBase [Datafile… Logfile…] . . . SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 74
  • 75. La commande alter Alter=commande de modification des structures des objets de BD SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 75
  • 76. Modification de table renommer une table Alter table nomTable Rename to nouveauNomDeTable SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 76
  • 77. Exercice Renommer le nom de 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 colonne nemp 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 champ email à la table étudiant. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 81
  • 82. Exercice Ajouter les champs email et ville à la table étudiant. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 82
  • 83. Modification de table Alter table 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 champ email de la table étudiant. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 90
  • 91. Modification de table Alter table nomTable Drop column champ [cascade constraints] SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 91
  • 92. 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
  • 93. Modification de table Alter table 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 contrainte cleEmp 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 contrainte de 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 contrainte d’unicité du champ nom de la table étudiant. SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 99
  • 100. 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
  • 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 Alter index nomIndex SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 102 Enable Disable Rename to nouveauNomIndex unusable
  • 103. Exemples -Alter index ind rename to ind1 -Alter index ind1 disable SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 103
  • 104. 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
  • 105. Suppression d'une table Drop table nomTable [cascade Constraints]; SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 105
  • 106. Suppression d'un index Drop index nomIndex; SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 106
  • 107. Suppression d'une vue Drop view nomVue; SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 107
  • 108. Suppression d'une BD Drop database nomBase; SMI5/LPII FS Agadir : 20-21 BASES DE DONNÉES 108
  • 109. 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