1 / 26

Bases de données orientées-objets 12d . SQL3

Bases de données orientées-objets 12d . SQL3. Yves Pigneur Stéphane Rey Ecole des HEC Université de Lausanne CH-1015 Lausanne yves.pigneur@hec.unil.ch (+41 21) 692.3416. Agenda. Forces et faiblesses du modèle relationnel: nouveaux besoins en matière de gestion de données.

butch
Download Presentation

Bases de données orientées-objets 12d . SQL3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bases de données orientées-objets 12d. SQL3 Yves Pigneur Stéphane Rey Ecole des HEC Université de Lausanne CH-1015 Lausanne yves.pigneur@hec.unil.ch (+41 21) 692.3416

  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.

  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.

  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.

  5. Le besoin de types de données multimédia Types de données ABC123 Temps 1996

  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.

  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.

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

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

  10. Vue d'ensemble de SQL3 (1)

  11. Vue d'ensemble de SQL3 (2)

  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à.

  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é:CREATETYPE JOUR-OUVERT (LUN, MAR, MER, JEU, VEN);

  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;); CREATETYPE JOUR-OUVERT (LUN, MAR, MER, JEU, VEN);

  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));

  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));CREATETABLE PERSONNES OFPERSONNE;CREATE TABLE VINSMILL UNDERVINSWITH (MILL INT, QUALITE VARCHAR) CREATE TYPE PERSONNE WITH OID VISIBLE (NSS INT, NOM VARCHAR, PRENOMS LIST(VARCHAR), TEL SET(PHONE));

  17. SQL3 - Appel de fonctions • SELECT E.NOM, AGE(E)FROM EMPLOYES EWHERE AGE(E) < 35; • CREATETABLE EMPLOYESLOC UNDER EMPLOYES WITH (ADRES ADRESSE)SELECT NOM, REPOSFROM EMPLOYELOC EWHERE 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.

  18. SQL3 - Parcours de références • CREATETYPE VOITURE (NUMERO CHAR(9), COULEUR VARCHAR, PROPRIETAIRE REF(PERSONNE)) • CREATETABLE VOITURES OFTYPE VOITURE • SELECT V.PROPRIETAIRE DEREF NOMFROM VOITURES VWHERE V.COULEUR="ROUGE" AND V.PROPRIETAIRE DEREF ADRESSE..VILLE = "PARIS"

  19. SQL3 - Recherche en collections • SELECTREF(P)FROM PERSONNES PWHERE "VELO" INSELECT *FROMTABLE (P.PASSETEMPS). PASSETEMPS SET(VARCHAR)

  20. Conclusions ...

  21. 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. ... Relationnel vs. objet: le modèle relationnel POUR CONTRE

  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. • ...

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

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

  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

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

More Related