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 12d. SQL3 Yves Pigneur Stéphane Rey Ecole des HEC Université de Lausanne CH-1015 Lausanne (+41.

Présentations similaires


Présentation au sujet: "Bases de données orientées-objets 12d. SQL3 Yves Pigneur Stéphane Rey Ecole des HEC Université de Lausanne CH-1015 Lausanne (+41."— 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)

2 HEC Lausanne 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 HEC Lausanne 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 HEC Lausanne 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 HEC Lausanne Le besoin de types de données multimédia 1996 ABC123 Temps Types de données

6 HEC Lausanne 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 HEC Lausanne 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 HEC Lausanne Le modèle objet-relationnel (3) RELATIONNEL Domaine Table Attribut Clé Référence OBJET Polymorphisme Types utilisateurs Opérations Héritage Identifiant Collections

9 HEC Lausanne Le modèle objet-relationnel (4)...ConducteursAccidentsPolice 9876 ConducteurAge Paul19 Louise37 Date

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

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

12 HEC Lausanne SQL3 - Les types abstraits CREATE [DISTINCT] TYPE [ ] [ ] [AS] ( ) La clause DISTINCT est utilisée pour renommer un type de base existant déjà.

13 HEC Lausanne 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);

14 HEC Lausanne 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);

15 HEC Lausanne 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 HEC Lausanne 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));

17 HEC Lausanne 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.

18 HEC Lausanne 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"

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

20 HEC Lausanne Conclusions...

21 HEC Lausanne Relationnel vs. objet: le modèle relationnel 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.... POURCONTRE

22 HEC Lausanne Relationnel vs. objet: le modèle objet 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.... POURCONTRE

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

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

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

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


Télécharger ppt "Bases de données orientées-objets 12d. SQL3 Yves Pigneur Stéphane Rey Ecole des HEC Université de Lausanne CH-1015 Lausanne (+41."

Présentations similaires


Annonces Google