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

1  D'après G. Gardarin L'OBJET-RELATIONNEL l 1. Le modèle objet-relationnel l 2. Le processus de normalisation l 3. Vue d'ensemble de SQL3 l 4. Le support.

Présentations similaires


Présentation au sujet: "1  D'après G. Gardarin L'OBJET-RELATIONNEL l 1. Le modèle objet-relationnel l 2. Le processus de normalisation l 3. Vue d'ensemble de SQL3 l 4. Le support."— Transcription de la présentation:

1 1  D'après G. Gardarin L'OBJET-RELATIONNEL l 1. Le modèle objet-relationnel l 2. Le processus de normalisation l 3. Vue d'ensemble de SQL3 l 4. Le support des objets l 5. Conclusion

2 2  D'après G. Gardarin 1.Modèle objet-relationnel l Nécessité de conserver la compatibilité avec l'existant  SGBD relationnel  Applications client-serveur l Nécessité de supporter des données complexes  textuelles,  géométriques,  géographiques,  audiovisuelles,  soniques,  multimédias.

3 3  D'après G. Gardarin Faiblesses du modèle relationnel l Opérations séparées des données  procédures stockées non intégrées dans le modèle,  absence de gestion des attributs cachés. l Support de domaines atomiques  Conforme à la première forme normale de Codd,  inadapté aux objets complexes (documents structurés),  introduction de BLOB. l Mauvais support des applications non standards  CAO, CFAO,  BD Géographiques,  BD techniques.

4 4  D'après G. Gardarin L'apport des modèles objets l Identité d'objets  Introduction de pointeurs invariants,  Possibilité de chaînage. l Encapsulation des données  Possibilité d'isoler les données par des opérations,  Facilite l'évolution des structures de données. l Héritage d'opérations et de structures  Facilite la réutilisation des types de données,  Permet l'adaptation à son application. l Possibilité d'opérations abstraites (polymorphisme)  Simplifie la vie du développeur

5 5  D'après G. Gardarin Le support d'objets complexes l Nécessité d'introduire des attributs multivalués l Fourniture de collections prédéfinies telles liste, ensemble, tableau,... l Imbrication des collections pour représenter des objets très compliqués l Exemple  Type Molécule l { list }  Type Atome l { Noyau, list }

6 6  D'après G. Gardarin Relationnel Types utilisateurs et encapsulation Collection et objets complexes Référence et identité Héritage et réutilisation Classes de systèmes l Etendre le modèle relationnel  Systèmes objet-relationnel  Illustra de Stonebraker  UniSQL de Won Kim l Tout refaire  Systèmes objets  O2 de Bancilhon  Complexité l repartir de C++ l C++ persistants

7 7  D'après G. Gardarin Domaine Table Attribut Clé Référence RELATIONNEL OBJET Opération Héritage Identifiant Polymorphisme Types utilisateurs Collections L'objet-relationnel l Extension du modèle relationnel  Attributs multivalués : structure, liste, tableau, ensemble,...  Héritage sur relations et types  Domaine type abstrait de données (structure cachée + méthodes)  Identité d'objets l Extension de SQL  Définition des types complexes avec héritage  Appels de méthodes en résultat et qualification  Imbrication des appels de méthodes  Surcharge d'opérateurs l OBJECT-RELATIONAL EN ANGLAIS

8 8  D'après G. Gardarin 24ParisPaul Conducteur Age 45Paul 17Robert Rapport Photo 037 Accident Objet Police Police NomAdresseConducteursAccidents Exemple de table et objet (Oracle8)

9 9  D'après G. Gardarin Bilan Objet-Relationnel l Nécessité d'étendre les types de données l Les outils poussent. l Pas de révolution objet mais la continuité ! l Questions ?  Ce n 'est pas trop compliqué ce mélange ?

10 10  D'après G. Gardarin 2. Processus de normalisation l Un groupe international  ISO/IEC JTC1/SC 21/WG3 DBL l Pays actifs  Australie, Brésil, Canada, France, Allemagne, Japon  Korée, Hollande, Royaumes Unis, Etats Unis l ANSI X3H2 (http://www.ansi.org) l Documents  ISO/IEC 9075:1992, "Database Languages - SQL"  ANSI X , "Database Language SQL" l Validation par le NIST (http://ncsl.nist.gov)  SQL2-92 niveau entré ; problèmes de financement !

11 11  D'après G. Gardarin Les composants l Part 1: Framework  Une description non-technique de la structure de document. l Part 2: Foundation  Le noyau de spécification, incluant les types de données abstraits. l Part 3: SQL/CLI  l'interface d'appel client. l Part 4: SQL/PSM  le langage de spécifications de procédures stockées l Part 5: SQL/Bindings  les liens SQL dynamique et “embedded” SQL repris de SQL-92. l Part 6: SQL/XA  Une spécification de l'interface XA pour moniteur transactionnel. l Part 7: SQL/Temporal  Le support de la gestion du temps dans SQL3

12 12  D'après G. Gardarin Le planning l Committee Draft – 1/96 l Draft International Standard – 12/98 l International Standard – 7/99 l Autres composants prévus  SQL/MM spécification d'ADT multimédia  SQL/RDA spécification du protocole RDA

13 13  D'après G. Gardarin 3. Vue d'ensemble de SQL3 l Des aspects multiples  Un langage de définition de types  Un langage de programmation  Un langage de requêtes  Un langage temporel ... l Gestion de données complexes dans le cadre de système objet- relationnel  Nouveaux langages l Illustra, UniSQL, ODB II, Versant  Modèles Relationnels étendus ("universels") l Ingres, Oracle, DB2 UDB, Informix

14 14  D'après G. Gardarin La base l Basic SQL/CLI capabilities (interface appel client) l Basic SQL/PSM capabilities (interface spécification des procédures stockées l Triggers (intégration des déclencheurs) l Abstract Data Types (ADT) l Object Oriented Capabilities l Préréquisites aux objets :  Capacité à définir des opérations complexes (PSM).  Stockage de procédures dans la base (PSM).  Appels de procédures externes (PSM).

15 15  D'après G. Gardarin Les triggers l Création des déclencheurs triggers  événement = INSERT, UPDATE, DELETE  possibilité de déclencher avant ou après l'événement.  action = opération sur table avec éventuelle condition.  possibilité de référencer les valeurs avant ou après mise à jour. l Exemple : l EMPLOYE (ID int, salaire float) l CUMUL (ID int, Augmentation float) l CREATE TRIGGER AFTER UPDATE OF salaire ON employé l REFERENCING OLD AS ancien_salaire, NEW AS nouveau_salaire l UPDATE CUMUL SET Augmentation = Augmentation + nouveau_salaire - ancien_salaire WHERE ID = employé.ID

16 16  D'après G. Gardarin Les procédures (PSM) l La programmation de procédure est intégrée au langage  déclaration de variables,  assignation,  structures de contrôle CASE, IF  boucles LOOP, FOR  gestion des exceptions SIGNAL, RESIGNAL  possibilité de procédures et fonctions externes l Possibilité de structuration en modules

17 17  D'après G. Gardarin Bilan Normalisation l La normalisation avance plus vite que les utilisateurs l Elle marche bien quand elle précède la technique ! l Questions ?  Et Microsoft ?

18 18  D'après G. Gardarin 4. SQL3 - Les objets l Extensibilité des types de données  Définition de types abstraits.  Possibilité de types avec ou sans OID. l Support d'objets complexes  Constructeurs de types (tuples, set, list, …).  Utilisation de référence (OID). l Héritage  Définition de sous-types.  Définition de sous-tables.

19 19  D'après G. Gardarin Les types abstraits l CREATE TYPE l  ::= WITH OID VISIBLE l objets sans OID par défaut  ::= UNDER l possibilité d'héritage multiple avec résolution explicite  l : attributs publics ou privés l : opérations publiques l : opérateurs surchargés l, : définition des ordres l : fonction de conversion de types

20 20  D'après G. Gardarin Quelques exemples l Un type avec référence  CREATE TYPE WITH OID phone (country VARCHAR, area VARCHAR, number int, description CHAR(20)) l Un type sans référence  CREATE TYPE person (nss INT, nom VARCHAR, tel phone) l Un sous-type  CREATE TYPE student UNDER person (major VARCHAR, year INT)

21 21  D'après G. Gardarin Les constructeurs de types l Les types paramétrés  possibilité de types paramétrés (TEMPLATE)  gestion de la généricité assurée par le compilateur... l Les constructeurs de base  collections SET(T), MULTISET(T), LIST(T)  CREATE TYPE person  (nss INT, nom VARCHAR, prénoms LIST(varchar), tel SET(phone)) l Les références  possibilité de référencer un objet créé “without OID”  CREATE TYPE car (number CHAR(9), color VARCHAR, owner REF(person)) l Les constructeurs additionnels  stack, queue, array, insertable array (exemple : texte)  non intégrés dans le langage mais peuvent être ajoutés

22 22  D'après G. Gardarin Les fonctions l Définition des fonctions  [ ] : CONSTRUCTOR, ACTOR, DESTRUCTOR  FUNCTION RETURNS | END FUNCTION l Peuvent être associées à une base, un type, une table, … l Exemple CREATE FUNCTION sell (c Ref(Constructor), amount MONEY) UPDATE Constructor SET total = total + amount WHERE Ref(Constructor) = c END FUNCTION l Langage de programmation  SQL et SQL3 PSM, Langage externe

23 23  D'après G. Gardarin Les tables l Caractéristiques  une table peut posséder des attributs d'un type abstrait  un tuple contient des références ou des valeurs complexes  un attribut peut être de type référence (REF ou with OID) l Possibilité d'utiliser un type prédéfini  CREATE TABLE cars OF car ; l Possibilité de définir un nouveau type  Le type est celui des tuples de la table  CREATE TABLE Constructors OF NEW TYPE Constructor (name VARCHAR, total MONEY) ; l Possibilité de définir des sous-tables  CREATE TABLE FrenchConstructors UNDER Constructors(taxe MONEY)

24 24  D'après G. Gardarin L'appel de fonctions et opérateurs l Appel de fonctions  SELECT r.name  FROM emp j, emp r  WHERE j.name = 'Joe' and distance(j.location,r.location) < 1 ; l Appel d'opérateurs  SELECT r.name  FROM emp, emp r  WHERE emp.name = 'Joe' and  contained(r.location, circle(emp.location,1)) ;

25 25  D'après G. Gardarin Le parcours de référence l Possibilité d'appliquer les fonctions Ref et DeRef (implicite)  CREATE TABLE cars OF TYPE car  SELECT c.Owner.name FROM cars c WHERE color = 'red' l Possibilité de cascader la notation pointée  SELECT dname FROM dept WHERE 1985 IN auto.years l Généralisation possible aux chemins multiples  SELECT dname FROM dept  WHERE autos.(year=1985 and name = 'Ford') l Toute collection peut être utilisée en place d'une table

26 26  D'après G. Gardarin N° ChefAdresseEmployésDépenses 25 Paris Patrick Montant 185 Motif NDep 42Eric 51 Services 24Versailles Paul Montant Motif 037 NDep NomAge Nom Age 45Pierre 37 Marie 12600Livres 28700Mission Portable 53000Livres 74000Mission Julie Exemple de tables imbriquées

27 27  D'après G. Gardarin select p.effdate, p.name, p.vehicleyr from policy p where p.carmodel.make = ‘ferrari' select effdate, name, vehicleyr from policy, customers, vehicles where policy.custno = customers.custno and policy.vehicleno = vehicles.vehicleno and model = ‘ferrari' Comparaison avec le relationnel l Accès en relationnel l Accès en objet-relationnel

28 28  D'après G. Gardarin Exemple d'application (1) l GIS (Geographical Information Systems) l Type Geométrie  Point, ligne, polygone, chemin, rectangle, ellipse,... l Fonctions  distance(geom,geom) returns real  contained(geom,geom) returns bool  overlaps(geom,geom) returns bool  intersection(geom,geom) returns geom  union(geom,geom) returns geom ....

29 29  D'après G. Gardarin Exemple d'application (2) l Images Type Library l Différents formats : TIFF, GIF, FAX, CD, JPEG l Fonctions :  rotate(image,angle) returns image  transpose(image) returns image  flip(image) returns image  enhance(image), oil_painting(image)  plus(image,image), minus(image,image)  intersection(image,image), union(image,image)  histogram(image) returns(table)  similarity(image,image)

30 30  D'après G. Gardarin 5. UN STANDARD EN EVOLUTION l Proposition concurrente de l'odmg  Accord entre constructeurs de SGBD Objets  Support du modèle pur objet de l'OMG  Variation de SQL traitant des collections imbriquées l Accord ANSI X3 H2 et ODMG  Définition d'un langage d'interrogation intégrant relationnel et objet  Convergence relationnel-objet vers SQL3 l De nombreux points restent à fixer  Visibilité des OID ?  Chemins multivalués ?  Cohérence ?

31 31  D'après G. Gardarin Objet ou objet-relationnel ? Données Données Simples Complexes Questions Relationnel Objet-Relation. Complexes Accès Fichiers Objet Directs ceci d'après Mike Stonebraker

32 32  D'après G. Gardarin Questions l L'objet-relationnel s'impose doucement  beaucoup de relationnel  un peu d 'objet (UDT) l Questions ?  Et Microsoft ?


Télécharger ppt "1  D'après G. Gardarin L'OBJET-RELATIONNEL l 1. Le modèle objet-relationnel l 2. Le processus de normalisation l 3. Vue d'ensemble de SQL3 l 4. Le support."

Présentations similaires


Annonces Google