La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Bases de données orientées-objets

Présentations similaires


Présentation au sujet: "Bases de données orientées-objets"— Transcription de la présentation:

1 Bases de données orientées-objets
12d. SQL3 Yves Pigneur Stéphane Rey Ecole des HEC Université de Lausanne CH-1015 Lausanne (+41 21) Identifiant Dépendance fonctionnelle Fromes normales Normalisation

2 Agenda Forces et faiblesses du modèle relationnel:
nouveaux besoins en matière de gestion de données. Le modèle objet-relationnel. SQL3. Conclusions. HEC Lausanne

3 Forces du modèle relationnel
Permet de modéliser des données adaptées à la gestion à l'aide de tables: représentation naturelle d'ensembles. Offre d'excellentes performances sur le transactionnel (OLTP - Online Transaction Processing). Intègre et permet la présentation multidimensionnelle de données (OLAP - Online Analysis Processing). S'est imposé comme le standard de l'industrie: langage SQL2; architecture client-serveur; optimisation des requêtes (algèbre, réécriture, modèle de coûts) gestion des transactions. HEC Lausanne

4 Faiblesses du modèle relationnel
Les règles de modélisation imposées pour structurer les données sont trop restrictives. L'absence de pointeurs visible est pénalisante et nécessite l'utilisation de jointures, opérations lourdes et coûteuses. Le non-support de domaines composés imposé par la première forme normale de Codd est inadapté aux objets complexes. La non intégration des opérations dans le modèle relationnel constitue un manque. HEC Lausanne

5 Le besoin de types de données multimédia
ABC123 Temps 1996 HEC Lausanne

6 Le modèle objet-relationnel (1)
Type de données utilisateur: type de données définissables par l'utilisateur composé d'une structure de données et d'opérations encapsulant cette structure. SQL3 les nomme types abstraits (ADT). Patron de collection: Type de données générique permettant de supporter des attributs multivalués et de les organiser selon un type de collection. Exemple: une liste. Référence d'objet: Type de données particulier permettant de mémoriser l'adresse invariante d'un objet ou d'un tuple. Permet de chaîner les objets directement entre eux, sans passer par des jointures. HEC Lausanne

7 Le modèle objet-relationnel (2)
Héritage de type: Forme d'héritage impliquant la possibilité de définir un sous-type d'un type existant, celui-ci héritant alors de la structure et des opérations du type de base. Héritage de table: Forme d'héritage impliquant la possibilité de définir une sous-table d'une table existante, celle-ci héritant alors de la structure et des éventuelles opérations de la table de base. HEC Lausanne

8 Le modèle objet-relationnel (3)
Polymorphisme Types utilisateurs Collections RELATIONNEL Domaine Table Attribut Clé Référence Opérations Identifiant Héritage HEC Lausanne

9 Le modèle objet-relationnel (4)
Police ... Conducteurs Accidents 9876 Conducteur Age Paul 19 Louise 37 Date HEC Lausanne

10 Vue d'ensemble de SQL3 (1) HEC Lausanne

11 Vue d'ensemble de SQL3 (2) HEC Lausanne

12 SQL3 - Les types abstraits
CREATE [DISTINCT] TYPE <nom ADT> [<OPTION OID>] [<CLAUSE SOUS-TYPE>] [AS] (<CORPS DE L'ADT>) La clause DISTINCT est utilisée pour renommer un type de base existant déjà. HEC Lausanne

13 SQL3 - Les types abstraits, exemples (1)
Type avec OID pouvant être utilisé comme un objet: CREATE TYPE PHONE WITH OID VISIBLE (PAYS VARCHAR, ZONE VARCHAR, NOMBRE INT, DESCRIPTION CHAR(20)); WITH OID VISILE permet de préciser la visibilité de l'OID pour chaque instance (objet). Type avec sous-type: CREATE TYPE ETUDIANT UNDER PERSONNE (CYCLE VARCHAR, ANNEE INT); Type énuméré: CREATE TYPE JOUR-OUVERT (LUN, MAR, MER, JEU, VEN); HEC Lausanne

14 SQL3 - Les types abstraits, exemples (2)
Type avec OID et fonction: CREATE TYPE EMPLOYE WITH OID VISIBLE (NUM CHAR(10), DATENAIS DATE, REPOS JOUR-OUVERT, SALAIRE FLOAT, FUNCTION AGE (E EMPLOYE) RETURNS (INT) { ... } END FUNTION;); CREATE TYPE JOUR-OUVERT (LUN, MAR, MER, JEU, VEN); HEC Lausanne

15 SQL3 - Les constructeurs d'objets complexes
SQL3 offre les patrons de base SET(T), MULTISET(T) et LIST(T). Un type personne avec une liste de prénoms: CREATE TYPE PERSONNE WITH OID VISIBLE (NSS INT, NOM VARCHAR, PRENOMS LIST(VARCHAR), TEL SET(PHONE)); Un type avec référence à un objet: CREATE TYPE VOITURE (NUMERO CHAR(9), COULEUR VARCHAR, PROPRIETAIRE REF(PERSONNE)); CREATE TYPE PHONE WITH OID VISIBLE (PAYS VARCHAR, ZONE VARCHAR, NOMBRE INT, DESCRIPTION CHAR(20)); HEC Lausanne

16 SQL3 - Les tables Création de tables: CREATE TABLE ACCIDENT (ACCIDENT INT, RAPPORT TEXT, PHOTO IMAGE); CREATE TABLE POLICE (NPOLICE INT, NOM VARCHAR, ADRES ADRESSE, CONDUCTEURS SET(CONDUCTEUR), ACCIDENTS LIST(ACCIDENT)); CREATE TABLE PERSONNES OF PERSONNE; CREATE TABLE VINSMILL UNDER VINS WITH (MILL INT, QUALITE VARCHAR) CREATE TYPE PERSONNE WITH OID VISIBLE (NSS INT, NOM VARCHAR, PRENOMS LIST(VARCHAR), TEL SET(PHONE)); HEC Lausanne

17 SQL3 - Appel de fonctions
SELECT E.NOM, AGE(E) FROM EMPLOYES E WHERE AGE(E) < 35; CREATE TABLE EMPLOYESLOC UNDER EMPLOYES WITH (ADRES ADRESSE) SELECT NOM, REPOS FROM EMPLOYELOC E WHERE DISTRICT(E.ADRES) = "MORGES" AND E.ADRES..VILLE = "BUSSIGNY" SELECT E.NOM, E..AGE() Utilisation d'une fonction pour obtenir le district. Utilisation de la notation pointée pour accéder aux attributs composés. HEC Lausanne

18 SQL3 - Parcours de références
CREATE TYPE VOITURE (NUMERO CHAR(9), COULEUR VARCHAR, PROPRIETAIRE REF(PERSONNE)) CREATE TABLE VOITURES OF TYPE VOITURE SELECT V.PROPRIETAIRE DEREF NOM FROM VOITURES V WHERE V.COULEUR="ROUGE" AND V.PROPRIETAIRE DEREF ADRESSE..VILLE = "PARIS" HEC Lausanne

19 SQL3 - Recherche en collections
SELECT REF(P) FROM PERSONNES P WHERE "VELO" IN SELECT * FROM TABLE (P.PASSETEMPS). PASSETEMPS SET(VARCHAR) HEC Lausanne

20 Conclusions ... HEC Lausanne

21 Relationnel vs. objet: le modèle relationnel
POUR CONTRE Le modèle relationnel est adapté à un grand nombre d'applications (de gestion par exemple), qui utilisent des types simples de données. Le modèle relationnel est basé sur une théorie "scientifique" et a été mis à l'épreuve ces 15 dernières années: travaux de Codd; ... Le modèle relationnel est facile à comprendre. Le modèle relationnel ne permet pas de représenter certaines entités complexes du monde réel. Les jointures peuvent être des opérations relativement lourdes. ... HEC Lausanne

22 Relationnel vs. objet: le modèle objet
POUR CONTRE Les objets permettent de représenter [plus] naturellement des entités du monde réel: objets complexes. Les objets offrent une plus grande souplesse pour gérer les structures de données complexes (multimedia, CAO, AGL, etc.) ... Les SGBDO posent un certain nombre de problèmes: gestion des objets en mémoire et dans la base; performance d'accès aux objets; concurrence d'accès aux objets. ... HEC Lausanne

23 ? Evolution des SGBD Relationnel- Relationnel objet Relationnel-objet
Nouveau paradigme Relationnel- objet Relationnel Objet temps HEC Lausanne

24 Réflexion: application de gestion clients
? Relationnel- objet Table Table Relationnel Table Table Table Objet HEC Lausanne

25 Relationnel, objet, ou objet-relationnel?
Georges Gardarin, "Bases de données objet & relationnel", Eyrolles, 1999 Complexité des requêtes Objet- relationnel Relationnel Relationnel Objet Complexité des données HEC Lausanne

26 ? Conclusion Relationnel Objet Relationnel- objet Relationnel-objet
Georges Gardarin, "Bases de données objet & relationnel", Eyrolles, 1999 Complexité des requêtes Relationnel Objet Relationnel- objet ? Relationnel-objet Nouveau paradigme Objet- relationnel Relationnel Relationnel Objet Complexité des données HEC Lausanne


Télécharger ppt "Bases de données orientées-objets"

Présentations similaires


Annonces Google