2. Sommaire
Diagramme de classe
Model Relationnel
Model Objet relationnel
Passage du D.C vers le M.O.R (Exemple)
3. Diagramme de clase
C’est un schéma qui représente les classes
du système et le les différentes relations
entre celles-ci.
1 La généralisation 2
L’association
La composition
La dépendance
4. Le model relationnel
Le modèle relationnel est basé sur une organisation
des données sous forme de tables(C’est une
manière de modéliser les informations contenues
dans une base de données).
La manipulation des données se fait selon le
concept mathématique de relation de la théorie
des ensembles (l'algèbre relationnelle ).
L’algèbre relationnel est constituée d'un ensemble
d'opérations formelles sur les relations(l'union, la
différence, la sélection , la projection ,le produit
cartésien…).
5.
6. Le model objet relationnel
Il se fonde sur l'extension du modèle relationnel par
les concepts essentiels de l'objet.
Model Objet Model Objet Relationnel =
Relationnel
Model Relationnel + Notion d’OBJET
7. Le passage du DC vers le MOR
Représentation des objet d’entité et leur types
Représentation des entités
représentation des clés et des contraintes
Représentation des relations
Représentation des méthodes
8.
9. Représentation des objet d’entité et
leur types
Les objets correspondant aux entités vont êtres
stockées dans des tables (1 ligne = 1 objet).
A chaque objet est attribuer un type
type SQL.
type composé (record, collection).
type objet.
type pointeur vers un objet.
10. Représentation des entités
On va définir des ADT (types objets), pour chaque
entité de notre diagramme
CREATE TYPE Tordinateur as object
( numero serie varchar2(30), Marque varchr2(30),
Ram varchr2(30), Cap_disque_dur varchr2(30))
On va créer une table pour chaque entité de notre
diagramme
CREATE TABLE Ordinateur OF TOrdinateur
11. Représentation des clés et des contraintes
CREATE TABLE Ordinateur OF TOrdinateur
(constraint PC_key primary key(numero serie))
contraintes de domaine (en particulier, NOT NULL)
CREATE TABLE Ordinateur OF TOrdinateur
(constraint PC_not_null marque NOT NULL)
13. Association 1..1
Ecrant Ordinateur
Numero serie Numero serie
1 L_ordi
Marque Marque
Modele L_ecrant 1 ram
taille Cap disque dur
create type ecran_type as create type ordi_type as
object( numero serie object(numero serie
NUMBER(2), marque NUMBER(2),marque
VARCHAR2(20), modele VARCHAR2(20),RAM
VARCHAR2(20), taille NUMBER(4),capDisqueDur
NUMBER(2), l_ordi REF NUMBER(3),l_ecran REF
ordi_type) ecran_type,...)
14. Association 1..N
Processeur Ordinateur
Numero Numero serie
1 Les_ordis
Marque Marque
Modele Le type N ram
proc
frequence Cap disque dur
create type refOrdi_type as create type ordi_type as
OBJECT (refOrdi REF object(numero serie
ordi_type) NUMBER(2),marque
create type ensOrdi_type as VARCHAR2(20),RAM
TABLE of refOrdi_type NUMBER(4),capDisqueDur
NUMBER(3),le_typeProc
create type typeProc_type REF typeProc_type,,...)
as object …, les_ordis
ensOrdi_type)
15. Association N..N
Logiciel Ordinateur
Numero Numero serie
N Installe_sur
Libelle Marque
Type Les logiciels N ram
installes
Espace disque Cap disque dur
create type logiciel_type create type reflogi_type as
as OBJECT( OBJECT (refLogi REF
logiciel_type)
numero NUMBER(2),
create type enslogi_type as
libelle VARCHAR2(50), TABLE of reflogi_type
espaceDisque NUMBER, create type ordi_type as
installeSur ensOrdi_type object(...les_logiciels
installes enslogi_type,...)
)
16. Classe d’association
Période d’utilisation
deb
fin
Utilisateur Ordinateur
Ref Numero serie
N utilise
Nom Marque
Prenom Utiliser par N ram
adress Cap disque dur
17. • create type utilisateur_type as OBJECT (numero NUMBER(2),nom
VARCHAR2(20),prenom VARCHAR2(20),adresse VARCHAR2(20),utilise
ensPeriodeUtils_type)
utilisateur
• create type ordi_type as object( numero serie NUMBER(2),marque
VARCHAR2(20),RAM NUMBER(4),capDisqueDur NUMBER(3),Utiliser_Par
ensPeriodeUtils_type)
ordinateur
• create type periodeUtil_type as OBJECT (debut date,fin date,l_utilisateur REF
utilisateur_type,l_ordi REF ordi_type)
• create type refperiodeUtil_type as OBJECT (periode REF periodeUtil_type)
Periode • create type ensPeriodeUtils_type as TABLE of refperiodeUtil_type
18. Représentation des méthodes
Create type nom_type Create type nom_type
as OBJECT( [nom attribut] as OBJECT( [nom attribut]
<type>, [member prcedure <type>, [member function
<nom_proc>(<paramétre> in <nom_fct>(<paramétre> in
<type de paramètre>]) <type de paramètre>
Create type body <nom_type> return<type_return>])
as[member procedure Create type body <nom_type>
<nom_procedure>(paramètre) as[member function
Is VARIABLE <nom_fct>(paramètre) return
<type_return> Is VARIABLE
begin … end] begin … end]
19. Ordinateur
Numero série
Cout unité
Marque
Quantité
Cout_total: number
Create type Tcout_total as OBJECT( [numero_serie
varchar2(30), cout_unite number, quantité number ,
marque varchr2(15),member function cout_total return
number)
Create type body Tcout_total as member function
cout_total return number Is
begin
Return(quantite * cout_unite)
end;
End;