Vous êtes sur la page 1sur 38

Bases de données avancées

Khalid Nafil
k.nafil@um5s.net.ma
année universitaire 2008/09

05/27/2009 Bases de données avancées 1


Objectifs
 Appréhender les différents modèles de
base de données
 Utiliser différents outils de gestion de
base de données
 Développer des compétences par
rapport au champ des base de données
avancées

05/27/2009 Bases de données avancées 2


Description du programme
 Présentation des modèles relationnel et
objet
 Modèle Orienté Objet
 ODMG
 Modèle Relationnel Objet
 SQL3
 XML

05/27/2009 Bases de données avancées 3


Ateliers
 PostgreSql
 Eyedb
 Oracle
 Sybase
 XML
 Jpox
 JDBC
 JDO
 Neodatis
05/27/2009 Bases de données avancées 4
Évaluation
 Présence et participation
 Ateliers
 Contrôle continu

05/27/2009 Bases de données avancées 5


Démarche de réalisation
 Présentation orale avec projection
 Préparation de l’atelier
 Animation de l’atelier
 La plateforme utilisée : Linux

05/27/2009 Bases de données avancées 6


Le modèle relationnel

Concepts de base

05/27/2009 Bases de données avancées 7


Le modèle relationnel
 Les concepts du modèle relationnel sont
fondés sur une théorie mathématique
issue de :
 l'algèbre relationnelle
 la théorie des ensembles
 la logique formelle

05/27/2009 Bases de données avancées 8


Le modèle relationnel
 Le modèle de génie logiciel mettant en
oeuvre le modèle relationnel repose sur
le principe de la séparation entre les
données et les traitements
 Le modèle a été inventé par le
mathématicien CODD en 1970

05/27/2009 Bases de données avancées 9


Concepts de base
 La relation
 Les opérateurs algébriques
 opérations ensemblistes
 opérations relationnelles
 opérations dérivées
 Les contraintes d'intégrité
 La normalisation

05/27/2009 Bases de données avancées 10


La mise en oeuvre
 SGBD relationnel
 la relation est implantée par une table
 identification par la clé primaire
 liens sémantiques gérés par les clés
étrangères
 les clés étrangères sont considérés
comme des pointeurs logiques

05/27/2009 Bases de données avancées 11


SGBDR : caractéristiques
 Le SGBDR est muni d'un langage de
programmation normalisé, et non
procédural : SQL

05/27/2009 Bases de données avancées 12


SQL
 SQL permet, entre autres, de :
 déclarer et créer toutes les entités de la base de
données
 manipuler les données stockées dans les tables
 interroger la base de données et en extraire des
informations selon des critères exprimés à l'aide
d'opérateurs algébriques
 définir des transactions
 contrôler l'accès aux données
 poser des verrous pour gérer l'accès concurrent
05/27/2009 Bases de données avancées 13
SQL : suite
 les données mémorisées sont typées
 à chaque attribut est associé un type
 les types proposés par les SGBD sont :
 les numériques
 les alphanumériques
 les dates
 les booléens
 les CLOB et BLOB
 les données sont persistantes
05/27/2009 Bases de données avancées 14
Conception d'applications
 architecture client-serveur
 la partie cliente est réalisée par un L3G
 la partie serveur est réalisée par un
langage propre au SGBD, tel que : PL/
SQL
 la conception est réalisée moyennant le
processus de normalisation
 nombre de jointures important

05/27/2009 Bases de données avancées 15


Points forts du modèle
relationnel
 bases mathématiques
 indépendances des données et des programmes
 langage d'interrogation (SQL) puissant
 spécification logique des liens entre tables
 notion de transaction
 concept de verrou
 Large diffusion auprès de la majorité des grands
constructeurs de SGBDR, arrivés à maturité

05/27/2009 Bases de données avancées 16


Points faibles du modèle
relationnel
 l'indépendance des données et des
programmes dissocie les données de leur
comportement
 la normalisation augmente le nombre de tables
et de jointures
 le typage est pauvre
 l'interfaçage entre les langages de
programmation tiers et le SQL
 la faible capacité de modélisation

05/27/2009 Bases de données avancées 17


Le modèle objet
 Actions et données
 Concepts de base
 Mise en oeuvre
 Persistance
 Sérialisation
 SGBD orienté-objet
 SGBD relationnel
 Forces et faiblesses
05/27/2009 Bases de données avancées 18
Le modèle objet : Actions et
données
 un système informatique réalise certaines
actions sur certaines données
 structurer le logiciel autour des données
plutôt qu'autour des actions
 les actions sont sujettes aux changements
 centrer la conception sur les données
 c'est la phylosophie du modèle objet

05/27/2009 Bases de données avancées 19


Le modèle objet : concepts de
base
 un type de données abstrait (ADT) est
constitué :
 d'une entité constituée de structures de
données
 de primitives d'accès (méthodes)‫‏‬

05/27/2009 Bases de données avancées 20


Le modèle objet : concepts de
base
 l'encapsulation des ATD : ne pouvoir
accèder qu'à une vue abstraite (interface)‫‏‬
 l'héritage : pouvoir créer un nouveau
ADT à partir d'un ancien
 l'ADT crée suite à un héritage est appelé
type dérivé
 le type dérivé est compatible avec l'ADT
abstrait

05/27/2009 Bases de données avancées 21


Le modèle objet : concepts de
base
 une classe est un ADT mettant en oeuvre
le principe de l'encapsulation, et dont les
méthodes sont activées par liaison
dynamique
 un objet est une instance d'une classe
 un langage de programmation est orienté
objet lorsqu'il implante le concept de
classe ainsi défini

05/27/2009 Bases de données avancées 22


Le modèle objet : Mise en
oeuvre
 Identification des classes du système
 Structuration et assemblage des classes
 Identification des objets métiers
 Données modélisées par des classes
reliées par des associations
 Conception basée sur l'approche
ascendante

05/27/2009 Bases de données avancées 23


La persistance
 Certains objets crées par une application
survivent à l’exécution : ils sont persistants
 La persistance est utile dans le cas où :
 Les informations mémorisées par les objets sont
partagées par plusieurs applications
 La même application peut s’exécuter
ultérieurement
 Les résultats réalisés par l’application sont à
mémoriser

05/27/2009 Bases de données avancées 24


La sérialisation
 Mécanisme implémenté par la plupart
des LPOO
 Permet d’enregistrer un graphe d’objets
dans un fichier séquentiel de bytes
(sérialisation)
 Le graphe peut être rechargé en
mémoire par la suite

05/27/2009 Bases de données avancées 25


Qualités de la sérialisation
 Simplicité d’emploi du mécanisme
 Possibilité de partager des objets entre
applications distribuées sans encodage
ni décodage

05/27/2009 Bases de données avancées 26


Défauts de la sérialisation
 L’ensemble du graphe est mémorisé/
rechargé en une seule opération
 Absence de transaction

05/27/2009 Bases de données avancées 27


Les SGBD orientés objet
 Les BDOO existent depuis le milieu des
années 80
 Ont pour objectif d’aligner les SGBD avec la
programmation OO
 Les langages OO ont un pouvoir d’expression
assez important, mais manquent d’outils de
gestion de persistance
 Les SGBD disposent de moyens pour gérer
la persistance et manquent d’expressivité

05/27/2009 Bases de données avancées 28


Les SGBD OO
 Un SGBD OO dispose :
 De toutes les qualités d’un langage de
programmation OO,
 De mécanismes performants de gestion de
la persistance

05/27/2009 Bases de données avancées 29


Les SGBD relationnels
 On peut utiliser un SGBDR pour assurer
la persistance des objets dans le
contexte d’un modèle objet
 Toutefois : problème d’incompatibilité
 Le modèle relationnel est axé sur les
données
 Le modèle objet est axé sur le
comportement

05/27/2009 Bases de données avancées 30


Forces du modèle objet
 Unité entre les données et les programmes
 Principe de liaison dynamique
 Langage de programmation et modèle de
données unique
 Moins de différences entre le monde à
modéliser et le modèle de données
 Pouvoir d’expression et de modélisation
important
 Réutilisation des composants logiciels

05/27/2009 Bases de données avancées 31


Faiblesses du modèle objet
 Insuffisances théoriques
 Problème de gestion de la persistance
 Navigation entre objets définie une fois
pour toutes

05/27/2009 Bases de données avancées 32


Comparaison des deux
modèles
 Modèle relationnel :
 Algèbre relationnelle
 Théorie des ensembles
 Logique formelle
 Normalisation
 Modèle objet :
 Basé sur la perception objet du monde réel
à modéliser

05/27/2009 Bases de données avancées 33


Liens sémantiques
 Modèle relationnel :
 Clés étrangères
 Modèle objet :
 Pointeurs

05/27/2009 Bases de données avancées 34


Accès aux données
 Modèle relationnel :
 Chemins d’accès calculés à l’aide
d’opérations algébriques
 Le SGBD optimise les requêtes en utilisant
des théorèmes de l’algèbre relationnelle
 Modèle objet :
 Chemins calculés à partir des pointeurs

05/27/2009 Bases de données avancées 35


Le modèle objet-relationnel
 Consiste à fusionner les concepts des
modèles relationnels et objets :
 Le modèle relationnel est étendu par
l’adoption de concepts clés du modèle
objet
 Non First Normal Form
 OID

05/27/2009 Bases de données avancées 36


Liens entre entités
 Peuvent être représentés comme :
 le modèle relationnel
 Le modèle objet
 Solution mixte

05/27/2009 Bases de données avancées 37


Accès aux données
 Lié à la représentation des liens entre
entités
 Compétences de l’administrateur
requises

05/27/2009 Bases de données avancées 38

Vous aimerez peut-être aussi