SlideShare une entreprise Scribd logo
1  sur  98
Bases de données
Pr. Yahya Benkaouz
y.benkaouz@um5r.ac.ma
FSR, Université Mohammed V de Rabat
Plan
• Introduction aux bases de données
• Analyse du monde réel
• Approche relationnelle
• SQL
Introduction aux bases de données
• Qu’est ce qu’une base de données?
• Evolution des bases de données et de leur mise en oeuvre
• Système de gestion de bases de données
• Etapes de la conception des bases de données
• Métiers des bases de données
Objectifs de la section
• Les bases de données ont connu un développement considerable
• Elles jouent un rôle dans chacune de nos opérations quotidiennes
• – du simple achat effectué avec sa carte bancaire jusqu’à nos déclarations de revenus.
• Les objectifs de la section :
• Définir la notion de base de données ainsi que les principaux concepts qui s’y rattachent.
• La méthodologie qui permet de les concevoir.
• Les applications informatiques associées à leur mise en oeuvre (SGBD)
• Les différents métiers des bases de données.
Introduction aux bases de données
• Qu’est ce qu’une base de données?
• Evolution des bases de données et de leur mise en oeuvre
• Système de gestion de bases de données
• Etapes de la conception des bases de données
• Métiers des bases de données
Introduction aux bases de données
• Le nombre d’informations disponibles et
les moyens de les diffuser sont en
constante progression.
Introduction aux bases de données
• La croissance du World Wide Web a encore accru ce développement, en fournissant l’accès
à des bases de données très diverses avec une interface commune.
www.freehali.com/service/je-vais-realiser-un-site-web-dynamique-base-de-donnee-bien-concue-qui-repond-exactement-aux-besoins-du-site
Introduction aux bases de données
• Les bases de données se situent au coeur
de l’activité:
• des entreprises,
• des administrations,
• de la recherche
• et de bon nombre d’activités humaines
désormais liées à l’informatique.
http://www.objectifrente.com/actions/10-secteurs-activites-pour-diversifier-portefeuille-actions
Introduction aux bases de données
• Dans le domaine purement informatique, les BDs
interviennent à tous les niveaux.
• Les développeurs d’applications s’appuient sur des
bases de données externes pour gérer leurs données
alors qu’auparavant elles étaient intégrées dans le
programme.
https://web.maths.unsw.edu.au/~lafaye/CCM/bdd/bddintro.htm
Introduction aux bases de données
• Les bases de données reposent sur des théories solides et sont à l’origine d’une des plus
importantes disciplines de l’informatique : l’ingénierie des systèmes d’information.
• Les aspects théoriques de la gestion des bases de données incluent entre autres :
• les fondements des langages de requêtes
• la complexité, la puissance d'expression des requêtes
• la théorie des modèles finis
• le contrôle de dépendance
• les fondements du contrôle de concurrence
• le sauvegarde et la restauration
• les bases de données temporelles, déductives, spatiales, probabilistes, …
• Etc.
Notion de bases de données
• On définit une base de données comme l’ensemble des
données stockées.
• Pour les manipuler, on utilise généralement un
logiciel spécialisé appelé SGBD (Système de Gestion
de Bases de Données).
• Il y a parfois confusion, par abus de langage, entre
base de données et SGBD.
• Plus formellement, on appelle Base de Données (BD):
Un ensemble de fichiers informatiques structurés ou non
structurés et organisés afin de stocker et de gérer de l’information
Utilisation d’une BD
• Une BD a un but précis:
• Par exemple:
• Retrouver toutes les recettes qui nécessitent des oeufs.
• Retrouver tous les CD qui contiennent un morceau donné.
• La grande différence avec un programme écrit dans un langage de programmation est:
• Une base de données doit pouvoir répondre à des questions pour lesquelles elle n’a pas
forcément été prévue à la conception.
• Les données sont susceptibles d’être utilisées par des applications différentes.
Elle doit permettre de retrouver de l’information par
son contenu en se fondant sur des critères de recherche.
Utilisation d’une BD
• En utilisant une base de données, on assure une indépendance entre le traitement et les données.
• C’est pourquoi, il est nécessaire que l’application obtienne des informations sur la structure des
données (nom, type, taille, etc.).
• => On associe à la base de données une description que l’on appelle «métadonnée» ou
«catalogue».
• Métadonnée: Des données qui en décrivent d’autres.
• En plus de la structure et du type des données, on stocke également à cet endroit les informations
concernant les règles de cohérence des données.
Utilisation d’une BD
Base de données de CD et métadonnée
Idée Générale:
- Indépendance de l’application par rapport à la
représentation interne des données.
=> une abstraction des données
- C’est la raison pour laquelle on utilise une
description des données sous la forme d’un
modèle pour permettre la restitution la plus
efficace possible de l’information.
Qualité d’une BD
• L’un des objectifs de la création d’une base de données est de pouvoir retrouver les données par
leur contenu.
• Dans cette optique, il faut s’assurer que les données contenues dans la base sont de « bonne
qualité ».
• Les principaux critères de qualité d’une BD:
• La cohérence des données
• L’absence de redondance
Qualité d’une BD
• La cohérence des données:
• Elle est fondamentale
• Elle nécessite une réflexion préalable sur la normalisation du contenu des champs
• Problèmes à résoudre: Silence et Bruit
• Exemple (Silence):
• On suppose qu’un champ contient la qualité d’une personne (par exemple, Monsieur,
Madame, Mademoiselle).
• Si l’on trouve dans ce champ ‘Mr’ à la place de ‘Monsieur’, il est clair que les recherches
sur ce champ par le contenu ‘Monsieur’ risquent d’être erronées.
• => Silence: Certains résultats pertinents seront ignorés lors d’une interrogation
Qualité d’une BD
• La cohérence des données:
• Elle est fondamentale
• Elle nécessite une réflexion préalable sur la normalisation du contenu des champs
• Problèmes à résoudre: Silence et Bruit
• Exemple (Bruit):
• On suppose qu’un champ contient la qualité d’une personne (par exemple, Monsieur,
Madame, Mademoiselle).
• Si l’on saisit ‘Mme’ pour ‘Madame’ et ‘Melle’ pour ‘Mademoiselle’, et qu’il y ait eu par
erreur plusieurs saisies de ‘Mme’ alors qu’il s’agissait d’une demoiselle, la recherche par
le contenu ‘Mme’ donne cette fois plus de résultats qu’il n’y a réellement de dames
• => Bruit: Certains résultats non pertinents seront retrouvés lors d’une interrogation
Qualité d’une BD
• La redondance:
• Elle est parfois plus déliquate á identifier
- Carnet d’adresse contient en même
temps le code postal et le nom de la
ville. (Redondance)
- Incohérence dans la saisie du nom de la
ville ‘Bordeaux’.
L’approche relationnelle procure des outils capables de détecter et d’améliorer
considérablement ce genre de problèmes de qualité des bases de données
Introduction aux bases de données
• Qu’est ce qu’une base de données?
• Evolution des bases de données et de leur mise en oeuvre
• Système de gestion de bases de données
• Etapes de la conception des bases de données
• Métiers des bases de données
Evolutions des BD
• Cette section présente:
• Le contexte dans lequel les BDs se sont développées.
• Les modèles utilisés successivement pour les representer.
• Une vue prospective des changements dans l’utilisation des bases de données.
Contexte
• À partir des années 1960:
• Les ordinateurs évoluent rapidement :
• De plus en plus performants.
• De plus en plus répandus du fait de leur coût plus raisonnable.
• Changement de leurs utilisations:
• De la notion de calculateurs purs à des machines capables aussi de traiter de
l’information.
• On parvient à un niveau d’abstraction supplémentaire par rapport aux machines
• On obtient en conséquence une indépendance par rapport à l’architecture et surtout
par rapport aux constructeurs.
Contexte
• La décennie des années 1970:
• Est une période « faste » pour la recherche et l’innovation en informatique dont les résultats
sont encore utilisés aujourd’hui.
• L’utilisation des langages de programmation de haut niveau (Pascal)
• On envisage des systèmes d’exploitation indépendants de la machine employée (Unix)
• On pose les fondements des techniques qui sont utilisées dans les réseaux (TCP/IP)
• C’est dans ce contexte favorable que E. F. Codd définit et développe l’approche relationnelle
en base de données.
Contexte
• Les objectifs des travaux de E. F. Codd:
• L’objectif principal est d’éloigner l’utilisateur des détails d’implémentation et de faciliter ainsi
l’usage de l’informatique.
• Rendre « génériques » et réutilisables les développements informatiques, parfois devenus
caducs en raison d’un changement de machine.
• Dans le domaine des bases de données, le développement de l’architecture à trois niveaux
constitue une première étape importante.
• Les fonctionnalités des systems de bases de données sont séparées en trois niveaux :
niveau physique, niveau logique et niveau externe.
Modèles
• Les modèles de données correspondent à la manière de structurer l’information dans une base
de données.
• Ils reposent sur les principes et les théories issus du domaine de la recherche en informatique.
• Ils permettent de traduire la réalité de l’information vers une représentation utilisable en
informatique.
Modèles
• Il existe de nombreux types de modèles de bases de données. Parmi les plus courants :
• Modèle de base de données hiérarchique
• Modèle relationnel
• Modèle réseau
• Modèle de base de données orientée objet
• Modèle relationnel-objet
• Etc.
Modèle hiérarchique
• Origine:
• Le traitement de l’information était encore très lié à l’organisation des fichiers sur une
machine.
• Les modèles conceptuels de données sont eux aussi très proches du système de fichiers
puisque l’on manipule des graphes ou des arbres.
• Les noeuds de ces structures constituent les informations et les liens entre ces données les
arêtes.
Modèle hiérarchique propose une classification arborescente
des données à la manière d’une classification scientifique.
Modèle hiérarchique
• Aperçu:
• Le modèle hiérarchique organise les données dans une structure arborescente
• Chaque enregistrement dispose d'un seul parent (racine).
• Les enregistrements frères et sœurs sont triés dans un ordre particulier.
• Cet ordre est suivi pour le stockage physique de la base de données.
https://www.lucidchart.com/
Modèle hiérarchique
• Il propose une classification arborescente des
données à la manière d’une classification scientifique.
• Chaque enregistrement n’a qu’un seul possesseur.
• Ex: une commande n’a qu’un seul client.
• Ce modèle ne peut pas traduire toutes les réalités de
l’information dans les organisations.
• Il a surtout été utilisé par les systèmes de gestion
d'information d'IBM dans les années 60 et 70.
Modèle Réseau
• Une extension du modèle hiérarchique:
• Le modèle reseau autorise des relations plusieurs-à-plusieurs entre des enregistrements liés,
ce qui implique plusieurs enregistrements parents.
• Basé sur la théorie mathématique des ensembles, ce modèle s'articule autour d'ensembles
d'enregistrements connexes.
• Chaque ensemble se compose d'un enregistrement propriétaire (ou enregistrement parent)
et d'un ou plusieurs enregistrements membres (ou enfants).
• Un enregistrement peut être un membre ou un enfant dans plusieurs ensembles, ce qui
permet à ce modèle de traduire des relations complexes.
Modèle Réseau
• Dans les deux modèles, les enregistrements sont reliés par
des pointeurs.
• On stocke l’adresse de l’enregistrement auquel il est lié.
• Des SGBD de type hiérarchique ou réseau sont employés
pour des raisons d’efficacité lorsque la structure des données
s’y prête.
• Son pic de popularité remonte aux années 70, après qu'il a
été officiellement défini par la conférence sur les langages de
systèmes de traitement de données (Conference on Data
Systems Languages, CODASYL).
https://www.lucidchart.com/
Modèle Relationnel
• Proposé en 1970, par E. F. Codd dans l’article :
• Il cherche à créer un langage d’interrogation des bases de
données plus proche du langage naturel.
• Dans cette optique, il fonde sa recherche sur des concepts
mathématiques rigoureux, tels que la théorie des ensembles et
la logique du premier ordre.
• Le modèle relationnel permet de modéliser les informations
contenues dans les bases de données en utilisant des relations,
c’est-à-dire des ensembles d’attributs.
« A Relational Model of Data for Large Shared Data Banks »,
CACM 13, no 6, June1970.
Modèle Relationnel
• De l’idée de départ à la réalisation d’un produit utilisable, le laps de
temps est souvent de l’ordre d’une décennie.
• La mise en oeuvre des idées de Codd se fait chez IBM dans le
cadre du projet de recherche System-R.
• Le premier produit commercial sera non pas le fait d’IBM, mais
celui d’Honeywell en 1976.
• Il sera suivi d’un produit réellement abouti de chez Relationnel
Software en 1980 : Oracle, qui a connu le succès que l’on sait.
• De son côté, IBM en tirera un produit qui deviendra DB2.
Modèle Relationnel
• Toujours dans le cadre du projet de recherche System-R:
• E. F. Codd met au point, en même temps que le modèle
relationnel,
• Un langage d’interrogation des données, SEQUEL
• SEQUEL deviendra ensuite SQL (Structured Query Language).
• La normalisation du langage SQL dès 1986 par l’ANSI, puis par l’ISO,
• => a assuré pour une grande partie le succès du modèle
relationnel auprès des entreprises.
• La normalisation de ce langage garantit sa pérennité, même si son
évolution s’en trouve ralentie.
Modèle Relationnel
• Fait rare dans le monde informatique, ce langage a été adopté
par la quasi-totalité des éditeurs commerciaux qui participent
activement à son évolution.
• SQL est devenu le standard de fait, même si aucun éditeur ne
respecte à la lettre la norme.
• D’ailleurs, à partir de SQL 2, il existe une définition de
quatre niveaux de compatibilité avec la norme officielle.
• Les requêtes écrites pour un SGBD fonctionnent en général sans
trop de modifications avec un autre SGBD
• ce qui permet d’envisager des migrations moins
douloureuses et de conserver une partie de
l’investissement initial.
Modèle Relationnel
• Aperçu:
• Le modèle relationnel et le modèle le plus courant.
• Les données sont triés dans des tables, que l'on appelle
aussi des relations, dont chacune se compose de
colonnes et de lignes.
• Chaque colonne contient un attribut de l'entité en
question, comme le prix, le code postal ou la date de
naissance.
• L'ensemble des attributs d'une relation est appelé
domaine.
• Chaque ligne, également appelée tuple, comprend des
données sur une instance spécifique de l'entité en
question, comme un employé en particulier.
• Le modèle tient également compte des types de
relations entre ces tables. e.g. un-à-un, un-à-plusieurs,…
https://www.lucidchart.com/
Modèle Objet
• Dans le sillage du développement des langages
orientés objet (C++, Java…) dans les années 1980, le
concept objet a été adapté aux bases de données.
• Plusieurs raisons, en dehors des qualités reconnues
de l’approche objet, ont conduit à définir une
extension objet pour les bases de données.
• Le modèle relationnel, dans sa simplicité, ne
permet pas de modéliser facilement toutes les
réalités.
• Un objet permet de représenter directement un
élément du monde réel.
Encapsulation
Héritage
Modèle Objet
• Les structures d’éléments complexes se retrouvent souvent dispersées entre plusieurs tables dans
l’approche relationnelle classique.
• De plus, le concept objet est mieux adapté pour modéliser des volumes de texte importants ou
d’autres types de données multimédias (sons, images, vidéos…).
• Il est beaucoup plus commode de manipuler directement des objets lorsque l’on développe avec
un langage à objet (comme C++ ou Java).
• Les bases de données « orientées objet » apportent ainsi aux applications développées en
langage objet la persistance des objets manipulés :
• Ces derniers peuvent ainsi directement être réutilisés par l’application d’origine ou par d’autres sans
redéfinition.
Modèle Objet
• Aperçu:
• Ce modèle définit une base de données comme une
collection d'objets, ou d'éléments logiciels réutilisables,
associés à des caractéristiques et des méthodes.
• Il existe plusieurs types de bases de données orientées
objet :
• Une base de données multimédia réunit des médias, tels que
des images, qui ne peuvent pas être stockés dans une base de
données relationnelle.
• Une base de données hypertextuelle permet à n'importe quel
objet d'être relié à un autre. Elle est utile pour organiser de
nombreuses données disparates, mais peu adaptée à l'analyse
numérique.
Modèle Objet
• Les produits commerciaux adaptés à ces concepts n’ont pas connu une diffusion suffisamment
importante.
• Le monde des bases de données évolue assez lentement :
• La migration d’un système d’information vers l’objet représente pour une organisation
un investissement considérable qui n’est pas toujours justifié.
• La robustesse et la popularité de l’approche relationnelle, qui a mis presque vingt ans à
s’imposer, a également freiné le développement de l’approche objet pure dans les bases de
données.
• Les données modélisées sous forme d’objets sont aussi plus complexes à représenter du
point de vue du SGBD et l’on rencontre encore très souvent des problèmes de performance.
Modèle Relationnel-Objet
• Nécessité de gèrer des données autres que du texte et des nombres
• Ex: comme des images, du son et des vidéos
• Nécessité de gèrer les champs « multivalués » (i.e. disposant de
plusieurs valeurs)
• Ex: Une liste de prénoms ou des coordonnées géographiques, ne
peuvent pas être modélisés efficacement en Modèle Relationnel
implique l’évolution du modèle relationnel
Modèle Relationnel-Objet
• Solution : L’idée est alors d’intégrer de l’objet au modèle relationnel.
• Ce type d’évolution a été déjà développé dans le cadre des langages de
programmation
• Ex: du C vers C++
• C++ n’est pas un langage à Objet pur (tel que SmallTalk)
• Ce Modèle est adopté par la plupart des SGDB
• Permet aux concepteurs des bases de données de disposer de types
évolués « abstraits » plus simples à concevoir et surtout plus commodes
à faire évoluer.
Modèle Relationnel-Objet
• La norme SQL a logiquement été adaptée. Dans
sa version 3, elle prend en compte l’extension
objet.
• Les types de données sont étendus et les
opérations d’encapsulation et d’héritage,
typiques de l’approche objet, sont supportées.
• Cette solution a l’avantage d’offrir un bon niveau
de compatibilité avec l’approche précédente très
répandue et d’effectuer ainsi une migration plus
aisée.
Autres modèles de bases de données
• D'autres modèles sont venus s'opposer au modèle relationnel :
• Le modèle de base de données orienté graphe:
• Il est encore plus flexible qu'un modèle réseau, car il permet la connexion entre tous
les nœuds, quels qu'ils soient.
• Le modèle multivaleur:
• Il se distingue du modèle relationnel en permettant aux attributs de contenir une liste de
données plutôt qu'un seul point de données.
• Le modèle orienté document:
• Il est conçu pour stocker et gérer des documents ou des données semi-structurées
plutôt que des données atomiques.
Choix du modèle
• Vous pouvez choisir de représenter une base de données selon l'un de ces modèles en fonction
de plusieurs facteurs.
• Le plus important est de savoir si le système de gestion de base de données que vous utilisez
prend en charge un modèle particulier.
• La plupart des SGBDs sont pensés pour un modèle de base de données particulier et exigent des
utilisateurs qu'ils adoptent ce modèle, mais certains prennent en charge plusieurs modèles.
Évolution de l’utilisation des BDs
• Cette section présente:
• Une description de nouvelles manières de stocker ou d’utiliser les bases de données.
Bases de données réparties
• Le déploiement des reseaux informatiques ainsi que l’augmentation de leur débit ces dernières
années ont conduit à répartir les données sur plusieurs sites géographiques.
• Ceci facilite la politique de décentralisation des organisations.
• Ce type d’architecture masque la répartition de l’information tout en garantissant une gestion
transparente aux utilisateurs, comme s’ils disposaient d’une seule base de données.
Bases de données réparties
• Les bases de données réparties assurent ainsi une plus grande fiabilité, de meilleures
performances et facilitent l’évolution du système d’information.
• La fiabilité et la sécurité:
• On effectue une copie de sécurité des données sur un site distant à intervalles réguliers
pour éviter le désastre de la perte de données due à un incendie par exemple.
Bases de données réparties
• Les bases de données réparties assurent ainsi une plus grande fiabilité, de meilleures
performances et facilitent l’évolution du système d’information.
• La disponibilité :
• On procède à des réplications quasi permanentes des données dans le but de «
rapprocher » les utilisateurs des données d’un point de vue de la topologie du réseau.
• On améliore également le temps de réponse en répartissant la charge entre les serveurs.
Bases de données réparties
• Les bases de données réparties assurent ainsi une plus grande fiabilité, de meilleures
performances et facilitent l’évolution du système d’information.
• Les données sont réparties sur des sites séparés:
• Le dispositif permet de masquer cet aspect aux utilisateurs et de fonctionner comme si
un seul serveur était présent sur un seul site.
• L’évolution du système est rendue totalement transparente pour les utilisateurs :
• En cas notamment de changement de machine à la suite d’une panne, de modification de
localisation, d’augmentation de la taille de la base, d’ajout d’ordinateurs sur le réseau afin
d’augmenter la capacité de stockage de la base de données.
Bases de données réparties
• Ces technologies possèdent néanmoins des inconvénients:
• Administration complexe
• Distribution du contrôle
• Difficulté de migration
• Sécurité plus complexe et plus couteuse à assuré
Extraction d’informations
non explicitement stockés dans une BD
• Il existe deux manières de « créer » de la nouvelle information à partir de l’information stockée
explicitement dans une base de données.
• Bases de données deductives:
• permet de déduire des informations à partir de données stockées par utilisation d'un
mécanisme d'inférence logique.
• Datamining:
• on utilise des méthodes d’analyse afin de trouver des corrélations sur un volume de
données important, ce qui permet ensuite d’en déduire des règles.
Extraction d’informations
non explicitement stockés dans une BD
• Bases de données deductives:
• On définit un ensemble de règles
• On applique les régles aux données de la base, à l’aide d’un programme
que l’on appelle un « moteur d’inférence ».
• Les SGBD qualifiés de déductifs utilisent à cet effet un dérivé du langage
Prolog : Datalog.
• Exemple:
• Les relations de parenté entre individus
• On suppose que l’on a une base de données qui représente les
relations « père-fils »
• Une règle très simple permet de définir un lien de parenté « ancêtre »
:
Si père-fils(X,Y) et père-fils(Y,Z), alors ancêtre(X,Z)
Extraction d’informations
non explicitement stockés dans une BD
• Datamining:
• Obtenir une information nouvelle à partir de l’information existante.
• Consiste à analyser de grands volumes de données afin d’identifier des corrélations entre des
valeurs de champs.
• Les techniques d’analyses employées sont une alchimie concoctée à partir de statistiques, de
réseaux de neurones, de classifications et autres techniques employées en intelligence
artificielle.
• Objectif: A partir des données, définir les règles.
• Exemple: « les personnes moustachues de plus de quarante ans habitant une maison
individuelle lisent plutôt des revues de psychologie ».
Entrepôts de données (Datawarehouse)
• Les entrepôts de données sont des bases de données «
récapitulatives »
• Elles sont constituées à partir de différentes sources de
l’entreprise (comptabilité, ventes, achats, service du
personnel…)
• Elles permettent de disposer d’un accès homogène à
l’ensemble des données pour les exploiter en tant
qu’information décisionnelle.
Entrepôts de données (Datawarehouse)
• Si l’information est disponible, on stocke les différentes
valeurs d’une donnée, ce qui permet de conserver un
historique dans le temps de certaines données (Données
historisées, BD temporelles)
• Elles offrent la possibilité d’effectuer des analyses
décisionnelles qui combinent tous les paramètres de
l’entreprise : c’est l’analyse décisionnelle
multidimensionnelle.
• Les techniques de Datamining et de déduction peuvent être
utilisées.
BD Multimedia
• Le multimédia s’est fortement développé depuis la fin des années 1990.
• Les éditeurs de SGBD se doivent d’intégrer de l’information multimédia (image, son, vidéo…) dans
les bases de données
• Les bases de données multimédias posent de nouveaux problèmes, en particulier pour effectuer
des recherches sur les contenus multimédias, ce qui est par nature difficile.
BD Multimedia
• Option 1:
• Indexation préliminaire manuelle à l’aide de mots clés qui permettent d’opérer par la suite
des interrogations.
• Difficile pour le traitement des volumes importants de documents multimedia.
• Option 2:
• Faire de la recherche sur les fichiers multimedia.
• Ces problématiques relèvent pour l’instant plutôt des préoccupations des sociétés développant
les moteurs de recherche que des bases de données au sens strict.
• Le groupe de normalisation ISO/IEC a fait des efforts pour l’évolution pour le multimédia de la
norme SQL-MM.
Introduction aux bases de données
• Qu’est ce qu’une base de données?
• Evolution des bases de données et de leur mise en oeuvre
• Système de gestion de bases de données
• Etapes de la conception des bases de données
• Métiers des bases de données
Système de gestion de BD
• Un SGBD est un logiciel complexe qui permet de gérer et d’utiliser les données que l’on stocke en
utilisant les modèles cités précédemment.
• Objectif de la section:
• Comprendre le mécanisme d’abstraction à partir duquel se fait le passage du simple fichier
informatique à la gestion de l’information qui se fonde sur l’utilisation d’un SGBD.
• Apprendre le modèle en couches des SGBD ainsi que leurs fonctionnalités de base.
Fichiers informatiques
• Un fichier peut être vu (historiquement) comme un morceau de bande magnétique.
• Les mécanismes de gestion de fichiers des langages de programmation, comme le langage C,
fonctionnent encore avec cette métaphore.
• Lorsqu’on utilise un fichier pour stocker de l’information, il est nécessaire de prévoir un
découpage de celui-ci par enregistrements, souvent de taille fixe.
• Pour passer d’un enregistrement à l’autre, il suffit alors d’avancer la « tête » de lecture de la taille
d’un enregistrement.
Fichiers informatiques
• Les données sont stockées dans l’enregistrement par un découpage interne suivant la taille de
chaque donnée.
• On utilise généralement des structures de données (par exemple, en langage C) pour récupérer
directement chaque valeur de champ dans une variable.
• Dans une base de données, on recherche les données par leur contenu.
• Une recherche séquentiel est très honéreuse.
Fichiers informatiques
• Alternative au parcours séquentiel:
• Construire des tables descriptives afin d’accélérer l’accès aux
données.
• Une première table permet l’accès direct à un enregistrement
par une « clé » associée à l’adresse (pointeur) de
l’enregistrement.
• Une seconde table contient l’ordre relatif des enregistrements
ordonnés suivant les valeurs d’un champ (Index)
Fichiers informatiques
• Alternative au parcours séquentiel:
• Permet d’employer des méthodes de recherche par le contenu
du champ indexé beaucoup plus efficaces qu’une recherche
séquentielle. (ex. Rech. dichotomique)
• De même que la recherche, la destruction d’enregistrements et
l’évolution de la structure de la base sont également des
opérations lourdes à mettre en oeuvre.
• Requiert souvent la recopie complete du fichier.
Besoin d’utiliser un SGBD pour la gestion des données
Fonctionnalités d’un SGBD
• De même que l’ISO a déterminé un modèle théorique en sept couches pour distinguer les applications réseaux
et leurs interactions, il existe désormais un modèle théorique en trois couches (trois niveaux d’abstraction) afin
de concevoir et d’organiser les fonctionnalités des SGBD.
• Ce modèle, qui date de 1975, s’inscrit dans les concepts et théories de la première génération des bases de
données, dont l’objectif est d’avoir une indépendance entre les données et les traitements
Modèle est élaboré par la commission SPARC de l’ANSI
Fonctionnalités d’un SGBD
• Niveau interne.
• Il décrit les structures de stockage de l’information,
• Les structures sont très dépendant du SGBD employé.
• Il se fonde sur un modèle physique de données.
Fonctionnalités d’un SGBD
• Niveau conceptuel.
• Il correspond à l’implémentation du schéma
conceptuel de la base de données, que l’on réalise lors
de la phase d’analyse (Modèle Conceptuel des
Données, Modèle Logique des Données).
• Il est utilisé pour décrire les éléments constitutifs de la
base de données et les contraintes qui leur sont
associées.
Fonctionnalités d’un SGBD
• Niveau externe.
• Il sert à décrire les vues des utilisateurs.
• Les vues sont différentes pour chaque catégorie
d’utilisateurs.
• Il permet de masquer la complexité de la base de
données en fonction des droits ou des besoins des
utilisateurs.
Fonctionnalités d’un SGBD
• Comme pour le modèle réseau OSI; les SGBD ne respectent pas à la lettre le découpage proposé.
• Ils se doivent cependant de posséder les principals caractéristiques qui découlent de ce modèle
en couches.
• Indépendance physique des données. Masquer la représentation interne des données ainsi
que les méthodes système d’accès aux utilisateurs.
• Indépendance logique des données. Permettre la modification du schéma conceptual des
données sans remettre en cause les mécanismes de stockage et de manipulation internes des
données.
• Intégrité des données. Faire en sorte que l’information résultant des liens entre les données
soit cohérente.
Fonctionnalités d’un SGBD
• Des fonctionnalités supplémentaires utilisées dans le cadre de bases de données
réparties:
• Réplication des données. Copie automatisée de sauvegarde.
• Virtualisation des données. Masquage de la distribution géographique des
données.
• Haute disponibilité des données. Duplication de la base de données sur différents
sites pour diminuer la distance client/serveur et la charge des serveurs.
Fonctionnalités d’un SGBD
• Un SGBD doit permettre également la manipulation de la structure de la base de données,
comme l’ajout et la modification de champs, de manière transparente.
• Il conserve à cet effet une description de la structure de la base de données que l’on appelle
le « dictionnaire de données ».
• Le SGBD offre deux langages de haut niveau:
• Un Langage de Description de Données (LDD) qui permet d’agir sur la structure de la
base de données (ajout, suppression et modification des tables) ;
• Un Langage de Manipulation de Données (LMD) qui permet d’interroger et de mettre à
jour le contenu de la base de données.
• Ces langages sont de type « non procédural »: On s’intéresse à l’effet de l’opération (le quoi)
et non pas à la manière dont elle est réalisée (le comment).
Fonctionnalités d’un SGBD
• Le SGBD doit également assurer la protection des données en cas de problèmes.
• Par exemple, en cas d’une panne, le SGBD doit permettre de restaurer les données.
• Ces opérations sont généralement réalisées en utilisant des « journaux » qui enregistrent au fur
et à mesure les operations faites sur la base : c’est le mécanisme de la journalisation.
Fonctionnalités d’un SGBD
• En ce qui concerne les opérations de modification effectuées sur la base de données, que l’on
appelle des transactions, les propriétés suivantes doivent être assurées:
• Atomicité.
• La transaction est exécutée entièrement ou abandonnée.
• Cohérence.
• La transaction doit se faire d’un état cohérent de la base vers un autre état cohérent.
• Isolement.
• Des transactions simultanées ne doivent pas interférer entre elles.
• Durabilité.
• La transaction a des effets permanents même en cas de panne.
Fonctionnalités d’un SGBD
• Atomicité
• Une transaction se fait au complet ou pas du tout
• Si une partie d'une transaction ne peut être faite, il faut effacer toute trace de la transaction
et remettre les données dans l'état où elles étaient avant la transaction.
• L'atomicité doit être respectée dans toutes situations, comme une panne d'électricité, une
défaillance de l'ordinateur, ou une panne d'un disque magnétique.
Exemple:
- Un transfert de fonds d'un compte de banque à un autre, même s'il implique plusieurs actions
comme le débit d'un compte et le crédit d'un autre, est une seule transaction.
Fonctionnalités d’un SGBD
• Cohérence
• Chaque transaction amènera le système d'un état valide à un autre état valide
• Tout changement à la base de données doit être valide selon toutes les règles définies,
incluant mais non limitées aux contraintes d'intégrité, aux rollbacks en cascade,
aux déclencheurs de base de données, et à toutes combinaisons d'événements.
Exemple:
- Considérons la table suivante:
- Supposons qu'une transaction tente de soustraire 10 de A sans modifier B.
- Étant donné que la cohérence est vérifiée après chaque transaction, on sait que A + B = 100 avant le début
de la transaction.
- Si la transaction supprime 10 de A avec succès, l'atomicité sera atteinte. Cependant, un contrôle de
validation montrera que A + B = 90, ce qui est incompatible avec les règles de la base de données.
- L’integralité de la transaction doit être annulée et les lignes concernées restaurées à leur état antérieur à la
transaction.
CREATE TABLE acidtest (A INTEGER, B INTEGER, CHECK (A + B = 100));
Fonctionnalités d’un SGBD
• Isolation
• Toute transaction doit s'exécuter comme si elle était la seule sur le système.
• Aucune dépendance possible entre les transactions.
• La propriété d'isolation assure que l'exécution simultanée de transactions produit le même état que
celui qui serait obtenu par l'exécution en série des transactions.
Exemple:
- Considérons la table suivante:
- Considérez deux transactions : T1 transfère 10 de A à B. T2 transfère 20 de B à A.
- Ensemble, il y a quatre actions :
- T1 soustrait 10 à A.
- T1 ajoute 10 à B.
- T2 soustrait 20 à B.
- T2 ajoute 20 à A.
- Si ces opérations sont effectuées dans l'ordre, l'isolement est maintenu, même si T2 doit attendre
- Considérez ce qui se passe si T1 échoue à mi-chemin. La base de données élimine les effets de T1 et T2 ne voit que les
données valides.
CREATE TABLE acidtest (A INTEGER, B INTEGER, CHECK (A + B = 100));
Fonctionnalités d’un SGBD
• Isolation
• Toute transaction doit s'exécuter comme si elle était la seule sur le système.
• Aucune dépendance possible entre les transactions.
• La propriété d'isolation assure que l'exécution simultanée de transactions produit le même état que
celui qui serait obtenu par l'exécution en série des transactions.
Exemple:
- Considérez deux transactions : T1 transfère 10 de A à B. T2 transfère 20 de B à A.
- Ensemble, il y a quatre actions :
- T1 soustrait 10 à A.
- T2 soustrait 20 à B.
- T2 ajoute 20 à A.
- T1 ajoute 10 à B.
- Si T1 échoue lors de la modification de B à l'étape 4.
- Au moment où T1 échoue, T2 a déjà modifié A ; il ne peut pas être restauré à la valeur qu'il avait avant T1
sans laisser une base de données invalide.
Fonctionnalités d’un SGBD
• Durabilité
• assure que lorsqu'une transaction a été confirmée, elle demeure enregistrée même à la suite
d'une panne d'électricité, d'une panne de l'ordinateur ou d'un autre problème.
• Exemple:
- Considérez une transaction qui transfère 10 de A à B.
- Tout d'abord, elle supprime 10 de A, puis elle ajoute 10 à B.
- À ce stade, l'utilisateur est informé que la transaction a réussi.
- Cependant, les modifications sont toujours mises en file d'attente dans la mémoire tampon du
disque en attendant d'être validées sur le disque.
- L'alimentation tombe en panne et les modifications sont perdues, mais l'utilisateur pense que les
modifications persistent. => Echec de la Durabilité
Fonctionnalités d’un SGBD
• Les techniques utilisées pour assurer les propriétés ACID:
• Locking:
• De nombreuses bases de données s'appuient sur le verrouillage pour assurer les propriétés ACID.
• Le verrouillage signifie que la transaction marque les données auxquelles elle accède afin que le
SGBD sache qu'il ne permet pas à d'autres transactions de les modifier jusqu'à ce que la première
transaction réussisse ou échoue.
• Le verrou doit toujours être acquis avant de traiter des données, y compris des données lues mais
non modifiées.
• Les transactions non triviales nécessitent généralement un grand nombre de verrous, ce qui
entraîne une surcharge importante ainsi que le blocage d'autres transactions.
• Par exemple, si l'utilisateur A exécute une transaction qui doit lire une ligne de données que
l'utilisateur B souhaite modifier, l'utilisateur B doit attendre que la transaction de l'utilisateur A se
termine.
Fonctionnalités d’un SGBD
• Les techniques utilisées pour assurer les propriétés ACID:
• Multiversioning:
• Une alternative au verrouillage est le contrôle de concurrence multiversion,
• La base de données fournit à chaque transaction de lecture la version précédente non modifiée
des données qui sont modifiées par une autre transaction active.
• Cela permet aux lecteurs de fonctionner sans acquérir de verrous, c'est-à-dire que les transactions
d'écriture ne bloquent pas les transactions de lecture et que les lecteurs ne bloquent pas les
écrivains.
• Exemple:
• Lorsque la transaction de l'utilisateur A demande des données que l'utilisateur B est en train de modifier,
la base de données fournit à A la version de ces données qui existait lorsque l'utilisateur B a démarré sa
transaction.
• L'utilisateur A obtient une vue cohérente de la base de données même si d'autres utilisateurs modifient
les données.
Fonctionnalités d’un SGBD
• ACID dans le cas des Base de données Réparties:
• Garantir les propriétés ACID dans une transaction distribuée sur une base de données distribuée, où
aucun nœud unique n'est responsable de toutes les données affectant une transaction, présente des
complications supplémentaires.
• Les connexions réseau peuvent échouer ou un nœud peut terminer avec succès sa partie de la
transaction, puis être obligé d'annuler ses modifications en raison d'une défaillance sur un autre nœud.
• Le protocole de validation en deux phases (Two Phase Commit) fournit l'atomicité pour les transactions
distribuées afin de garantir que chaque participant à la transaction s'accorde sur le fait que la
transaction doit être validée ou non.
• Brièvement, dans la première phase, un nœud (le coordinateur) interroge les autres nœuds (les
participants), et ce n'est que lorsque tous répondent qu'ils sont prêts que le coordinateur, dans la
deuxième phase, formalise la transaction.
Fonctionnalités d’un SGBD
• Le SGBD doit permettre de donner l’accès aux bases de données à plusieurs utilisateurs
concurremment.
• Cela nécessite la gestion d’une structure de description des utilisateurs comprenant les droits qui
leur sont associés pour chaque élément (lecture, modification…) : les droits d’accès aux données.
DB-Engines Ranking
https://db-engines.com/en/ranking
Introduction aux bases de données
• Qu’est ce qu’une base de données?
• Evolution des bases de données et de leur mise en oeuvre
• Système de gestion de bases de données
• Etapes de la conception des bases de données
• Métiers des bases de données
Étapes de la conception des bases de
données
• On peut décomposer le processus de conception d’une base de données en plusieurs étapes :
• 1- L’analyse du système du monde réel à modéliser;
• 2- La mise en forme du modèle pour l’intégrer dans un SGBD;
• 3- La création effective dans le SGBD des structures et leur remplissage.
Étapes de la conception des bases de
données
• 1- Analyse du monde réel:
• Une étape qui se fonde en partie sur des entretiens avec les personnels concernés.
• Elle consiste en une analyse des entretiens et de l’organisation de l’entreprise.
• Lors de cette phase, on :
• détermine les objectifs du système d’information à concevoir.
• identifie tous les éléments (Champs) à prendre en compte dans le système.
• Un ensemble de champs peut constituer un objet du monde réel.
• Ex: les champs « nom », « prénom» et « adresse » constituent une « personne ».
• identifie les liens à modéliser entre les objets ainsi que les éléments caractéristiques de
ces liens.
• Ex: une personne achète une voiture à 10 000 euros. => Les deux objets liés sont «
personne » et « voiture », et le prix est le composant du lien.
• exprime les règles qui définissent le domaine de validité du contenu des champs.
• Ex: le prix d’une voiture ne peut pas être inférieur à 500 euros ou supérieur à 150 000
euros.
Étapes de la conception des bases de
données
• 1- Analyse du monde réel:
• Cette modélisation du monde réel permet de proposer un schéma conceptuel qui servira à la
description générale du système d’information.
• La notion de sens des données et surtout des liens entre les entités ne sera réellement
exprimée que dans ce schéma qui est plus proche du monde réel.
• Ce schéma est souvent réalisé à l’aide de la symbolique du modèle « entité-association » ou
exprimé avec le langage UML (Unified Modeling Language).
• Il existe différentes méthodes intégrant les concepts présentés ci-dessus.
• L’objectif est de guider le travail d’analyse et d’aider à la réalisation d’un modèle de
données le plus juste possible.
• Parmi celles-ci, la méthode Merise a connu un certain succès dans le domaine en France.
Étapes de la conception des bases de
données
• 2- Passage au SGBD:
• La représentation précédente doit être transformée pour la rendre acceptable par le SGBD,
qu’il soit relationnel, objet ou relationnel-objet.
• Souvent, cette étape modifie considérablement les objets du monde réel ainsi que les liens
définis dans le schéma précédent.
• Lors de cette phase, on:
• vérifie la qualité de la base de données en utilisant des critères pour éliminer par
exemple la redondance,….
• Le modèle relationnel procure à cette fin des outils capables de tester la cohérence du
système et de le modifier le cas échéant : ce sont les « formes normales ».
• on définit les « vues » du système d’information qui sont adaptées à chaque catégorie
d’utilisateurs.
Étapes de la conception des bases de
données
• 2- Passage au SGBD:
• Il est possible de constater des incohérences à ce niveau de l’analyse, ce qui implique de
modifier le modèle conceptuel de données développé à l’étape précédente.
• On obtient un schéma des données qui fournira aux utilisateurs les informations nécessaires
pour effectuer leurs requêtes, par exemple la description des noms de tables, de champs et
leurs types.
• Par contre, on perd à ce niveau l’information du « sens » des données et du lien entre elles.
Étapes de la conception des bases de
données
• 3- Création et utilisation de la BD
• Une fois le schéma précédent défini, on utilise le SGBD pour passer à la création des tables
qui constituent la base de données.
• Puis, on insère les valeurs dans les tables.
• Le cas échéant, on crée les vues définies à l’étape précédente et les utilisateurs concernés.
• Le système est alors opérationnel. Cette étape se fait forcément en utilisant le SGBD, alors
que les précédentes étaient plus théoriques.
• La création des tables et l’utilisation de la base de données nécessiteront le langage SQL.
• Il existe de nos jours de nombreux outils graphiques dans les SGBD qui masquent l’utilisation
du SQL.
Introduction aux bases de données
• Qu’est ce qu’une base de données?
• Evolution des bases de données et de leur mise en oeuvre
• Système de gestion de bases de données
• Etapes de la conception des bases de données
• Métiers des bases de données
Métiers des bases de données
• CONSULTANTS/ANALYSTES
• Ils prennent en charge la première étape qui consiste en l’analyse des activités et des flux
d’information mis en jeu dans le monde réel à modéliser.
• Le profil de ces acteurs n’est pas toujours purement technique, puisque cette phase nécessite
parfois beaucoup de dialogues et de psychologie pour parvenir à faire exprimer leurs besoins
réels par les futurs utilisateurs.
• La gageure est de parvenir à faire exprimer correctement les besoins d’informatisation par les
utilisateurs du système d’information, afin de proposer un modèle conceptuel de données le
plus juste possible.
Métiers des bases de données
• CONCEPTEURS DE LA BASE
• Ce sont les personnes qui s’occupent de traduire le modèle précédent en un modèle logique
exploitable par le SGBD.
• Le concepteur est un spécialiste des bases de données qui prépare les tables, les vues, les
schémas d’accès.
• C’est lui qui renseigne les utilisateurs et programmeurs pour la définition des requêtes.
• Il n’a pas, en principe, à être spécialisé sur un SGBD particulier, mais en pratique les éléments
qu’il manipule sont liés au SGBD qui sera employé.
• C’est parfois la même personne qui est en charge de la partie analyse et de la conception, ce
qui peut induire une vision un peu trop orientée technique – comme celle d’un programmeur
qui écrirait le cahier des charges d’une application.
• Le concepteur peut aussi être administrateur du SGBD.
Métiers des bases de données
• ADMINISTRATEURS DE BASE DE DONNÉES
• L’administrateur a la responsabilité du fonctionnement général du SGBD.
• Il crée les ressources (bases, comptes) à la demande.
• Il donne les droits d’accès et gère les personnes qui accident au système.
• Il vérifie que les ressources sont suffisantes (taille du disque, puissance de la machine),
effectue les sauvegardes, vérifie les failles de sécurité.
• Pour ces opérations, il est en relation avec l’administrateur système et réseau de la structure.
• Ce métier est extrêmement lié au SGBD employé.
• Il n’y a pas vraiment de normalisation pour les opérations d’administration des SGBD qui sont
spécifiques au SGBD et à la version utilisés.
Métiers des bases de données
• UTILISATEURS STANDARD ET PROGRAMMEURS D’APPLICATIONS
• Ce sont eux qui utilisent le système d’information.
• Ils y ont accès grâce aux vues définies par le concepteur de la base.
• Ils utilisent les schémas déterminés aux deux premières étapes de la conception.
• Ils n’ont pas besoin théoriquement d’être spécialisés sur le SGBD employé.
• En pratique il est préférable, surtout pour les développeurs d’applications, d’avoir de bonnes
connaissances du fonctionnement du SGBD.
• Par exemple, pour optimiser les performances, la manière d’écrire les requêtes peut être
assez différente suivant le SGBD employé.
Introduction aux bases de données
• Qu’est ce qu’une base de données?
• Evolution des bases de données et de leur mise en oeuvre
• Système de gestion de bases de données
• Etapes de la conception des bases de données
• Métiers des bases de données
• La base de données Exemple
La BD exemple
• L’étude de cas basique modélise l’activité de vente de voitures d’occasion.
• Deux entités du monde réel sont identifiées : les personnes et les voitures.
• Une voiture est caractérisée par sa marque, son type, sa couleur.
• Une personne est caractérisée par son nom, son âge, sa ville, son sexe.
• L’action modélisée est la vente qui est caractérisée par le prix de la vente et sa date.
• Une personne peut acheter une ou plusieurs voitures.
• Une voiture peut être vendue une seule fois ou jamais.
RÉSUMÉ
Résumé
• Une base de données désigne l’ensemble des données stockées.
• Pour manipuler ces données, on utilise un SGBD (Système de Gestion de Bases de Données) qui est un
logiciel complexe.
• La conception d’une base de données – de la modélisation du monde réel à son implémentation dans
le SGBD – fait appel à des techniques et des méthodes très différentes pour chaque étape.
• Des métiers spécifiques se sont donc développés autour de ces concepts et les mettent en oeuvre.
• La modélisation des BD est passé d’une organisation comparable à celle des fichiers informatiques
(modèles hiérarchiques ou réseaux) à un modèle plus abstrait : le modèle relationnel.
• Le modèle relationnel est associé étroitement à SQL, un langage normalisé de description, de
manipulation et d’interrogation de données.
• De nouvelles formes d’interrogation, telles que la « fouille de données » (ou data mining) et les bases
de données déductives, permettent d’extrapoler de l’information non explicitement stockée dans les
bases de données.

Contenu connexe

Similaire à 1-Intro to DB.pptx

Intro SGBD et BD.ppt
Intro SGBD et BD.pptIntro SGBD et BD.ppt
Intro SGBD et BD.pptBahaty1
 
La "Data science" au service des entreprises
La "Data science" au service des entreprisesLa "Data science" au service des entreprises
La "Data science" au service des entreprisesAymen ZAAFOURI
 
Morning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyMorning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyOxalide
 
Oxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataOxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataLudovic Piot
 
Chap1Concepts-FondamentauxBD.pdf
Chap1Concepts-FondamentauxBD.pdfChap1Concepts-FondamentauxBD.pdf
Chap1Concepts-FondamentauxBD.pdfBoubakerMedanas
 
Comment Bien Choisir un CMS pour les Administrations et Collectivites Locales...
Comment Bien Choisir un CMS pour les Administrations et Collectivites Locales...Comment Bien Choisir un CMS pour les Administrations et Collectivites Locales...
Comment Bien Choisir un CMS pour les Administrations et Collectivites Locales...FranceNumerique
 
Introduction au big data
Introduction au big dataIntroduction au big data
Introduction au big dataAbdelghani Azri
 
CHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfCHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfamine17157
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de donnéesAbdoulaye Dieng
 
Support Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSupport Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSmartnSkilled
 
Quel est l'avenir des stratégies de données?
Quel est l'avenir des stratégies de données?Quel est l'avenir des stratégies de données?
Quel est l'avenir des stratégies de données?Denodo
 
Les clés de succès pour moderniser votre architecture de données en 2022
Les clés de succès pour moderniser votre architecture de données en 2022Les clés de succès pour moderniser votre architecture de données en 2022
Les clés de succès pour moderniser votre architecture de données en 2022Denodo
 
Modélisation de données pour MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDBMongoDB
 
Bd relationnelles
Bd relationnellesBd relationnelles
Bd relationnellesmakram05
 
infrastructure de données spatiales: notions et enjeux
infrastructure de données spatiales: notions et enjeuxinfrastructure de données spatiales: notions et enjeux
infrastructure de données spatiales: notions et enjeuxDesconnets Jean-Christophe
 

Similaire à 1-Intro to DB.pptx (20)

Data warehouse
Data warehouseData warehouse
Data warehouse
 
Big data
Big dataBig data
Big data
 
Intro SGBD et BD.ppt
Intro SGBD et BD.pptIntro SGBD et BD.ppt
Intro SGBD et BD.ppt
 
La "Data science" au service des entreprises
La "Data science" au service des entreprisesLa "Data science" au service des entreprises
La "Data science" au service des entreprises
 
Morning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyMorning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide Academy
 
Oxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataOxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigData
 
Chap1Concepts-FondamentauxBD.pdf
Chap1Concepts-FondamentauxBD.pdfChap1Concepts-FondamentauxBD.pdf
Chap1Concepts-FondamentauxBD.pdf
 
Comment Bien Choisir un CMS pour les Administrations et Collectivites Locales...
Comment Bien Choisir un CMS pour les Administrations et Collectivites Locales...Comment Bien Choisir un CMS pour les Administrations et Collectivites Locales...
Comment Bien Choisir un CMS pour les Administrations et Collectivites Locales...
 
Introduction au big data
Introduction au big dataIntroduction au big data
Introduction au big data
 
Intro SQL
Intro SQL Intro SQL
Intro SQL
 
Big data
Big dataBig data
Big data
 
Module 02_FR.pdf
Module 02_FR.pdfModule 02_FR.pdf
Module 02_FR.pdf
 
CHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfCHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdf
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
 
Support Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSupport Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutant
 
Quel est l'avenir des stratégies de données?
Quel est l'avenir des stratégies de données?Quel est l'avenir des stratégies de données?
Quel est l'avenir des stratégies de données?
 
Les clés de succès pour moderniser votre architecture de données en 2022
Les clés de succès pour moderniser votre architecture de données en 2022Les clés de succès pour moderniser votre architecture de données en 2022
Les clés de succès pour moderniser votre architecture de données en 2022
 
Modélisation de données pour MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDB
 
Bd relationnelles
Bd relationnellesBd relationnelles
Bd relationnelles
 
infrastructure de données spatiales: notions et enjeux
infrastructure de données spatiales: notions et enjeuxinfrastructure de données spatiales: notions et enjeux
infrastructure de données spatiales: notions et enjeux
 

Dernier

Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptxrababouerdighi
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeBenamraneMarwa
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 

Dernier (15)

Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 

1-Intro to DB.pptx

  • 1. Bases de données Pr. Yahya Benkaouz y.benkaouz@um5r.ac.ma FSR, Université Mohammed V de Rabat
  • 2. Plan • Introduction aux bases de données • Analyse du monde réel • Approche relationnelle • SQL
  • 3. Introduction aux bases de données • Qu’est ce qu’une base de données? • Evolution des bases de données et de leur mise en oeuvre • Système de gestion de bases de données • Etapes de la conception des bases de données • Métiers des bases de données
  • 4. Objectifs de la section • Les bases de données ont connu un développement considerable • Elles jouent un rôle dans chacune de nos opérations quotidiennes • – du simple achat effectué avec sa carte bancaire jusqu’à nos déclarations de revenus. • Les objectifs de la section : • Définir la notion de base de données ainsi que les principaux concepts qui s’y rattachent. • La méthodologie qui permet de les concevoir. • Les applications informatiques associées à leur mise en oeuvre (SGBD) • Les différents métiers des bases de données.
  • 5. Introduction aux bases de données • Qu’est ce qu’une base de données? • Evolution des bases de données et de leur mise en oeuvre • Système de gestion de bases de données • Etapes de la conception des bases de données • Métiers des bases de données
  • 6. Introduction aux bases de données • Le nombre d’informations disponibles et les moyens de les diffuser sont en constante progression.
  • 7. Introduction aux bases de données • La croissance du World Wide Web a encore accru ce développement, en fournissant l’accès à des bases de données très diverses avec une interface commune. www.freehali.com/service/je-vais-realiser-un-site-web-dynamique-base-de-donnee-bien-concue-qui-repond-exactement-aux-besoins-du-site
  • 8. Introduction aux bases de données • Les bases de données se situent au coeur de l’activité: • des entreprises, • des administrations, • de la recherche • et de bon nombre d’activités humaines désormais liées à l’informatique. http://www.objectifrente.com/actions/10-secteurs-activites-pour-diversifier-portefeuille-actions
  • 9. Introduction aux bases de données • Dans le domaine purement informatique, les BDs interviennent à tous les niveaux. • Les développeurs d’applications s’appuient sur des bases de données externes pour gérer leurs données alors qu’auparavant elles étaient intégrées dans le programme. https://web.maths.unsw.edu.au/~lafaye/CCM/bdd/bddintro.htm
  • 10. Introduction aux bases de données • Les bases de données reposent sur des théories solides et sont à l’origine d’une des plus importantes disciplines de l’informatique : l’ingénierie des systèmes d’information. • Les aspects théoriques de la gestion des bases de données incluent entre autres : • les fondements des langages de requêtes • la complexité, la puissance d'expression des requêtes • la théorie des modèles finis • le contrôle de dépendance • les fondements du contrôle de concurrence • le sauvegarde et la restauration • les bases de données temporelles, déductives, spatiales, probabilistes, … • Etc.
  • 11. Notion de bases de données • On définit une base de données comme l’ensemble des données stockées. • Pour les manipuler, on utilise généralement un logiciel spécialisé appelé SGBD (Système de Gestion de Bases de Données). • Il y a parfois confusion, par abus de langage, entre base de données et SGBD. • Plus formellement, on appelle Base de Données (BD): Un ensemble de fichiers informatiques structurés ou non structurés et organisés afin de stocker et de gérer de l’information
  • 12. Utilisation d’une BD • Une BD a un but précis: • Par exemple: • Retrouver toutes les recettes qui nécessitent des oeufs. • Retrouver tous les CD qui contiennent un morceau donné. • La grande différence avec un programme écrit dans un langage de programmation est: • Une base de données doit pouvoir répondre à des questions pour lesquelles elle n’a pas forcément été prévue à la conception. • Les données sont susceptibles d’être utilisées par des applications différentes. Elle doit permettre de retrouver de l’information par son contenu en se fondant sur des critères de recherche.
  • 13. Utilisation d’une BD • En utilisant une base de données, on assure une indépendance entre le traitement et les données. • C’est pourquoi, il est nécessaire que l’application obtienne des informations sur la structure des données (nom, type, taille, etc.). • => On associe à la base de données une description que l’on appelle «métadonnée» ou «catalogue». • Métadonnée: Des données qui en décrivent d’autres. • En plus de la structure et du type des données, on stocke également à cet endroit les informations concernant les règles de cohérence des données.
  • 14. Utilisation d’une BD Base de données de CD et métadonnée Idée Générale: - Indépendance de l’application par rapport à la représentation interne des données. => une abstraction des données - C’est la raison pour laquelle on utilise une description des données sous la forme d’un modèle pour permettre la restitution la plus efficace possible de l’information.
  • 15. Qualité d’une BD • L’un des objectifs de la création d’une base de données est de pouvoir retrouver les données par leur contenu. • Dans cette optique, il faut s’assurer que les données contenues dans la base sont de « bonne qualité ». • Les principaux critères de qualité d’une BD: • La cohérence des données • L’absence de redondance
  • 16. Qualité d’une BD • La cohérence des données: • Elle est fondamentale • Elle nécessite une réflexion préalable sur la normalisation du contenu des champs • Problèmes à résoudre: Silence et Bruit • Exemple (Silence): • On suppose qu’un champ contient la qualité d’une personne (par exemple, Monsieur, Madame, Mademoiselle). • Si l’on trouve dans ce champ ‘Mr’ à la place de ‘Monsieur’, il est clair que les recherches sur ce champ par le contenu ‘Monsieur’ risquent d’être erronées. • => Silence: Certains résultats pertinents seront ignorés lors d’une interrogation
  • 17. Qualité d’une BD • La cohérence des données: • Elle est fondamentale • Elle nécessite une réflexion préalable sur la normalisation du contenu des champs • Problèmes à résoudre: Silence et Bruit • Exemple (Bruit): • On suppose qu’un champ contient la qualité d’une personne (par exemple, Monsieur, Madame, Mademoiselle). • Si l’on saisit ‘Mme’ pour ‘Madame’ et ‘Melle’ pour ‘Mademoiselle’, et qu’il y ait eu par erreur plusieurs saisies de ‘Mme’ alors qu’il s’agissait d’une demoiselle, la recherche par le contenu ‘Mme’ donne cette fois plus de résultats qu’il n’y a réellement de dames • => Bruit: Certains résultats non pertinents seront retrouvés lors d’une interrogation
  • 18. Qualité d’une BD • La redondance: • Elle est parfois plus déliquate á identifier - Carnet d’adresse contient en même temps le code postal et le nom de la ville. (Redondance) - Incohérence dans la saisie du nom de la ville ‘Bordeaux’. L’approche relationnelle procure des outils capables de détecter et d’améliorer considérablement ce genre de problèmes de qualité des bases de données
  • 19. Introduction aux bases de données • Qu’est ce qu’une base de données? • Evolution des bases de données et de leur mise en oeuvre • Système de gestion de bases de données • Etapes de la conception des bases de données • Métiers des bases de données
  • 20. Evolutions des BD • Cette section présente: • Le contexte dans lequel les BDs se sont développées. • Les modèles utilisés successivement pour les representer. • Une vue prospective des changements dans l’utilisation des bases de données.
  • 21. Contexte • À partir des années 1960: • Les ordinateurs évoluent rapidement : • De plus en plus performants. • De plus en plus répandus du fait de leur coût plus raisonnable. • Changement de leurs utilisations: • De la notion de calculateurs purs à des machines capables aussi de traiter de l’information. • On parvient à un niveau d’abstraction supplémentaire par rapport aux machines • On obtient en conséquence une indépendance par rapport à l’architecture et surtout par rapport aux constructeurs.
  • 22. Contexte • La décennie des années 1970: • Est une période « faste » pour la recherche et l’innovation en informatique dont les résultats sont encore utilisés aujourd’hui. • L’utilisation des langages de programmation de haut niveau (Pascal) • On envisage des systèmes d’exploitation indépendants de la machine employée (Unix) • On pose les fondements des techniques qui sont utilisées dans les réseaux (TCP/IP) • C’est dans ce contexte favorable que E. F. Codd définit et développe l’approche relationnelle en base de données.
  • 23. Contexte • Les objectifs des travaux de E. F. Codd: • L’objectif principal est d’éloigner l’utilisateur des détails d’implémentation et de faciliter ainsi l’usage de l’informatique. • Rendre « génériques » et réutilisables les développements informatiques, parfois devenus caducs en raison d’un changement de machine. • Dans le domaine des bases de données, le développement de l’architecture à trois niveaux constitue une première étape importante. • Les fonctionnalités des systems de bases de données sont séparées en trois niveaux : niveau physique, niveau logique et niveau externe.
  • 24. Modèles • Les modèles de données correspondent à la manière de structurer l’information dans une base de données. • Ils reposent sur les principes et les théories issus du domaine de la recherche en informatique. • Ils permettent de traduire la réalité de l’information vers une représentation utilisable en informatique.
  • 25. Modèles • Il existe de nombreux types de modèles de bases de données. Parmi les plus courants : • Modèle de base de données hiérarchique • Modèle relationnel • Modèle réseau • Modèle de base de données orientée objet • Modèle relationnel-objet • Etc.
  • 26. Modèle hiérarchique • Origine: • Le traitement de l’information était encore très lié à l’organisation des fichiers sur une machine. • Les modèles conceptuels de données sont eux aussi très proches du système de fichiers puisque l’on manipule des graphes ou des arbres. • Les noeuds de ces structures constituent les informations et les liens entre ces données les arêtes. Modèle hiérarchique propose une classification arborescente des données à la manière d’une classification scientifique.
  • 27. Modèle hiérarchique • Aperçu: • Le modèle hiérarchique organise les données dans une structure arborescente • Chaque enregistrement dispose d'un seul parent (racine). • Les enregistrements frères et sœurs sont triés dans un ordre particulier. • Cet ordre est suivi pour le stockage physique de la base de données. https://www.lucidchart.com/
  • 28. Modèle hiérarchique • Il propose une classification arborescente des données à la manière d’une classification scientifique. • Chaque enregistrement n’a qu’un seul possesseur. • Ex: une commande n’a qu’un seul client. • Ce modèle ne peut pas traduire toutes les réalités de l’information dans les organisations. • Il a surtout été utilisé par les systèmes de gestion d'information d'IBM dans les années 60 et 70.
  • 29. Modèle Réseau • Une extension du modèle hiérarchique: • Le modèle reseau autorise des relations plusieurs-à-plusieurs entre des enregistrements liés, ce qui implique plusieurs enregistrements parents. • Basé sur la théorie mathématique des ensembles, ce modèle s'articule autour d'ensembles d'enregistrements connexes. • Chaque ensemble se compose d'un enregistrement propriétaire (ou enregistrement parent) et d'un ou plusieurs enregistrements membres (ou enfants). • Un enregistrement peut être un membre ou un enfant dans plusieurs ensembles, ce qui permet à ce modèle de traduire des relations complexes.
  • 30. Modèle Réseau • Dans les deux modèles, les enregistrements sont reliés par des pointeurs. • On stocke l’adresse de l’enregistrement auquel il est lié. • Des SGBD de type hiérarchique ou réseau sont employés pour des raisons d’efficacité lorsque la structure des données s’y prête. • Son pic de popularité remonte aux années 70, après qu'il a été officiellement défini par la conférence sur les langages de systèmes de traitement de données (Conference on Data Systems Languages, CODASYL). https://www.lucidchart.com/
  • 31. Modèle Relationnel • Proposé en 1970, par E. F. Codd dans l’article : • Il cherche à créer un langage d’interrogation des bases de données plus proche du langage naturel. • Dans cette optique, il fonde sa recherche sur des concepts mathématiques rigoureux, tels que la théorie des ensembles et la logique du premier ordre. • Le modèle relationnel permet de modéliser les informations contenues dans les bases de données en utilisant des relations, c’est-à-dire des ensembles d’attributs. « A Relational Model of Data for Large Shared Data Banks », CACM 13, no 6, June1970.
  • 32. Modèle Relationnel • De l’idée de départ à la réalisation d’un produit utilisable, le laps de temps est souvent de l’ordre d’une décennie. • La mise en oeuvre des idées de Codd se fait chez IBM dans le cadre du projet de recherche System-R. • Le premier produit commercial sera non pas le fait d’IBM, mais celui d’Honeywell en 1976. • Il sera suivi d’un produit réellement abouti de chez Relationnel Software en 1980 : Oracle, qui a connu le succès que l’on sait. • De son côté, IBM en tirera un produit qui deviendra DB2.
  • 33. Modèle Relationnel • Toujours dans le cadre du projet de recherche System-R: • E. F. Codd met au point, en même temps que le modèle relationnel, • Un langage d’interrogation des données, SEQUEL • SEQUEL deviendra ensuite SQL (Structured Query Language). • La normalisation du langage SQL dès 1986 par l’ANSI, puis par l’ISO, • => a assuré pour une grande partie le succès du modèle relationnel auprès des entreprises. • La normalisation de ce langage garantit sa pérennité, même si son évolution s’en trouve ralentie.
  • 34. Modèle Relationnel • Fait rare dans le monde informatique, ce langage a été adopté par la quasi-totalité des éditeurs commerciaux qui participent activement à son évolution. • SQL est devenu le standard de fait, même si aucun éditeur ne respecte à la lettre la norme. • D’ailleurs, à partir de SQL 2, il existe une définition de quatre niveaux de compatibilité avec la norme officielle. • Les requêtes écrites pour un SGBD fonctionnent en général sans trop de modifications avec un autre SGBD • ce qui permet d’envisager des migrations moins douloureuses et de conserver une partie de l’investissement initial.
  • 35. Modèle Relationnel • Aperçu: • Le modèle relationnel et le modèle le plus courant. • Les données sont triés dans des tables, que l'on appelle aussi des relations, dont chacune se compose de colonnes et de lignes. • Chaque colonne contient un attribut de l'entité en question, comme le prix, le code postal ou la date de naissance. • L'ensemble des attributs d'une relation est appelé domaine. • Chaque ligne, également appelée tuple, comprend des données sur une instance spécifique de l'entité en question, comme un employé en particulier. • Le modèle tient également compte des types de relations entre ces tables. e.g. un-à-un, un-à-plusieurs,… https://www.lucidchart.com/
  • 36. Modèle Objet • Dans le sillage du développement des langages orientés objet (C++, Java…) dans les années 1980, le concept objet a été adapté aux bases de données. • Plusieurs raisons, en dehors des qualités reconnues de l’approche objet, ont conduit à définir une extension objet pour les bases de données. • Le modèle relationnel, dans sa simplicité, ne permet pas de modéliser facilement toutes les réalités. • Un objet permet de représenter directement un élément du monde réel. Encapsulation Héritage
  • 37. Modèle Objet • Les structures d’éléments complexes se retrouvent souvent dispersées entre plusieurs tables dans l’approche relationnelle classique. • De plus, le concept objet est mieux adapté pour modéliser des volumes de texte importants ou d’autres types de données multimédias (sons, images, vidéos…). • Il est beaucoup plus commode de manipuler directement des objets lorsque l’on développe avec un langage à objet (comme C++ ou Java). • Les bases de données « orientées objet » apportent ainsi aux applications développées en langage objet la persistance des objets manipulés : • Ces derniers peuvent ainsi directement être réutilisés par l’application d’origine ou par d’autres sans redéfinition.
  • 38. Modèle Objet • Aperçu: • Ce modèle définit une base de données comme une collection d'objets, ou d'éléments logiciels réutilisables, associés à des caractéristiques et des méthodes. • Il existe plusieurs types de bases de données orientées objet : • Une base de données multimédia réunit des médias, tels que des images, qui ne peuvent pas être stockés dans une base de données relationnelle. • Une base de données hypertextuelle permet à n'importe quel objet d'être relié à un autre. Elle est utile pour organiser de nombreuses données disparates, mais peu adaptée à l'analyse numérique.
  • 39. Modèle Objet • Les produits commerciaux adaptés à ces concepts n’ont pas connu une diffusion suffisamment importante. • Le monde des bases de données évolue assez lentement : • La migration d’un système d’information vers l’objet représente pour une organisation un investissement considérable qui n’est pas toujours justifié. • La robustesse et la popularité de l’approche relationnelle, qui a mis presque vingt ans à s’imposer, a également freiné le développement de l’approche objet pure dans les bases de données. • Les données modélisées sous forme d’objets sont aussi plus complexes à représenter du point de vue du SGBD et l’on rencontre encore très souvent des problèmes de performance.
  • 40. Modèle Relationnel-Objet • Nécessité de gèrer des données autres que du texte et des nombres • Ex: comme des images, du son et des vidéos • Nécessité de gèrer les champs « multivalués » (i.e. disposant de plusieurs valeurs) • Ex: Une liste de prénoms ou des coordonnées géographiques, ne peuvent pas être modélisés efficacement en Modèle Relationnel implique l’évolution du modèle relationnel
  • 41. Modèle Relationnel-Objet • Solution : L’idée est alors d’intégrer de l’objet au modèle relationnel. • Ce type d’évolution a été déjà développé dans le cadre des langages de programmation • Ex: du C vers C++ • C++ n’est pas un langage à Objet pur (tel que SmallTalk) • Ce Modèle est adopté par la plupart des SGDB • Permet aux concepteurs des bases de données de disposer de types évolués « abstraits » plus simples à concevoir et surtout plus commodes à faire évoluer.
  • 42. Modèle Relationnel-Objet • La norme SQL a logiquement été adaptée. Dans sa version 3, elle prend en compte l’extension objet. • Les types de données sont étendus et les opérations d’encapsulation et d’héritage, typiques de l’approche objet, sont supportées. • Cette solution a l’avantage d’offrir un bon niveau de compatibilité avec l’approche précédente très répandue et d’effectuer ainsi une migration plus aisée.
  • 43. Autres modèles de bases de données • D'autres modèles sont venus s'opposer au modèle relationnel : • Le modèle de base de données orienté graphe: • Il est encore plus flexible qu'un modèle réseau, car il permet la connexion entre tous les nœuds, quels qu'ils soient. • Le modèle multivaleur: • Il se distingue du modèle relationnel en permettant aux attributs de contenir une liste de données plutôt qu'un seul point de données. • Le modèle orienté document: • Il est conçu pour stocker et gérer des documents ou des données semi-structurées plutôt que des données atomiques.
  • 44. Choix du modèle • Vous pouvez choisir de représenter une base de données selon l'un de ces modèles en fonction de plusieurs facteurs. • Le plus important est de savoir si le système de gestion de base de données que vous utilisez prend en charge un modèle particulier. • La plupart des SGBDs sont pensés pour un modèle de base de données particulier et exigent des utilisateurs qu'ils adoptent ce modèle, mais certains prennent en charge plusieurs modèles.
  • 45. Évolution de l’utilisation des BDs • Cette section présente: • Une description de nouvelles manières de stocker ou d’utiliser les bases de données.
  • 46. Bases de données réparties • Le déploiement des reseaux informatiques ainsi que l’augmentation de leur débit ces dernières années ont conduit à répartir les données sur plusieurs sites géographiques. • Ceci facilite la politique de décentralisation des organisations. • Ce type d’architecture masque la répartition de l’information tout en garantissant une gestion transparente aux utilisateurs, comme s’ils disposaient d’une seule base de données.
  • 47. Bases de données réparties • Les bases de données réparties assurent ainsi une plus grande fiabilité, de meilleures performances et facilitent l’évolution du système d’information. • La fiabilité et la sécurité: • On effectue une copie de sécurité des données sur un site distant à intervalles réguliers pour éviter le désastre de la perte de données due à un incendie par exemple.
  • 48. Bases de données réparties • Les bases de données réparties assurent ainsi une plus grande fiabilité, de meilleures performances et facilitent l’évolution du système d’information. • La disponibilité : • On procède à des réplications quasi permanentes des données dans le but de « rapprocher » les utilisateurs des données d’un point de vue de la topologie du réseau. • On améliore également le temps de réponse en répartissant la charge entre les serveurs.
  • 49. Bases de données réparties • Les bases de données réparties assurent ainsi une plus grande fiabilité, de meilleures performances et facilitent l’évolution du système d’information. • Les données sont réparties sur des sites séparés: • Le dispositif permet de masquer cet aspect aux utilisateurs et de fonctionner comme si un seul serveur était présent sur un seul site. • L’évolution du système est rendue totalement transparente pour les utilisateurs : • En cas notamment de changement de machine à la suite d’une panne, de modification de localisation, d’augmentation de la taille de la base, d’ajout d’ordinateurs sur le réseau afin d’augmenter la capacité de stockage de la base de données.
  • 50. Bases de données réparties • Ces technologies possèdent néanmoins des inconvénients: • Administration complexe • Distribution du contrôle • Difficulté de migration • Sécurité plus complexe et plus couteuse à assuré
  • 51. Extraction d’informations non explicitement stockés dans une BD • Il existe deux manières de « créer » de la nouvelle information à partir de l’information stockée explicitement dans une base de données. • Bases de données deductives: • permet de déduire des informations à partir de données stockées par utilisation d'un mécanisme d'inférence logique. • Datamining: • on utilise des méthodes d’analyse afin de trouver des corrélations sur un volume de données important, ce qui permet ensuite d’en déduire des règles.
  • 52. Extraction d’informations non explicitement stockés dans une BD • Bases de données deductives: • On définit un ensemble de règles • On applique les régles aux données de la base, à l’aide d’un programme que l’on appelle un « moteur d’inférence ». • Les SGBD qualifiés de déductifs utilisent à cet effet un dérivé du langage Prolog : Datalog. • Exemple: • Les relations de parenté entre individus • On suppose que l’on a une base de données qui représente les relations « père-fils » • Une règle très simple permet de définir un lien de parenté « ancêtre » : Si père-fils(X,Y) et père-fils(Y,Z), alors ancêtre(X,Z)
  • 53. Extraction d’informations non explicitement stockés dans une BD • Datamining: • Obtenir une information nouvelle à partir de l’information existante. • Consiste à analyser de grands volumes de données afin d’identifier des corrélations entre des valeurs de champs. • Les techniques d’analyses employées sont une alchimie concoctée à partir de statistiques, de réseaux de neurones, de classifications et autres techniques employées en intelligence artificielle. • Objectif: A partir des données, définir les règles. • Exemple: « les personnes moustachues de plus de quarante ans habitant une maison individuelle lisent plutôt des revues de psychologie ».
  • 54. Entrepôts de données (Datawarehouse) • Les entrepôts de données sont des bases de données « récapitulatives » • Elles sont constituées à partir de différentes sources de l’entreprise (comptabilité, ventes, achats, service du personnel…) • Elles permettent de disposer d’un accès homogène à l’ensemble des données pour les exploiter en tant qu’information décisionnelle.
  • 55. Entrepôts de données (Datawarehouse) • Si l’information est disponible, on stocke les différentes valeurs d’une donnée, ce qui permet de conserver un historique dans le temps de certaines données (Données historisées, BD temporelles) • Elles offrent la possibilité d’effectuer des analyses décisionnelles qui combinent tous les paramètres de l’entreprise : c’est l’analyse décisionnelle multidimensionnelle. • Les techniques de Datamining et de déduction peuvent être utilisées.
  • 56. BD Multimedia • Le multimédia s’est fortement développé depuis la fin des années 1990. • Les éditeurs de SGBD se doivent d’intégrer de l’information multimédia (image, son, vidéo…) dans les bases de données • Les bases de données multimédias posent de nouveaux problèmes, en particulier pour effectuer des recherches sur les contenus multimédias, ce qui est par nature difficile.
  • 57. BD Multimedia • Option 1: • Indexation préliminaire manuelle à l’aide de mots clés qui permettent d’opérer par la suite des interrogations. • Difficile pour le traitement des volumes importants de documents multimedia. • Option 2: • Faire de la recherche sur les fichiers multimedia. • Ces problématiques relèvent pour l’instant plutôt des préoccupations des sociétés développant les moteurs de recherche que des bases de données au sens strict. • Le groupe de normalisation ISO/IEC a fait des efforts pour l’évolution pour le multimédia de la norme SQL-MM.
  • 58. Introduction aux bases de données • Qu’est ce qu’une base de données? • Evolution des bases de données et de leur mise en oeuvre • Système de gestion de bases de données • Etapes de la conception des bases de données • Métiers des bases de données
  • 59. Système de gestion de BD • Un SGBD est un logiciel complexe qui permet de gérer et d’utiliser les données que l’on stocke en utilisant les modèles cités précédemment. • Objectif de la section: • Comprendre le mécanisme d’abstraction à partir duquel se fait le passage du simple fichier informatique à la gestion de l’information qui se fonde sur l’utilisation d’un SGBD. • Apprendre le modèle en couches des SGBD ainsi que leurs fonctionnalités de base.
  • 60. Fichiers informatiques • Un fichier peut être vu (historiquement) comme un morceau de bande magnétique. • Les mécanismes de gestion de fichiers des langages de programmation, comme le langage C, fonctionnent encore avec cette métaphore. • Lorsqu’on utilise un fichier pour stocker de l’information, il est nécessaire de prévoir un découpage de celui-ci par enregistrements, souvent de taille fixe. • Pour passer d’un enregistrement à l’autre, il suffit alors d’avancer la « tête » de lecture de la taille d’un enregistrement.
  • 61. Fichiers informatiques • Les données sont stockées dans l’enregistrement par un découpage interne suivant la taille de chaque donnée. • On utilise généralement des structures de données (par exemple, en langage C) pour récupérer directement chaque valeur de champ dans une variable. • Dans une base de données, on recherche les données par leur contenu. • Une recherche séquentiel est très honéreuse.
  • 62. Fichiers informatiques • Alternative au parcours séquentiel: • Construire des tables descriptives afin d’accélérer l’accès aux données. • Une première table permet l’accès direct à un enregistrement par une « clé » associée à l’adresse (pointeur) de l’enregistrement. • Une seconde table contient l’ordre relatif des enregistrements ordonnés suivant les valeurs d’un champ (Index)
  • 63. Fichiers informatiques • Alternative au parcours séquentiel: • Permet d’employer des méthodes de recherche par le contenu du champ indexé beaucoup plus efficaces qu’une recherche séquentielle. (ex. Rech. dichotomique) • De même que la recherche, la destruction d’enregistrements et l’évolution de la structure de la base sont également des opérations lourdes à mettre en oeuvre. • Requiert souvent la recopie complete du fichier. Besoin d’utiliser un SGBD pour la gestion des données
  • 64. Fonctionnalités d’un SGBD • De même que l’ISO a déterminé un modèle théorique en sept couches pour distinguer les applications réseaux et leurs interactions, il existe désormais un modèle théorique en trois couches (trois niveaux d’abstraction) afin de concevoir et d’organiser les fonctionnalités des SGBD. • Ce modèle, qui date de 1975, s’inscrit dans les concepts et théories de la première génération des bases de données, dont l’objectif est d’avoir une indépendance entre les données et les traitements Modèle est élaboré par la commission SPARC de l’ANSI
  • 65. Fonctionnalités d’un SGBD • Niveau interne. • Il décrit les structures de stockage de l’information, • Les structures sont très dépendant du SGBD employé. • Il se fonde sur un modèle physique de données.
  • 66. Fonctionnalités d’un SGBD • Niveau conceptuel. • Il correspond à l’implémentation du schéma conceptuel de la base de données, que l’on réalise lors de la phase d’analyse (Modèle Conceptuel des Données, Modèle Logique des Données). • Il est utilisé pour décrire les éléments constitutifs de la base de données et les contraintes qui leur sont associées.
  • 67. Fonctionnalités d’un SGBD • Niveau externe. • Il sert à décrire les vues des utilisateurs. • Les vues sont différentes pour chaque catégorie d’utilisateurs. • Il permet de masquer la complexité de la base de données en fonction des droits ou des besoins des utilisateurs.
  • 68. Fonctionnalités d’un SGBD • Comme pour le modèle réseau OSI; les SGBD ne respectent pas à la lettre le découpage proposé. • Ils se doivent cependant de posséder les principals caractéristiques qui découlent de ce modèle en couches. • Indépendance physique des données. Masquer la représentation interne des données ainsi que les méthodes système d’accès aux utilisateurs. • Indépendance logique des données. Permettre la modification du schéma conceptual des données sans remettre en cause les mécanismes de stockage et de manipulation internes des données. • Intégrité des données. Faire en sorte que l’information résultant des liens entre les données soit cohérente.
  • 69. Fonctionnalités d’un SGBD • Des fonctionnalités supplémentaires utilisées dans le cadre de bases de données réparties: • Réplication des données. Copie automatisée de sauvegarde. • Virtualisation des données. Masquage de la distribution géographique des données. • Haute disponibilité des données. Duplication de la base de données sur différents sites pour diminuer la distance client/serveur et la charge des serveurs.
  • 70. Fonctionnalités d’un SGBD • Un SGBD doit permettre également la manipulation de la structure de la base de données, comme l’ajout et la modification de champs, de manière transparente. • Il conserve à cet effet une description de la structure de la base de données que l’on appelle le « dictionnaire de données ». • Le SGBD offre deux langages de haut niveau: • Un Langage de Description de Données (LDD) qui permet d’agir sur la structure de la base de données (ajout, suppression et modification des tables) ; • Un Langage de Manipulation de Données (LMD) qui permet d’interroger et de mettre à jour le contenu de la base de données. • Ces langages sont de type « non procédural »: On s’intéresse à l’effet de l’opération (le quoi) et non pas à la manière dont elle est réalisée (le comment).
  • 71. Fonctionnalités d’un SGBD • Le SGBD doit également assurer la protection des données en cas de problèmes. • Par exemple, en cas d’une panne, le SGBD doit permettre de restaurer les données. • Ces opérations sont généralement réalisées en utilisant des « journaux » qui enregistrent au fur et à mesure les operations faites sur la base : c’est le mécanisme de la journalisation.
  • 72. Fonctionnalités d’un SGBD • En ce qui concerne les opérations de modification effectuées sur la base de données, que l’on appelle des transactions, les propriétés suivantes doivent être assurées: • Atomicité. • La transaction est exécutée entièrement ou abandonnée. • Cohérence. • La transaction doit se faire d’un état cohérent de la base vers un autre état cohérent. • Isolement. • Des transactions simultanées ne doivent pas interférer entre elles. • Durabilité. • La transaction a des effets permanents même en cas de panne.
  • 73. Fonctionnalités d’un SGBD • Atomicité • Une transaction se fait au complet ou pas du tout • Si une partie d'une transaction ne peut être faite, il faut effacer toute trace de la transaction et remettre les données dans l'état où elles étaient avant la transaction. • L'atomicité doit être respectée dans toutes situations, comme une panne d'électricité, une défaillance de l'ordinateur, ou une panne d'un disque magnétique. Exemple: - Un transfert de fonds d'un compte de banque à un autre, même s'il implique plusieurs actions comme le débit d'un compte et le crédit d'un autre, est une seule transaction.
  • 74. Fonctionnalités d’un SGBD • Cohérence • Chaque transaction amènera le système d'un état valide à un autre état valide • Tout changement à la base de données doit être valide selon toutes les règles définies, incluant mais non limitées aux contraintes d'intégrité, aux rollbacks en cascade, aux déclencheurs de base de données, et à toutes combinaisons d'événements. Exemple: - Considérons la table suivante: - Supposons qu'une transaction tente de soustraire 10 de A sans modifier B. - Étant donné que la cohérence est vérifiée après chaque transaction, on sait que A + B = 100 avant le début de la transaction. - Si la transaction supprime 10 de A avec succès, l'atomicité sera atteinte. Cependant, un contrôle de validation montrera que A + B = 90, ce qui est incompatible avec les règles de la base de données. - L’integralité de la transaction doit être annulée et les lignes concernées restaurées à leur état antérieur à la transaction. CREATE TABLE acidtest (A INTEGER, B INTEGER, CHECK (A + B = 100));
  • 75. Fonctionnalités d’un SGBD • Isolation • Toute transaction doit s'exécuter comme si elle était la seule sur le système. • Aucune dépendance possible entre les transactions. • La propriété d'isolation assure que l'exécution simultanée de transactions produit le même état que celui qui serait obtenu par l'exécution en série des transactions. Exemple: - Considérons la table suivante: - Considérez deux transactions : T1 transfère 10 de A à B. T2 transfère 20 de B à A. - Ensemble, il y a quatre actions : - T1 soustrait 10 à A. - T1 ajoute 10 à B. - T2 soustrait 20 à B. - T2 ajoute 20 à A. - Si ces opérations sont effectuées dans l'ordre, l'isolement est maintenu, même si T2 doit attendre - Considérez ce qui se passe si T1 échoue à mi-chemin. La base de données élimine les effets de T1 et T2 ne voit que les données valides. CREATE TABLE acidtest (A INTEGER, B INTEGER, CHECK (A + B = 100));
  • 76. Fonctionnalités d’un SGBD • Isolation • Toute transaction doit s'exécuter comme si elle était la seule sur le système. • Aucune dépendance possible entre les transactions. • La propriété d'isolation assure que l'exécution simultanée de transactions produit le même état que celui qui serait obtenu par l'exécution en série des transactions. Exemple: - Considérez deux transactions : T1 transfère 10 de A à B. T2 transfère 20 de B à A. - Ensemble, il y a quatre actions : - T1 soustrait 10 à A. - T2 soustrait 20 à B. - T2 ajoute 20 à A. - T1 ajoute 10 à B. - Si T1 échoue lors de la modification de B à l'étape 4. - Au moment où T1 échoue, T2 a déjà modifié A ; il ne peut pas être restauré à la valeur qu'il avait avant T1 sans laisser une base de données invalide.
  • 77. Fonctionnalités d’un SGBD • Durabilité • assure que lorsqu'une transaction a été confirmée, elle demeure enregistrée même à la suite d'une panne d'électricité, d'une panne de l'ordinateur ou d'un autre problème. • Exemple: - Considérez une transaction qui transfère 10 de A à B. - Tout d'abord, elle supprime 10 de A, puis elle ajoute 10 à B. - À ce stade, l'utilisateur est informé que la transaction a réussi. - Cependant, les modifications sont toujours mises en file d'attente dans la mémoire tampon du disque en attendant d'être validées sur le disque. - L'alimentation tombe en panne et les modifications sont perdues, mais l'utilisateur pense que les modifications persistent. => Echec de la Durabilité
  • 78. Fonctionnalités d’un SGBD • Les techniques utilisées pour assurer les propriétés ACID: • Locking: • De nombreuses bases de données s'appuient sur le verrouillage pour assurer les propriétés ACID. • Le verrouillage signifie que la transaction marque les données auxquelles elle accède afin que le SGBD sache qu'il ne permet pas à d'autres transactions de les modifier jusqu'à ce que la première transaction réussisse ou échoue. • Le verrou doit toujours être acquis avant de traiter des données, y compris des données lues mais non modifiées. • Les transactions non triviales nécessitent généralement un grand nombre de verrous, ce qui entraîne une surcharge importante ainsi que le blocage d'autres transactions. • Par exemple, si l'utilisateur A exécute une transaction qui doit lire une ligne de données que l'utilisateur B souhaite modifier, l'utilisateur B doit attendre que la transaction de l'utilisateur A se termine.
  • 79. Fonctionnalités d’un SGBD • Les techniques utilisées pour assurer les propriétés ACID: • Multiversioning: • Une alternative au verrouillage est le contrôle de concurrence multiversion, • La base de données fournit à chaque transaction de lecture la version précédente non modifiée des données qui sont modifiées par une autre transaction active. • Cela permet aux lecteurs de fonctionner sans acquérir de verrous, c'est-à-dire que les transactions d'écriture ne bloquent pas les transactions de lecture et que les lecteurs ne bloquent pas les écrivains. • Exemple: • Lorsque la transaction de l'utilisateur A demande des données que l'utilisateur B est en train de modifier, la base de données fournit à A la version de ces données qui existait lorsque l'utilisateur B a démarré sa transaction. • L'utilisateur A obtient une vue cohérente de la base de données même si d'autres utilisateurs modifient les données.
  • 80. Fonctionnalités d’un SGBD • ACID dans le cas des Base de données Réparties: • Garantir les propriétés ACID dans une transaction distribuée sur une base de données distribuée, où aucun nœud unique n'est responsable de toutes les données affectant une transaction, présente des complications supplémentaires. • Les connexions réseau peuvent échouer ou un nœud peut terminer avec succès sa partie de la transaction, puis être obligé d'annuler ses modifications en raison d'une défaillance sur un autre nœud. • Le protocole de validation en deux phases (Two Phase Commit) fournit l'atomicité pour les transactions distribuées afin de garantir que chaque participant à la transaction s'accorde sur le fait que la transaction doit être validée ou non. • Brièvement, dans la première phase, un nœud (le coordinateur) interroge les autres nœuds (les participants), et ce n'est que lorsque tous répondent qu'ils sont prêts que le coordinateur, dans la deuxième phase, formalise la transaction.
  • 81. Fonctionnalités d’un SGBD • Le SGBD doit permettre de donner l’accès aux bases de données à plusieurs utilisateurs concurremment. • Cela nécessite la gestion d’une structure de description des utilisateurs comprenant les droits qui leur sont associés pour chaque élément (lecture, modification…) : les droits d’accès aux données.
  • 83. Introduction aux bases de données • Qu’est ce qu’une base de données? • Evolution des bases de données et de leur mise en oeuvre • Système de gestion de bases de données • Etapes de la conception des bases de données • Métiers des bases de données
  • 84. Étapes de la conception des bases de données • On peut décomposer le processus de conception d’une base de données en plusieurs étapes : • 1- L’analyse du système du monde réel à modéliser; • 2- La mise en forme du modèle pour l’intégrer dans un SGBD; • 3- La création effective dans le SGBD des structures et leur remplissage.
  • 85. Étapes de la conception des bases de données • 1- Analyse du monde réel: • Une étape qui se fonde en partie sur des entretiens avec les personnels concernés. • Elle consiste en une analyse des entretiens et de l’organisation de l’entreprise. • Lors de cette phase, on : • détermine les objectifs du système d’information à concevoir. • identifie tous les éléments (Champs) à prendre en compte dans le système. • Un ensemble de champs peut constituer un objet du monde réel. • Ex: les champs « nom », « prénom» et « adresse » constituent une « personne ». • identifie les liens à modéliser entre les objets ainsi que les éléments caractéristiques de ces liens. • Ex: une personne achète une voiture à 10 000 euros. => Les deux objets liés sont « personne » et « voiture », et le prix est le composant du lien. • exprime les règles qui définissent le domaine de validité du contenu des champs. • Ex: le prix d’une voiture ne peut pas être inférieur à 500 euros ou supérieur à 150 000 euros.
  • 86. Étapes de la conception des bases de données • 1- Analyse du monde réel: • Cette modélisation du monde réel permet de proposer un schéma conceptuel qui servira à la description générale du système d’information. • La notion de sens des données et surtout des liens entre les entités ne sera réellement exprimée que dans ce schéma qui est plus proche du monde réel. • Ce schéma est souvent réalisé à l’aide de la symbolique du modèle « entité-association » ou exprimé avec le langage UML (Unified Modeling Language). • Il existe différentes méthodes intégrant les concepts présentés ci-dessus. • L’objectif est de guider le travail d’analyse et d’aider à la réalisation d’un modèle de données le plus juste possible. • Parmi celles-ci, la méthode Merise a connu un certain succès dans le domaine en France.
  • 87. Étapes de la conception des bases de données • 2- Passage au SGBD: • La représentation précédente doit être transformée pour la rendre acceptable par le SGBD, qu’il soit relationnel, objet ou relationnel-objet. • Souvent, cette étape modifie considérablement les objets du monde réel ainsi que les liens définis dans le schéma précédent. • Lors de cette phase, on: • vérifie la qualité de la base de données en utilisant des critères pour éliminer par exemple la redondance,…. • Le modèle relationnel procure à cette fin des outils capables de tester la cohérence du système et de le modifier le cas échéant : ce sont les « formes normales ». • on définit les « vues » du système d’information qui sont adaptées à chaque catégorie d’utilisateurs.
  • 88. Étapes de la conception des bases de données • 2- Passage au SGBD: • Il est possible de constater des incohérences à ce niveau de l’analyse, ce qui implique de modifier le modèle conceptuel de données développé à l’étape précédente. • On obtient un schéma des données qui fournira aux utilisateurs les informations nécessaires pour effectuer leurs requêtes, par exemple la description des noms de tables, de champs et leurs types. • Par contre, on perd à ce niveau l’information du « sens » des données et du lien entre elles.
  • 89. Étapes de la conception des bases de données • 3- Création et utilisation de la BD • Une fois le schéma précédent défini, on utilise le SGBD pour passer à la création des tables qui constituent la base de données. • Puis, on insère les valeurs dans les tables. • Le cas échéant, on crée les vues définies à l’étape précédente et les utilisateurs concernés. • Le système est alors opérationnel. Cette étape se fait forcément en utilisant le SGBD, alors que les précédentes étaient plus théoriques. • La création des tables et l’utilisation de la base de données nécessiteront le langage SQL. • Il existe de nos jours de nombreux outils graphiques dans les SGBD qui masquent l’utilisation du SQL.
  • 90. Introduction aux bases de données • Qu’est ce qu’une base de données? • Evolution des bases de données et de leur mise en oeuvre • Système de gestion de bases de données • Etapes de la conception des bases de données • Métiers des bases de données
  • 91. Métiers des bases de données • CONSULTANTS/ANALYSTES • Ils prennent en charge la première étape qui consiste en l’analyse des activités et des flux d’information mis en jeu dans le monde réel à modéliser. • Le profil de ces acteurs n’est pas toujours purement technique, puisque cette phase nécessite parfois beaucoup de dialogues et de psychologie pour parvenir à faire exprimer leurs besoins réels par les futurs utilisateurs. • La gageure est de parvenir à faire exprimer correctement les besoins d’informatisation par les utilisateurs du système d’information, afin de proposer un modèle conceptuel de données le plus juste possible.
  • 92. Métiers des bases de données • CONCEPTEURS DE LA BASE • Ce sont les personnes qui s’occupent de traduire le modèle précédent en un modèle logique exploitable par le SGBD. • Le concepteur est un spécialiste des bases de données qui prépare les tables, les vues, les schémas d’accès. • C’est lui qui renseigne les utilisateurs et programmeurs pour la définition des requêtes. • Il n’a pas, en principe, à être spécialisé sur un SGBD particulier, mais en pratique les éléments qu’il manipule sont liés au SGBD qui sera employé. • C’est parfois la même personne qui est en charge de la partie analyse et de la conception, ce qui peut induire une vision un peu trop orientée technique – comme celle d’un programmeur qui écrirait le cahier des charges d’une application. • Le concepteur peut aussi être administrateur du SGBD.
  • 93. Métiers des bases de données • ADMINISTRATEURS DE BASE DE DONNÉES • L’administrateur a la responsabilité du fonctionnement général du SGBD. • Il crée les ressources (bases, comptes) à la demande. • Il donne les droits d’accès et gère les personnes qui accident au système. • Il vérifie que les ressources sont suffisantes (taille du disque, puissance de la machine), effectue les sauvegardes, vérifie les failles de sécurité. • Pour ces opérations, il est en relation avec l’administrateur système et réseau de la structure. • Ce métier est extrêmement lié au SGBD employé. • Il n’y a pas vraiment de normalisation pour les opérations d’administration des SGBD qui sont spécifiques au SGBD et à la version utilisés.
  • 94. Métiers des bases de données • UTILISATEURS STANDARD ET PROGRAMMEURS D’APPLICATIONS • Ce sont eux qui utilisent le système d’information. • Ils y ont accès grâce aux vues définies par le concepteur de la base. • Ils utilisent les schémas déterminés aux deux premières étapes de la conception. • Ils n’ont pas besoin théoriquement d’être spécialisés sur le SGBD employé. • En pratique il est préférable, surtout pour les développeurs d’applications, d’avoir de bonnes connaissances du fonctionnement du SGBD. • Par exemple, pour optimiser les performances, la manière d’écrire les requêtes peut être assez différente suivant le SGBD employé.
  • 95. Introduction aux bases de données • Qu’est ce qu’une base de données? • Evolution des bases de données et de leur mise en oeuvre • Système de gestion de bases de données • Etapes de la conception des bases de données • Métiers des bases de données • La base de données Exemple
  • 96. La BD exemple • L’étude de cas basique modélise l’activité de vente de voitures d’occasion. • Deux entités du monde réel sont identifiées : les personnes et les voitures. • Une voiture est caractérisée par sa marque, son type, sa couleur. • Une personne est caractérisée par son nom, son âge, sa ville, son sexe. • L’action modélisée est la vente qui est caractérisée par le prix de la vente et sa date. • Une personne peut acheter une ou plusieurs voitures. • Une voiture peut être vendue une seule fois ou jamais.
  • 98. Résumé • Une base de données désigne l’ensemble des données stockées. • Pour manipuler ces données, on utilise un SGBD (Système de Gestion de Bases de Données) qui est un logiciel complexe. • La conception d’une base de données – de la modélisation du monde réel à son implémentation dans le SGBD – fait appel à des techniques et des méthodes très différentes pour chaque étape. • Des métiers spécifiques se sont donc développés autour de ces concepts et les mettent en oeuvre. • La modélisation des BD est passé d’une organisation comparable à celle des fichiers informatiques (modèles hiérarchiques ou réseaux) à un modèle plus abstrait : le modèle relationnel. • Le modèle relationnel est associé étroitement à SQL, un langage normalisé de description, de manipulation et d’interrogation de données. • De nouvelles formes d’interrogation, telles que la « fouille de données » (ou data mining) et les bases de données déductives, permettent d’extrapoler de l’information non explicitement stockée dans les bases de données.

Notes de l'éditeur

  1. le volume de données numériques créées ou répliquées à l'échelle mondiale a été multiplié par plus de trente au cours de la dernière décennie, passant de 2 zettaoctets en 2010 à 64 zettaoctets en 2020.
  2. To do add examples
  3. Add details on what we want to talk about
  4. Todo : Explication des schemas
  5. Add details on what we want to talk about
  6. Cette seconde table permet d’employer des méthodes de recherche par le contenu du champ indexé beaucoup plus efficaces qu’une recherche séquentielle. La recherche dichotomique bien connue est l’une d’entre elles. Une fois l’enregistrement identifié, on y accède directement grâce à la première table. Les techniques de constitution des index constituent un sujet à part entière ainsi que les algorithmes de recherche qui leur sont associés. On constate que la simple recherche d’informations recourt déjà à des algorithmes assez sophistiqués et nécessite la construction et le maintien de structures annexes pour être efficace. De même, la destruction d’enregistrements et l’évolution de la structure de la base sont également des opérations lourdes à mettre en oeuvre ; elles requièrent souvent la recopie complète des informations dans un nouveau fichier. Cette section nous permet de comprendre pourquoi on utilise préférentiellement des SGBD pour gérer les données. Toutes ces fonctionnalités et bien d’autres que nous allons détailler sont intégrées dans le logiciel.