Documente Academic
Documente Profesional
Documente Cultură
Cours
• Langage algébrique (SQL)
• Méthode Merise (MCD)
• Création des tables et CI
• Langage PL/SQL
Séances
• 12 séances de cours
• 11 séances de TD
• 8 séances de TP
• 8 séances de TPNE
1
CG
BASE DE DONNEES EXEMPLE
2
CG
Bases de données
SQL
Projection : SELECT liste d'attributs FROM nomTable;
3
CG
Bases de données
JOINTURE
• Jointure avec égalité
• Jointure externe
• Auto jointure
4
CL
Bases de données
UNION : UNION
INTERSECTION : INTERSECT
DIFFERENCE : MINUS
5
CG
Bases de données
LMD - SQL
Groupements de Données
• GROUP BY liste d'attributs
• GROUP BY liste HAVING Conditions
EX : select libelle,count(*)
from formation f, inscrit I
where f.numfor=i.numfor
group by libelle
having count(*) >=3;
7
CG
Bases de données
8
CG
BDD - Merise
9
CG
BDD - Merise
L’entité ou individu-type
10
CG
BDD - Merise
Identifiant
Un identifiant est un ensemble de propriétés (une ou
plusieurs) permettant de désigner une et une seule entité.
La définition originale est la suivante : L'identifiant est une
propriété particulière d'un objet telle qu'il n'existe pas
deux occurrences de cet objet pour lesquelles cette
propriété pourrait prendre une même valeur.
11
CG
BDD - Merise
12
CG
BDD - Merise
Cardinalités
Les cardinalités permettent de caractériser le lien qui existe
entre une entité et la relation à laquelle elle est reliée
Cardinalité minimum 0 ou 1
Cardinalité maximum 1 ou n
13
CG
BDD - Merise
Cardinalités
0,1 0,1
14
CG
BDD - Merise
Cardinalités
0,1 0,n
15
CG
BDD - Merise
Cardinalités
0,n 0,n
16
CG
BDD - Merise
Cardinalités CE2
CE1
Lien
CE3
17
CG
BDD - Merise
CIF CE2
CE1
Lien
CE3
18
CG
BDD - Merise
Exemples :
Un salarie habite dans une ville et travaille dans une
ville
19
CG
BDD - Merise
MLD :
Le MCD ne peut pas être directement manipulée et
acceptée par un système informatique. Il est donc
nécessaire de passer du niveau conceptuel à un niveau plus
proche des capacités des systèmes informatiques. Ce
niveau, appelé niveau logique, consiste à choisir l’un des
trois modèles suivants :
• - modèle hiérarchique (années 80),
• - modèle réseau,
• - ou modèle relationnel
20
CG
BDD - Merise
21
CG
BDD - Merise
Associations :
binaire de type (1-n) ou (1-1) :
• entraîne l’intégration de l’identifiant de l’entité dans
la relation associée à l’entité source.
de type (m-n) :
• devient une relation qui hérite des identifiants des
entités participants à la relation. Si l’association est
porteuse, la relation sera complétée par la liste des
propriétés portées.
22
CG
Bases de données
23
CG
Bases de données
Types de données
Char(N) N<=2000
Varchar2(N) ou Varchar(N) N <=4000
Number(p,s)
Long 2 Go maxi
Date : JJ/MM/AAAA HH:MM:SS
BLOB Données Binaires non structurées 128 To
CLOB Chaine de caractères 128 To
BFILE Données binaires stockées dans des fichiers
exterieures
24
CG
Bases de données
Contrainte d’intégrité
25
CG
Bases de données
Triggers
Create or replace trigger nomtrigger
Before/After insert or update or delete on nomtable
For each row
Declare
Begin
Instruction
End;
/
26
CG
Bases de données
27
CG
Bases de données
28
CG
Bases de données
INDEX
29
CG
Chapitre 2
PL/SQL
30
CG
Chapitre 2
PL/SQL
Type de variable
Char
Varchar2 ou Varchar
Number
Date
Table.col%type
Table%rowtype
31
CG
Chapitre 2
PL/SQL
Boucles
WHILE condition LOOP
End LOOP;
FOR in IN 1 .. 30 Loop
End LOOP;
LOOP
EXIT WHEN condition ;
End LOOP;
32
CG
Chapitre 2
PL/SQL
CASE
Case
when condition then
When condition then
………….
else
End case;
33
CG
Chapitre 2
PL/SQL
TEST
IF condition then
else
End IF;
IF condition then
Elsif condition then
Else
End IF;
34
CG
Chapitre 2
PL/SQL
Les Séquences
35
CG
Chapitre 2
PL/SQL
36
CG
Chapitre 2
PL/SQL
Les curseurs
PL/SQL utilise des curseurs pour tout accès à des
informations de la BD.
Déclaration : CURSOR nom IS SELECT …..
Ouverture : OPEN nom
Fermeture : CLOSE nom
Extraction d’une ligne : FETCH nom INTO Var1,Var2,…
37
CG
Chapitre 2
PL/SQL
Les curseurs
Il y a quatre attributs associés aux curseurs PL/SQL
%NOTFOUND
%FOUND
%ROWCOUNT
%ISOPEN
38
CG
Chapitre 2
PL/SQL
39
CG
Chapitre 2
PL/SQL
Gestion des exceptions
Exceptions prédéfinies
NO DATA FOUND
TOO MANY ROWS
CURSOR ALREADY OPEN
INVALID CURSOR
……
Exceptions définies par utilisateur
Nomexceptiont EXCEPTION (dans la partie déclarative)
RAISE nomexception (dans le corps du programme)
EXCEPTION (à la fin du block)
• WHEN nomexception THEN <instructions>
• WHEN no data found THEN <instructions>
• WHEN OTHERS THEN <instructions>
40
CG
Chapitre 2
PL/SQL
41
CG
Chapitre 2
PL/SQL
Procédure indépendantes
Pour exécuter une procédure indépendante
Sous SQLPLUS, On tape la commande suivante :
SQL > execute NOMPROCEDURE(Arg1,Arg2, ….)
Dans un bloc PLSQL
BEGIN
NOMPROCEDURE(Arg1,Arg2, ….);
END;
42
CG
Chapitre 2
PL/SQL
Fonctions stockées
43
CG
Chapitre 2
PL/SQL
Fonctions stockées
44
CG
Chapitre 2
PL/SQL
Les Packages
CREATE [OR REPLACE] PACKAGE nom_package IS
Section_declaration
END nom_package ;
/
45
CG