ORIENTE OBJET SOUS POSTGRESQL Membres du Groupe: FARE Samuel APAFLO Nicole YENT

ORIENTE OBJET SOUS POSTGRESQL Membres du Groupe: FARE Samuel APAFLO Nicole YENTCHABRE Dorcas ATTIKPO Godwin SOMMAIRE: Introduction I-Les SGBDR II-L’approche orientée objet III-SGBD Orientés Objets IV-SGBD Objets Relationnels Conclusion INTRODUCTION L’étude systématique des principes des bases de données commença avec l’introduction du modèle relationnel.Comme tous les autres modèles de données, le modèle relationnel. a une partie structurelle(les schémas), et une partie opérationnelle(l’algèbre relationnelle). Dans le modèle relationnel la partie logique et physique sont indépendantes les unes des autres. Postgresql est un système de gestion de base de données open source. Il est à la fois puissant et conforme aux normes ACID (atomicité, cohérence, isolation, durabilité). Postgres est un système de gestion de base de données relationnelle objet (ORDBMS), ce qui signifie qu'il est différent des systèmes de gestion de base de données tels que MySQL. Un SGBDOO combine des fonctionnalités du système de gestion de base de données relationnelles et de la programmation orientée objet. La première grande différence réside dans les types de données. Postgresql prend en charge tous les types de données SQL standard, mais ajoute également une variété de types qui ne sont pas pris en charge par les SGBDR SQL classiques. L’approche Orientée Objet La programmation orientée objet est une approche de programmation informatique de plus en plus utilisée dans le domaine du développement logiciel, mais aussi pour la Data Science. Pour concevoir et réaliser des logiciels structurés et réutilisables, par composition dʼéléments indépendants , il faut une méthodologie adéquate (productivité des développeurs,réutilisabilité) . Concepts essentiels: Encapsulation •Interface visible : opérations (méthodes) • Implémentation cachée : structure et code Héritage • Langages de programmation OO Eiffel, Smalltalk, C++, Java Intérêts de l’approche objet pour les BD Identité objet: • Favorise le partage de données • Supporte des pointeurs typés Encapsulation de données : • Permet lʼisolation de données des opérations • Facilite lʼévolution des structures de données Héritage dʼopération et de structure : • Facilite la réutilisation de type de données • Permet de particulariser les programmes aux besoins de lʼapplication Possibilité de définir des opérations abstraites (polymorphisme) : Les options d’évolution des BDR vers l’objet Encapsuler le SGBD Relationnels • Wrapper client Orienté Objet (Wrapping Objet) • Langage de Programmation Orienté Objet + SGBDR Construire une nouvelle technologie de BD • SGBD Orienté Objet (SGBD-OO) • Langage de Programmation Orienté Objet persistant -> Approche révolutionaire . Construire une nouvelle technologie de BD ! SGBD Objet Relationnel (SGBD-OR) SGBD ORIENTES OBJETS Les 8 règles d'or d'un SGBD-OO Services langage Services BD R1 : Identité d'objet (ID) mise à jour, partage, graphes sémantique d'ID R5 : Persistance modèle formel, algèbre, gestion mémoire virtuelle (garb.collec.) R2 : Abstraction (types/classes), liaisons dynamiques R6 : Structuration complexe (attributs et entités), constructeurs (tuples, set), schéma R3 : Encapsulation (méthodes, messages) R7 : Sécurité confidentialité, intégrité (déclencheurs, etc...), synchronisation ; reprise après panne, transactionnel R4 : Réutilisation héritage (simple, multiple), polymorphisme (surcharge), versions R8 : Interfaces non procédurales traitements ad hoc, optimiseur Identité (ID) • Un objet existe s'il est identifiable (OID) • Cette identification est un invariant dans la vie de l'objet • L'existence d'un objet est indépendante de sa valeur En conséquence il est possible de : • Référer un objet de manière non ambiguë par son identifiant • Mettre à jour la valeur d'un objet sans remettre en cause son existence • Représenter des liens sémantiques entre objets (liens entre identifiants) • Distinguer l'identité de l'égalité (mêmes valeurs mais identités différentes) • distinguer des copies "profondes" (concernant tous les sous-objets) ou "superficielles" (concernant seulement les références) Abstraction • Possibilité d'éliminer les caractéristiques non essentielles d'un objet de façon à créer des regroupements d'objets appelés "types" ou "classes " • Un objet est alors une instance d'un type ou d'une classe Encapsulation • Le type est défini avec tous les opérateurs spécifiques qui lui sont applicables • Ces opérateurs sont souvent appelés "méthodes" • L'appel d'une "méthode" se fait par envoi d'un "message " • Seul de l'ensemble des opérateurs du type, la "signature" est visible pour l'utilisateur, l'implantation des opérateurs est cachée Réutisabilité • Polymorphisme (l'encapsulation): une fonction polymorphe (ex: afficher) peut s'appliquer à une divers d'objets (image, texte...) • Héritage (abstraction - sous typage) : Permet de factoriser entre objets soit des structures de données, soit des opérateurs, peut être simple, multiple, sélectif, partiel Persistance • Quels objets persistent dans la BD à la suite de lʼapplication qui les a fait naître ? Structuration complexe • BDR : impossible de créer de nouveaux types à partir des types prédéfinis • BDO : des constructeurs permettent l'extensibilité des types de base Fonctionnalités des SGBDOO • un SGBD Orienté Objet : O2 Technology (à l'origine startup INRIA) un environnement de programmation complet : débogueur, navigateur/éditeur dans le schéma et dans la base, une boite à outils : CO2, O2Query, OQL, … • des outils de génération d'interfaces : O2LooK Modèle de données des SGBDOO • gère les valeurs complexes • distinction entre objets-valeurs • les classes et les méthodes ne sont pas des objets • l'ensemble est un constructeur de classe • les objets sont fortement typés • sémantique de l'inclusion pour l'héritage • les objets nommés sont les points d'entrée de la BD et les racines de la persistance Approche Evolutionnaire (SGBD Objet - Relationnel) Fondements : • ACM 89 : "Third-generation DBMS manifesto" 3 principes d'intégration: • intégration des nouveaux concepts d'objets et règles (encapsulation, héritage, fonctions, déclencheurs, ...) • maintient de l'approche ensembliste, SQL, persistance des données, mises à jour sur vues • intégration dans les architectures ouvertes et standardisées (client-serveur) Produits : • POSTGRES, IBM DB2 CS (V2.1), IBM DB2 UDB, CA-Ingres, Illustra, UniSQL/X, Oracle 8, IBM DB2 UDB, Informix, … Modèle Objet - Relationnel La relation est lʼabstraction fondamentale (pas la classe comme pour les SBBD OO) Extension du modèle relationnel : • attributs structuré et multi-valués • héritage pour les relations et les types • ADTs (Types abstraits de données) pour les domaines • Identification dʼobjet pour les tuples • Surcharge dʼopérations Extension de SQL : • Schémas : tables au sommet et ajouts OO à lʼintérieur • Requêtes : extension pour supporter les ajouts OO SGBD Objets Relationnels C'est un SGBD relationnel avec des "extensions objet", ce qui exprime surtout le fait qu'on peut créer ses propres types et opérateurs. Mais il y a des années qu'il n'y a eu aucune évolution qu'on puisse rattacher à des fonctionnalités objet. Base de donnée orienté objet - PostgreSQL (developpez.net) Présentation de POSTGRES Le modèle de données de Postgres : • Terminologie objet : • class = relation ; instance = tuple ; object-id = tuple-id • method = attribut or function dʼattributs • Support des ADTs extensibles : • procédures extensibles utilisant des functions C • opérateurs binaires • Support des constructeurs de types : • utilise des requêtes • supporte directement les tableaux (Array) • Héritage de classes : permet un héritage de méthodes et une collection de hiérarchie TYPE DE DONNEES UTILISATEUR Type de données définissable par l’utilisateur et composé d’une structure de données et d’opérations encapsulant cette structure . L’utilisateur peut donc définir ses propres types Type distinct Un type distinct est un type de données défini par l’utilisateur qui partage sa représentation interne avec un type de données intégré existant (son type « source »). Exemple : Create type datenaiss date ; Type ligne Séquence de paires de nom de champ et de type de données, qui forme un type de donnée représentant les types des lignes Create table personne ( Nom row( prenom varchar(20) ) Type structuré Un type structuré est un type de données défini par l’utilisateur dont la structure est définie dans la base de données. Il contient une séquence d’attributs nommés, chacun ayant un type de données. Un type structuré comprend également un ensemble de spécifications de méthode. Create type Nom as( Prénom varchar(20), Nom Varchar(20) ) Final ; Les types structurés qu’on créer peuvent être utiliser pour dans la création d’autres tables dans la base données (il représente les classe).il existe 2 type de tables Table relationnelle On peut utiliser les types définit plus tôt pour créer des attributs composés dans une relation(table) Exemple : Create table personne( Nom Nom, Adresse Adresse) ; Nb : Les composants d’un attribut composé sont accessibles avec un point ‘.’ Comme ceci Adresse.rue ; On l’instancie comme ça : New Nom(‘ATTIKPO’, ‘Akrabal’) Table d’objets Une table objet peut être définie en référençant un type de données . On défini les contrainte a la creation de la table et non la creation du type Exemple : Create type voitureType as ( Couleur varchar(20), Plaque varchar(20) ) Not final Create table voiture of voitureType ; Donc la table voiture aura que une seul colonne de type voitureType ; • Une table objet dispose d’un OID pour chacun de ses tuples . • Ce type de table permet de profiter de l’héritage de type pour permettre l’héritage de schéma de table Référence d’objet Sont les types de données particuliers permettant de mémoriser l’adresse uploads/Management/ oriente-objet-sous-postgresql.pdf

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Sep 12, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 10.2978MB