1 / 18

TECHNIQUES DES SGBDO

TECHNIQUES DES SGBDO. 1. Qu'est-ce qu'un SGBDO ? 2. Architectures des SGBDO 3. Persistance des objets. Modèle relationnel. année 80 (2ème génération) objectifs : optimisation de l’accès aux données indépendance données/schémas langage déclaratif d’interrogation

livingston
Download Presentation

TECHNIQUES DES SGBDO

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. TECHNIQUES DES SGBDO • 1. Qu'est-ce qu'un SGBDO ? • 2. Architectures des SGBDO • 3. Persistance des objets

  2. Modèle relationnel • année 80 (2ème génération) • objectifs : • optimisation de l’accès aux données • indépendance données/schémas • langage déclaratif d’interrogation • fondement théorique : algèbre relationnelle • client/serveur Chapitre 1. Introduction.Historique

  3. Limites du modèle relationnel • Très bon support théorique • Mais : • Modèle plat 1FN • Données type simple • Attributs atomiques • Difficile de naviguer dans la structure (jointure) • nouvelles applis (CAO, bureautique...) • structure de données complexe • hiérarchie, graphe de dépendance • nouveaux types : • graphique, images, texte, sons • nouvelles fonctionnalités : • objets multimédias, versions Chapitre 1. Introduction.Historique

  4. Limites pour le programmeur • pb mélange procédural et déclaratif • pb de conversions de types • Extensions procédurale de SQL propriétaires • Modèle de transaction simple • Pas de transaction longue • Pas de transaction emboîtée • performances  (curseurs) • réutilisation, extension des programmes Chapitre 1. Introduction.Historique

  5. Evolution du matériel • avant : • serveur central avec BD • terminaux alphanumériques • maintenant : • stations de travail graphiques en réseau • puissance de calcul répartie • interfaces H/M conviviales et performantes Chapitre 1. Introduction.Historique

  6. Besoins administrateur • conception interactive • modif des données • modif des schémas • trace des choix antérieurs • plusieurs concepteurs Chapitre 1. Introduction.Historique

  7. Conclusion - Besoins actuels en BD • persistance, concurrence d’accès, tolérance panne • IHM, données complexes • liens complexes non-dirigés • indépendance données/programmes • support théorique solide • réutilisation Chapitre 1. Introduction.Historique

  8. Rappel modèle objet • Objet • Identifiant • Classe • Attributs • Opérations • Héritage • Objets complexes (collections) • Polymorphisme

  9. 1. Qu'est-ce-qu'un SGBDO ? • The Object-Oriented Database System Manifesto • Atkinson, Bancilhon, Dewitt, Ditrich, Maier, Zdonick ( DOOD'89) • Fonctionnalités BD obligatoires : • la persistance • la concurrence • la fiabilité (panne) • la facilité d'interrogation (langage de requête) • Fonctionnalités BD optionnelles : • la distribution • les modèles de transaction évolués (longues et emboîtées) • les versions

  10. Fonctionnalités objets • Fonctionnalités objets obligatoires : • les objets atomiques et complexes • l'identité d'objets • Encapsulation • Types ou classes • l'héritage simple • le polymorphisme (surcharge) • Langage de programmation objet • Fonctionnalités objets optionnelles : • l'héritage multiple • les messages d'exception

  11. Modèle objet « pur » • Persistance : • Orthogonale au type • Langages : C++, Smalltal, Java /OQL • Produits : • Issus des LPO • O2,ObjectStore, Ontos, Objectivity, Jasmine • Niches technologiques : • Réseau, CAO, SIG, Gestion de données techniques • Pas de transactionnel lourd

  12. Modèle objet-relationnel • Modèle relationnel • Codd, 1969 • Extensions du modèle relationnel : • Au niveau relation : • Imbrication de relations • UNISQL • Au niveau du domaine • Oracle 8, SQL 3, Microsoft

  13. Propriétés RICE (Miranda) • Réutilisation : • Finalité du paradigme objet • Héritage, généralisation, composition, polymorphisme • Identité : • Identifier un objet de manière unique • Complexité : • Définition d’objets complexes et/ou fortement structurés • Encapsulation : • Boîte noire avec des méthodes de manipulation

  14. Objet « pur » vs. Objet-relationnel

  15. ARCHITECTURES SGBDO • Architecture fonctionnelle type : • Editeur de classes • Manipulateur d’objets • Bibliothèques graphiques • Débogueur, éditeur Outils Interactifs LOO Persist. ODL OQL OQL = Object Query Language ODL = Object Defintion Language LOO = Langage Orienté Objet • Persistance • Concurrence • Identification • Fiabilité • Accès • Sécurité Gérant d'objets

  16. 3. PERSISTANCE DES OBJETS • Objectifs • faire persister les objets du LOO sans les démonter • assurer le plus possible la transparence pour le programmeur • garder des performances proches du travail en mémoire • récupérer les emplacements des objets détruits • Moyens • gérant d'objets persistants assurant concurrence et fiabilité • identifiant d'objets permettant de retrouver les objets en 1 ou 2 accès • ramasse-miettes périodique

  17. La Persistance par héritage • Classe racine de persistance PObject • tout objet d'une sous-classe hérite des propriétés de persistance • New, Delete et Envoi de message sont surchargés • une primitive Lookup est ajoutée pour les recherches • Non orthogonale au type • seuls les types héritants de PObject persistent • nécessité de dupliquer les classes persistantes et transiantes • possibilité de marquer la persistance pour éviter la duplication (attribut booléen Persistant) Pobject New Delete Lookup --> PPerson Nom Prenom …

  18. La Persistance par référence • Définition par le programmeur de racines de persistance • Mot clé "persistant" ou "db" ajouté aux déclarations • exemples: • Employe* emp = new persistant Employe("Toto"); • persistant int x; • un objet racine de persistance est catalogué • accessible par lookup • Tout objet référencé par un objet persistant est persistant • les références sont rendues persistantes : • lors de l'écriture d'un objet les références • sont remplacés par des oid Catalogue toto x voiture moteur

More Related