bd relationnelles versus bd objets fariza tahi
Embed Size (px)
DESCRIPTION
BD Relationnelles versus BD Objets Fariza Tahi. SGBD Relationnels. Avantages des SGBD Relationnels (SGBDR) : simplicité des concepts et du schéma un bon support théorique, la théorie des ensembles un haut degré d’indépendance - PowerPoint PPT PresentationTRANSCRIPT
-
BD Relationnelles versus BD Objets
Fariza Tahi
-
SGBD RelationnelsAvantages des SGBD Relationnels (SGBDR) :
simplicit des concepts et du schma un bon support thorique, la thorie des ensembles un haut degr dindpendance des langages de manipulation de haut niveau, SQL (langage dclaratif) amlioration de lintgrit et de la confidentialit optimisation des requtes daccs la BD.
-
SGBD RelationnelsLimites et inconvnients des SGBDR:
trop grande simplicit du modle, adapt pour des donnes structure simple, pour des applications traditionnelles . -> ncessit de modles de donnes possdant un pouvoir dexpression plus riche pour les applications manipulant des objets complexes tels que le multimdia, la biologie, etc.
des langages de manipulation trop limits malgr leur puissance relative ; les langages dclaratifs de haut niveau des SGBDR (SQL) ne permettent pas de programmer entirement une application (on doit connecter SQL des langages traditionnels comme JAVA, PHP, ).
-
Limites et inconvnients des SGBDR (suite):
la normalisation permet de construire des BD en limitant des redondances dinformation ; -> accroissement des liens par les cls trangres et les tables de corrlation -> jointures -> cot
-Pas de traitement des objets complexes ; stockage possible sous forme de BLOBs (Binary Large Objects) mais pas de requtes car leur contenu nest pas comprhensibles par le SGBDR.
-
Les Bases de Donnes Objets
Une Base de Donnes objets peut tre dcrite par spcification dun schma de classes, incluant les dfinitions de classes, dattributs et doprations, ainsi que les liens entre les classes.
La notion de base de donnes objets sest prcis au dbut des annes 90.
Pour mriter le nom de SGBD objet (SGBDO), un systme doit dabord supporter les fonctionnalits dun SGBD. Pour ce faire, il doit obligatoirement assurer :
-
La persistance des objets : tout objet doit pouvoir persister sur disque au-del du programme qui le cr.
Un objet peut tre persistant ou transient.
Objet persistant : objet stock dans la base de donnes et dont la dure de vie est suprieure au programme qui le cr.
Objet transient : objet restant en mmoire, dont la dure de vie ne dpasse pas celle du programme qui le cr.
-
La concurrence daccs : la base doit pouvoir tre partage simultanment par les transactions qui la consultent et la modifient.
La fiabilit des objets : les objets doivent tre restaurs en cas de panne dun programme, dans ltat o ils taient avant la panne. Les transactions doivent tre atomiques, c.a.d. totalement excutes ou pas du tout.
La facilit dinterrogation : il doit tre possible de retrouver un objet partir de valeurs de ses proprits.
-
SGBD Orient Objets Avantages des SGBDOO :
Capacit de grer des donnes persistantes grce lintgration dun langage de programmation orient objet avec les fonctionnalits dun SGBD.
Langages de dfinition des donnes (ODL : Object Definition Language) et de manipulation des donnes (OML : Object Manipulation Language contenant OQL : Object Query Language).
Capacit daccder une grande quantit de donnes de faon performante.
Scurit : les objets peuvent tre privs ou publics.
-
SGBD Orients ObjetsInconvnients des SGBDOO :Problmes techniques : optimisation des requtes ncessite de connatre limplantation des objets.problme de portabilit sur plusieurs types de plateformes, dvolution du schma, de la gestion de la concurrence daccs.Carences de OQL, et faible compatibilit avec SQL.
Rsistance organisationnelle
-
Intgration de lobjet au relationnel Pourquoi intgrer lobjet au relationnel ?
Faiblesses du modle relationnel : Absence de pointeurs visibles par lutilisateur Non support de domaines compossNon intgration des oprations
Apport des modles objets :Lidentit dobjet permet lintroduction de pointeurs invariants pour chaner les objets entre eux.Lencapsulation des donnes permet disoler certaines donnes dites prives.Lhritage doprations et de structures facilite la rutilisation des types de donnes.
-
Les SGBD Relationnels Objets et SQL3Les SGBD Relationnels Objets (SGDBRO) : combinaison dun moteur relationnel et dun systme objet.
SGBDOO : permettent des requtes simples sur des objets complexes.
- SGBDR : permettent des requtes complexes sur des objets simples.
=> SGBDRO : tout type de requte sur tout type dobjet.Exemples : PostgreSQL, Oracle 8i, Sybase 11.
SQL3 : extension de SQL2 par lintgration de proprits objets au relationnel.
-
Concepts objets additionns au relationnelTypes de donnes utilisateur : Permettent la dfinition de types extensibles utilisables comme domaines et supportant lencapsulation. => Le systme nest plus limit aux types alphanumriques de base. Ils sont appels types abstraits (ADT) en SQL3.
Patron de collections :Type de donnes gnrique permettant de supporter des attributs multivalus et de les organiser selon un type de collection. Ex : tableau, liste, ensemble, etc. Le patron LISTE(X) par exemple pourra tre instanci pour dfinir des lignes sous forme de listes de points : Lignes LISTE(point).
-
Concepts objets additionns au relationnel (suite)Rfrence dobjet : type de donnes particulier permettant de mmoriser ladresse invariante dun objet ou dun tuple. Ce sont les identifiants dobjets (OID).
Hritage de type : forme dhritage impliquant la possibilit de dfinir un sous-type dun type existant, celui-ci hritant alors de la structure et des oprations du type de base. On a ainsi la possibilit de dfinir un sous-type dun type SQL ou dun type utilisateur.
Hritage de table : forme dhritage impliquant la possibilit de dfinir une sous-table dune table existante, celle-ci hritant alors de la structure et des oprations de la table de base.
-
Extension du langage de requtes : SQL31/ Les types abstraits (ADT : abstract data type):
Commande CREATE TYPE
Syntaxe : CREATE [DISTINCT] TYPE [WITH OID VISIBLE] [UNDER , [,][AS] ();
Le mot cl DISTINCT est utilis pour renommer un type de base existant dj.Ex : CREATE DISTINCT TYPE num-agence AS (char (5));
La clause WITH OID VISIBLE permet de prciser la visibilit de lOID pour chaque instance. Par dfaut, une instance de type est une valeur sans OID.
-
Les types abstraits (suite) :
La clause UNDER , [,] permet de spcifier les super-types dont le type hrite.
< corps de lADT> se compose dune ou plusieurs clauses membres : :=
-
Les types abstraits (suite) :
: fonction particulire dclare comme oprateur.
: permet de dfinir les fonctions publiques qui encapsulent le type. Il existe diffrents types de fonctions :
- constructeurs : permettent de construire des instances du type. Elles portent en gnral le nom du type.- destructeurs : dtruisent les instances et doivent tre appels explicitement pour rcuprer la place disque ( pas de ramasse miettes)
-
Les types abstraits (suite) :
- acteurs : agissent sur une instance en manipulant les attributs du type. On peut distinguer : les observateurs : qui ne font que lire ltatles mutateurs : qui le modifient.
Syntaxe dune fonction :
[CONSTRUCTOR/ACTOR/DESTRUCTOR] FUNCTION RETURNS {/} END FUNCTION
-
Les types abstraits (suite) :
:
: permet de spcifier les attributs du type sous la forme .Un type peut tre un type de base ou un type prcdemment cr par une commande :CREATE TYPE.
: permet de dfinir lgalit de deux instances du type.
: dfinit le comparatif
-
2/ Les constructeurs dobjets complexes :
Ce sont des types gnriques fournis par SQL3. Ce sont : SET, MULTISET, LIST.
SQL3 propose aussi des types additionnels multiples : piles (stack), files (queue), tableaux dynamiques (varray), tableaux insrables (irray)Ces types sont optionnels : ils ne sont pas intgrs dans le langage de base mais peuvent tre ajouts
.
-
3/ Les tables :
Les tables sont inchanges et restent comme dans le SQL de base, sauf que le domaine dun attribut peut tre un type cr par la commande CREATE TYPE.
On peut aussi encapsuler des fonctions.
Il est possible de crer une table partir dun type.Ex : CREATE TABLE Employs OF Employs.
On peut crer en mme temps une table et un type.Ex : CREATE TABLE personne (nss int, nom varchar, ) of NEW TYPE personne;
Lhritage est possible : Ex : CREATE TABLE UNDER [WITH (liste dattributs typs)]
-
4/ Lappel des fonctions et des oprateurs dans les requtes :
SQL3 permet lappel de fonctions dans les termes SQL.Ex : SELECT E.nom, age(E)FROM employ EWHERE age (E) < 35.
La notation .. permet aussi daccder aux attributs composs.Ex : SELECT nom FROM employ EWHERE E.adresse..ville= Marseille