05/05/2009 1 Module: Bases de données Orientées Objet (volume 1) BELASLA El Meh

05/05/2009 1 Module: Bases de données Orientées Objet (volume 1) BELASLA El Mehdi Belasla22@yahoo.fr EMSI 2008/2009 2 05/05/2009 Objectifs du cours n Apprendre le concept BDOO n Apprendre la manipulation des SGBDOO ¨Orienté Objet pure (ODL, OQL..) ¨Le relationnel objet (SQL3) 3 05/05/2009 Structure du cours n Cours magistral n Travaux dirigés n TPs n projet 4 05/05/2009 Plan général du cours n Introduction à l’Orienté Objet n Problématique des BDs relationnels n Définition des SGBDO n Le standard ODMG ¨ ODL ¨ OQL n L’objet-relationnel ¨ SQL3 05/05/2009 5 L’orienté Objet 6 05/05/2009 Définition d’un objet n Un objet comme un ensemble comportant : ¨ des attributs n Propriétés de l’objet ¨ des méthodes n Comportements ou op érations ¨ un identifiant (OID) n Un objet correspondant à un objet réel (matériel ou abstrait). Les valeurs des attributs d éfinissent l'état de l'objet. 7 05/05/2009 Etat d’un objet n Ensemble des valeurs des attributs de l’objet à un instant donné ¨ Un attribut est une information qui qualif ie l’objet qui le contient. Chaque attribut prend une valeur dans un domaine de définition donné. ¨ Exemple : n Pour un objet de type «Voiture», Ma voiture est caractérisée par : ¨ Sa marque : « Opel » ¨ Sa couleur : « Noir » ¨ Sa masse : « 800 » ¨ Son immatriculation : « 555 AB 69 » n L’état d’un objet change pendant sa vie ¨ L’état d’un objet à un moment donné est la conséquence des comportements pass és ¨ Exemple : n Ancienne immatriculation de Ma voiture : « 888 YZ 03 » 8 05/05/2009 Comportement d’un objet n Actions et réactions possibles ¨ Ensemble d’opérations / méthodes n Exemple de méthodes ¨ démarrer, rouler, stopper, ajouter_essence n Stimulation ¨ Demander à un objet d’effectuer une méthode par un envoi de message n Exemple: Ok = ma_voiture.démarrer() Vol = ma_voiture.ajouter_essence(15) n Evolution de l’état ¨ L’état d’un objet dépend des opérations effectuées par les différents appels de méthodes. ¨ Certaines opérations dépendent de l’état courant n Exemple: ¨ La méthode ma_voiture.démarrer() ne fonctionnera seulement si ma_voiture.volume_essence > 0 9 05/05/2009 Identité d’un objet n Caractérise l’existence propre de l’objet ¨Identification de l’objet de manière n non ambiguë n indépendante de son état Deux objets dont toutes les valeurs d’attributs sont identiques n’ont pas la même identité 10 05/05/2009 Représentation d’un objet n Selon le formalisme UML Ma_voiture Sa marque : « Opel » Sa couleur : « Noir » Sa masse : « 800 » Son immatriculation : « 555 AB 69 » Démarrer() Ajouter_essence(entier v) Rouler stopper Attributs Méthodes Nom de l’objet 11 05/05/2009 Liens entre les objets n Pour pouvoir envoyer un message à un objet, il faut le «connaitre» ¨ Ex : L’objet Le_conducteur connaît l’objet Ma_voiture ¨ Connaître un objet revient à avoir une référence qui lui correspond 12 05/05/2009 Représentation des classes d’objets 13 05/05/2009 L'apport des modèles objets n Identité d'objets ¨ introduction de pointeurs ¨ possibilité de chaînage n Encapsulation des données ¨ possibilité d'isoler les données par des opérations ¨ facilite l'évolution des structures de données n Héritage d'opérations et de structures ¨ facilite la réutilisation des types de données ¨ permet l'adaptation à son application n Possibilité d'opérations abstraites (polymorphisme) ¨ simplifie la vie du développeur 05/05/2009 14 Problématique des SGBDR 15 05/05/2009 Définitions n Bases de Données : Ensemble structuré de données enregistrées sur un support disque pour sati sfaire les requêtes de plusieurs utilisateurs « en temps opportun » n Système de Gestion de Bases de Données (SGBD) : progiciel d ’usage général permettant la gestion de bases de données 16 05/05/2009 Fonctions d ’un SGBD n Persistance des donn ées sur disque n Partage des données (gestion des conf lits d ’accès) n Intégrité (respect de contraintes de coh érence) n sûreté de fonctionnement (reprises apr ès panne) n confidentialité (attribution de droits d ’accès) n archivage sur support externes (back -up) 17 05/05/2009 Schéma général Administration •Création des usagers, des droits •Maintenance •Optimisation Base de Données Définir un schéma des données Conception Utilisation •Usagers (postes de travail) •programmes Requêtes : • insertions • mises à jour • sélections Système de Gestion de Bases de Données Langage de Définition de Données Langage de Manipulation de Données 18 05/05/2009 Langages n Le Langage de Définition de Données permet de définir la structure des informations ( métabase): ¨ entités (ex : personne) avec leurs caractéristiques associées (ex: nom, prénom, fonction…) ¨ liens entre les entités (ex : une personne travaille sur un projet) n Le Langage de Manipulation de Donn ées permet d ’adresser des requêtes à la base : ¨ insertion de nouvelles entités (ex : embauche d ’un employé), destruction ¨ mise à jour de caractéristiques (ex : changement de fonction) ¨ sélection (ex : trouver les personnes dont la fonction est « ingénieur ») 19 05/05/2009 Historique des SGBD n Modèle hiérarchiques : données représentées sous forme d ’une arborescence n Modèle réseau : représentation sous forme d ’un graphe quelconque n Modèle relationnel : représentation sous forme de tables n Modèles orienté objet (représentation sous forme d ’objets) et relationnel-objet (hybridation entre relationnel et objet) Recherche ? 1960 1970 1980 Produits 1970 1980 1990 20 05/05/2009 Le modèle hiérarchique La base de données est une arborescence. Une donn ée est soit un nœud, soit une feuille Problèmes majeurs : n Obligation d ’utiliser la structure d ’arbre pour accéder aux données n redondance des données Département : recherche Département : projets Département : production Employés : Jean Eric Luc Employés : Louis Nicolas Alexandre Employés : Jacques Michel Centre : Paris Centre : Rouen Centre : Rouen 21 05/05/2009 Le modèle réseau Une donnée est un nœud d ’un graphe quelconque Département : recherche Département : projets Département : production Employés : Jean Eric Luc Employés : Louis Nicolas Alexandre Employés : Jacques Michel Centre : Paris Centre : Rouen Centre : Rouen n Insuffisance du modèle réseau : n Trop grande complexité du graphe n une requête se traduit par un programme de parcours complexes Départements Employés Centres 22 05/05/2009 Le modèle relationnel Représentation par des tables ind épendantes n Simplicité : description par des tables indépendantes n autonomie : chaque table est un point d ’entrée de la base n puissance de l ’expression des requêtes (requêtes déclaratives) Table des Départements ID nom centre D1 Recherche C2 D2 Projets C1 D3 Production C1 Table des Employés dept nom Jean D1 Éric D1 Luc D1 Louis D2 Nicolas D2 Alexandre D2 Jacques D3 Michel D3 Table des Centres ID nom C1 Paris C2 Rouen 23 05/05/2009 Production Projets Michel Jacque s Alexandre Nicolas Louis Michel Eric Le modèle orienté objet Représentation par des graphes d ’objets Employé nom Jean Département nom Centre nom Recherche Rouen Paris Embaucher Muter () Déménager () Créer () 24 05/05/2009 Avantages des SGBD relationnels n Modèle de données est très simple et donc facile à comprendre pour les utilisateurs. n Le modèle repose sur une base formellement définie _ définir : ¨ des méthodes de conception de schémas (théorie de la normalisation) ¨ langages de manipulation de données (LMD) standardisés (SQL, ...). 25 05/05/2009 Avantages des SGBD relationnels n La modélisation normalisée ¨ décomposer les données en sous-ensembles indivisibles et les relier par DF _ niveau le plus fin,# redondances et fusions. n Formes Normales 1 ère forme normale : Une relation est en première forme normale si tout attribut est élémentaire et non répétitif. 2 ième forme normale : Une relation est en deuxième forme normale si elle est en première forme normale et que tout attribut non-clé est en dépendance fonctionnelle de toute la clé. 3ième forme normale : Une relation est en troisième forme normale si elle est en seconde forme normale et que tout attribut non-clé n’est en dépendance fonctionnelle que de la clé primaire. 26 05/05/2009 n SQL, langage assez " propre" (≠Fortran, C) n Indépendance physique (et un peu logique) : changer le type de stockage => no pb ! n Optimisations nombreuses n Gestion de la conf identialité... n Modèle standard n Parallélisme n Puissance des entrepri ses leaders (ORACLE, DB2 …) Avantages des SGBD relationnels 27 05/05/2009 limitations du modèle relationnel n Prise en compte de la s émantique difficile ¨ pas de hiérarchie d'entités (modèle "à plat") ¨ pas d'héritage ¨ perte d'information sémantique ¨ maintien de l'intégrité difficile n Difficulté de la normalisation ¨ éclatement en une multitude de relations ¨ multiplicité des opérations de jointure n Programmation difficile ¨ plongement de SQL dans un autre langage 28 05/05/2009 Limites des SGBD relationnels n Modèle de données : ¨ trop simple ¨ Ne permet pas de repr ésenter facilement les objets du monde réel (plus complexes qu'une relation). n Dans les schémas, les objets du monde réel sont éclatés en plusieurs relations, _ multiplie les jointures dans les requêtes des utilisateurs. 29 05/05/2009 Représentation complexe du réel avec le relationnel n Représentation conceptuelle distante uploads/Ingenierie_Lourd/ cours-bdoo.pdf

  • 24
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager