Le passage du diagramme de classe vers le model objet relationnel
Post on 05-Jun-2015
10074 Views
Preview:
DESCRIPTION
Transcript
Le passage du diagramme de classe vers le model objet
relationnel
Présenter par :
Touil Ibrahim Benzina Youcef Bekaddour Hassen Université
tlemcen_algerie
savoir_h@yahoo.fr
Sommaire
Diagramme de classe
Model Relationnel
Model Objet relationnel
Passage du D.C vers le M.O.R (Exemple)
Diagramme de clase
C’est un schéma qui représente les classesdu système et le les différentes relations entre celles-ci.
1 2La généralisation
L’association
La composition
La dépendance
Le model relationnelLe 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).
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…).
Le model objet relationnel Il se fonde sur l'extension du modèle
relationnel par les concepts essentiels de l'objet.
Model Objet Relationnel = Model Relationnel + Notion d’OBJET
Model Objet
Relationnel
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
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.
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
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)
Représentation des relations
Association 1..1
Association 1..N
Association N..N
classe d’association
Association 1..1
create type ecran_type as object( numero serie NUMBER(2), marque VARCHAR2(20), modele VARCHAR2(20), taille NUMBER(2), l_ordi REF ordi_type)
create type ordi_type as object(numero serie NUMBER(2),marque VARCHAR2(20),RAM NUMBER(4),capDisqueDur NUMBER(3),l_ecran REF ecran_type,...)
Ecrant
Numero serie
Marque
Modele
taille
Ordinateur
Numero serie
Marque
ram
Cap disque dur
L_ecrant
L_ordi
1
1
Association 1..NProcesseur
Numero
Marque
Modele
frequence
Ordinateur
Numero serie
Marque
ram
Cap disque dur
Le type proc
Les_ordis
N
1
create type refOrdi_type as OBJECT (refOrdi REF ordi_type)create type ensOrdi_type as TABLE of refOrdi_typecreate type typeProc_type as object …, les_ordis ensOrdi_type)
create type ordi_type as object(numero serie NUMBER(2),marque VARCHAR2(20),RAM NUMBER(4),capDisqueDur NUMBER(3),le_typeProc REF typeProc_type,,...)
Association N..NLogiciel
Numero
Libelle
Type
Espace disque
Ordinateur
Numero serie
Marque
ram
Cap disque dur
Les logiciels installes
Installe_sur
N
N
create type logiciel_typeas OBJECT(numero NUMBER(2),libelle VARCHAR2(50),espaceDisque NUMBER,installeSur ensOrdi_type)
create type reflogi_type as OBJECT (refLogi REF logiciel_type)create type enslogi_type as TABLE of reflogi_typecreate type ordi_type as object(...les_logiciels installes enslogi_type,...)
Classe d’association
Utilisateur
Ref
Nom
Prenom
adress
Ordinateur
Numero serie
Marque
ram
Cap disque dur
Utiliser par
utilise
N
N
Période d’utilisation
deb
fin
utilisateur •create type utilisateur_type as OBJECT (numero NUMBER(2),nom VARCHAR2(20),prenom VARCHAR2(20),adresse VARCHAR2(20),utilise ensPeriodeUtils_type)
ordinateur •create type ordi_type as object( numero serie NUMBER(2),marque VARCHAR2(20),RAM NUMBER(4),capDisqueDur NUMBER(3),Utiliser_Par ensPeriodeUtils_type)
Periode •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)•create type ensPeriodeUtils_type as TABLE of refperiodeUtil_type
Représentation des méthodesCreate type nom_typeas OBJECT( [nom attribut] <type>, [member prcedure <nom_proc>(<paramétre> in <type de paramètre>])Create type body <nom_type> as[member procedure <nom_procedure>(paramètre)Is VARIABLE begin … end]
Create type nom_typeas OBJECT( [nom attribut] <type>, [member function <nom_fct>(<paramétre> in <type de paramètre> return<type_return>])Create type body <nom_type> as[member function <nom_fct>(paramètre) return <type_return> Is VARIABLE begin … end]
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 beginReturn(quantite * cout_unite) end;End;
Merci
top related