SlideShare une entreprise Scribd logo
BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX
2
SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0
Table des matières
Les bases de données............................................................................................................................................................. 3
Qu’est-ce qu’une base de données ? .................................................................................................................................... 3
Usages des bases de données .............................................................................................................................................. 3
Objectifs des bases de données............................................................................................................................................ 4
Qu’est-ce qu’un SGBD ?........................................................................................................................................................ 4
Architecture d’un SGBD.................................................................................................................................................... 5
Objectifs des SGBD ........................................................................................................................................................... 7
Les objectifs orientés DONNEES ................................................................................................................................... 7
Les objectifs orientés TRAITEMENT............................................................................................................................. 8
Les objectifs orientés ORGANISATION ........................................................................................................................ 8
Fonctions d’un SGBD........................................................................................................................................................ 8
Types de SGBD................................................................................................................................................................. 9
Types d’utilisateurs d’un SGBD ........................................................................................................................................10
Cycle de vie d'une base de données .......................................................................................................................................11
Modèles de données, schémas et langages .............................................................................................................................11
Notion de modèle de données ..........................................................................................................................................11
Notion de schéma de données ..........................................................................................................................................12
Notion de langage de données...........................................................................................................................................13
BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX
3
SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0
Concepts fondamentaux
Les bases de données
Qu’est-ce qu’une base de données ?
Une base de données est un ensemble de données modélisant les objets d’une partie du monde réel et servant de support à une
application informatique. Pour mériter le terme de base de données, un ensemble de données non indépendantes doit être
interrogeable par le contenu, c’est à dire que l’on doit pouvoir retrouver tous les objets qui satisfont à un certain critère
[G.Gardarin].
En d’autres termes, c’est un ensemble structuré de données mémorisé sur un support permanent (cohérent, intégré, partagé) qui
peut être manipulé par plusieurs utilisateurs ayant des vues différentes sur ces données.
Par données, il faut comprendre : une représentation d’un fait à l’aide d’un code binaire stocké dans la mémoire de l’ordinateur.
Une donnée doit avoir un type. Le type est ensemble d’objets ayant les mêmes caractéristiques et manipulables par des
opérations identiques. On distingue :
− Données simples : entier, réel, chaîne de caractères, réel, etc.
− Données de type complexe : composée de données de types simples
− Donnée de type multimédia : texte, image, son vidéo
Exemple de données :
• 500 (type de données : entier)
• Renault Megane Noir DK1234AX (type de données : véhicule)
Usages des bases de données
Voici des exemples classiques d’utilisation des bases de données :
− Gestion des comptes clients d’une banque
− Gestion des commandes d’un site d’e-commerce
− Système de réservation de billets d’avion
BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX
4
SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0
− Gestion des étudiants d’une université
− Gestion des personnels d’une entreprise
− Bases de données d’articles scientifiques
Les données manipulées dans ces applications sont stockées dans une base de données.
Objectifs des bases de données
• Centralisation logique de l’information
Non redondance (la même information ne doit pas figurer plusieurs fois dans la BD
⇒ Ce qui diminue les risques d’erreurs de mise à jour et supprime le problème
d’avoir des informations contradictoires sur une même donnée dans de fichiers
différents
• Indépendance données traitement
• Partage des données (accessibilité à plusieurs utilisateurs simultanés)
confidentialité (login, mot de passe)
autorisation d’accès (lecture, écriture)
accès concurrents
• Intégrité des données
règles permettant d’éliminer des donner incorrectes (contrainte d’intégrité
référentielle, unicité de l’identifiant…).
Qu’est-ce qu’un SGBD ?
Un système de gestion de base de données ou SGBD est un programme générique qui permet la définition, la mise en œuvre et
l’exploitation (insérer, supprimer, mettre à jour) d’une base de données.
Exemple de SGBD :
• MySQL
• Oracle Database
• Microsoft SQL Server
Le SGBD va permettre aux utilisateurs d’insérer, de modifier et de rechercher efficacement des données spécifiques dans une
grande masse de d’informations (pouvant atteindre des milliards d’octets).
Le SGBD constitue interface entre programme d'application des utilisateurs d'une part et Base de données d'autre part. Il sert à
masquer à l’utilisateur les détails complexes liés à la gestion des fichiers.
BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX
5
SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0
Architecture d’un SGBD
Structure en couche
Comme cité précédemment le SGBD constitue l’interface entre les utilisateurs et la base de données (voir figure ci-dessous).
Un SGBD est comporte trois couches :
− Couche interne (ou physique) : stockage des données sur des supports physiques, gestions des structures de
mémorisation (fichiers) et des accès (gestions des index et des clés)
− Couche logique : contrôle global et structure globale des données
− Couche externe : dialogue avec les utilisateurs, analyse de leurs demandes, contrôle des droits d’accès et présentation
des résultats, environnement de programmation (intégration avec un langage de programmation). La représentation de
la base de données est composée de plusieurs schémas externes.
BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX
6
SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0
Architecture ANSI/SPARC
Elle donne une vue plus détaillée du schéma précédent.
Schéma
Externe
Schéma
Externe
Schéma
Externe
Schéma Conceptuel
Schéma Physique
Correspondances
Externe/Conceptuel
Correspondances
Conceptuel/Physique
Utilisateurs
(Vues)
Concepteur,
administrateur
(modèle de données)
Structures de
données
(fichiers, index)
Couche
externe
Couche
logique
Couche
interne
Schémas
Externes
Schéma
Logique
Schéma
Interne
Dialogue Contrôle Stockage
B
Utilisateurs
Interface
utilisateur
Interface d’accès aux
données
SGBD
BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX
7
SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0
Objectifs des SGBD
Le principal objectif d’un SGBD est d’assurer l’indépendance des programmes aux données, c’est à dire la possibilité de
modifier les schémas conceptuel et interne des données sans modifier les programmes. Cet objectif est justifié afin d’éviter une
maintenance coûteuse des programmes lors des modifications des structures logiques et physiques.
Les objectifs d’un SGBD sont [G.Gardarin]:
− Indépendance physique des programmes aux données
− Indépendance logique des programmes aux données
− Manipulation des données par des langages non procéduraux
− Administration facilitée des données
− Efficacité des accès aux données
− Partage des données
− Cohérence des données
− Redondance contrôlée des données
− Sécurité des données
Ces objectifs peuvent être classés en plusieurs catégories :
Les objectifs orientés DONNEES
− Non redondance des données : avec une approche base de données, les fichiers plus ou moins redondants seront
intégrés en un seul fichier ou plusieurs fichiers contenant des données distinctes.
− Partageabilité des données : permettre le partage des données de la base à plusieurs applications, utilisateurs,
simultanément.
− Sécurité des données : les données doivent être protégées contre les accès (non autorisés, mal intentionnés). D’où la
nécessité de contrôler les donnés.
− Cohérence des données : les données sont soumises à certaines règles. Par exemple : un compte bancaire est rattaché à
un et un seul client.
Le SGBD doit vérifier que les applications respectent ces règles et contraintes d’intégrité. Donc il faut avoir des connaissances
sur les données et leur signification.
BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX
8
SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0
Les objectifs orientés TRAITEMENT
− Indépendance physique des données : on peut changer le schéma physique sans remettre en cause le schéma conceptuel
(et les schémas externes). On peut modifier l'organisation physique des fichiers, rajouter ou supprimer des méthodes
d'accès ;
− Indépendance logique des données : on peut changer le niveau conceptuel sans remettre en cause les schémas externes
ou les programmes d'application. L'ajout ou le retrait de nouveaux concepts ne doit pas modifier des éléments qui n'y
font pas explicitement référence ;
− Manipulation facile des données (pour les non-informaticiens) : pouvoir les consulter, les interroger, les mettre à jour
− Manipulation facile des données (pour les informaticiens) : langage de développement de haut niveau
Les objectifs orientés ORGANISATION
− Administration centralisée des données
o Permettre un contôlr efficace des données ;
o Résoudre les conflits entre divers point de vue d’utilisateurs ;
o Optimisation des accès aux données
o Optimisation des moyens informatiques
− Fonctions
o Administrateur des données
o Administrateur de base de données
− Centralisation/décentralisation
o La base de données peut être distribué/partagé.
Fonctions d’un SGBD
Un SGBD doit permettre de :
! Décrire les données qui seront stockées stocker
! Gérer les données
● Manipuler des données (ajout, modification, suppression d’informations) ,
● Assurer la cohérence (ou intégrité) des données (contraintes de domaines,
d’existence, etc.),
● Assurer la confidentialité des données (mots de passe, autorisation…),
● Résoudre des problèmes d’accès multiples aux données (blocages, transactions
BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX
9
SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0
parallèles),
● Prévoir des procédures de reprise en cas de panne ( copies de sauvegarde, journaux)
! Obtenir des renseignements à partir des données stockées au moyen de requêtes (sélection, tri, calcul,
agrégation, etc.),
! Permettre l’écriture d’applications indépendantes de l’implémentation physique des données (codage,
supports d’enregistrement) et aussi indépendantes que possible de l’implémentation logique des données
(index, décomposition en « fichiers logiques »)
Un SGBD sépare la partie description des données, des données elles mêmes. Cette description est stockée
dans un dictionnaire de données (également géré dans le SGBD) et peut être consultée par les utilisateurs.
De plus, un SGBD doit permettre d’écrire des applications indépendantes de l’implémentation physique des
données (codage des données, ordre dans lequel sont enregistrées les données, support d’enregistrement, etc.)
Types de SGBD
Historiquement les premiers types de SGBD étaient de type hiérarchique, puis sont apparu les SGBD de type
réseau. Actuellement la plupart des SGBD sont de type relationnel .On note aussi l’apparition sur le marché des
SGBD de type objet.
La différence entre ces types de SGBD réside dans les modèles sur lesquels ils s’appuient pour représenter les données.
Modèle hiérarchique :
Les données sont représentées sous forme d’une structure arborescente d’enregistrements. Cette structure est conçue avec des
pointeurs de détermine les chemins d’accès aux données
Modèle réseau
La structure des données peut être visualisée sous la forme d’un graphe quelconque. Comme pour le modèle hiérarchique, la
structure est conçue avec des pointeurs et détermine le chemin d’accès aux données
Pour ces deux modèles les programmes ne sont pas indépendant de la structure logique de la base et du chemin d’accès aux
données : ils doivent décrire comment retrouver les données. La suppression par exemple d’un index entraîne la réécriture de
tous les programmes qui l’utilisaient
Modèle Relationnel
BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX
10
SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0
Fondé sur la théorie mathématique des relations, le modèle relationnel fournit une représentation très simple des données sous
forme de tables constituées de lignes et de colonnes. De plus il n’y a pas de pointeur qui fige la structure de la base.
La souplesse apportée par cette représentation a permis le développement de langages puissants non procéduraux. Dans ces
langages le programmeur indique quelles informations il veut obtenir et c’est le SGBD qui trouve la manière d’arriver au
résultat. Le programmeur ou l’utilisateur n’a plus à naviguer dans la base pour retrouver ses données. Ces langages peuvent être
utilisés par des non informaticiens et permettent l’écriture de programmes indépendants de la structure logique et physique des
données
Modèle Objet
Les données sont représentées sous forme d’objets au sens donné par les langages orientés objet. Les données sont enregistrées
avec les procédures et les fonctions qui permettent de les manipuler. Les SGBD objets supportent aussi la notion d’héritage
entre classes d’objets.
Types d’utilisateurs d’un SGBD
La gestion d’une base de données fait intervenir plusieurs types acteurs : administrateur, programmeur, utilisateur final. Une
même personne peut occuper plusieurs rôles et un rôle peut être occupé par plusieurs personnes.
L’administrateur de la base est chargé du contrôle de la base de données. Il permet l’accès aux données aux applications ou
individus qui y ont droit et de conserver de bonnes performances d’accès à ces données. Il est aussi chargé des sauvegardes et
des procédures de reprise après panne.
Le programmeur d’applications utilise la base de données pour construire ses applications. Il a le droit de créer de nouvelles
tables et les structures associées (vues, index, cluster, etc.). Il définit avec l’administrateur de la base les droits qui seront
accordés aux utilisateurs des applications qu’il développe.
L’utilisateur final n’a accès qu’aux données qui lui sont utiles. L’administrateur de la base de données peut lui en accorder
certains droits : consultation, modification, suppression de données. En général, il n’a pas le droit de créer de nouvelles tables ni
d’ajouter ou d’enlever des index. En définitive l’utilisateur final n’est pas un expert car il :
− sait ce qu'il veut,
− ne sait pas forcément ce qu'il faut faire pour l'obtenir,
− ne veut pas savoir comment ça marche,
− veut en faire un minimum pour faire tourner son application.
BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX
11
SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0
Cycle de vie d'une base de données
Modèles de données, schémas et langages
Notion de modèle de données
• Un modèle de données est un ensemble de concepts permettant de décrire la structure d'une base de données. Un
modèle est souvent représenté au moyen d'un formalisme graphique permettant de décrire les données (ou plus
précisément les types de données) et les relations entre les données.
• On distingue trois niveaux de modélisation pour les bases de données :
♦ Le modèle conceptuel
Il permet de décrire le réel selon une approche ontologique, sans prendre en compte les contraintes techniques.
Monde
réel
Conception
(Analyse)
Information à stocker
(futur contenu de la base)
BD
LDD (langage de description des données)
SGBD
LMD (langage de manipulation des données)
Implémentation
Manipulation
BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX
12
SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0
♦ Le modèle logique
Il permet de décrire une solution, en prenant une orientation informatique générale (type de SGBD typiquement), mais
indépendamment de choix d'implémentation précis.
♦ Le modèle physique
Il correspond aux choix techniques, en terme de SGBD choisi et de sa mise en oeuvre (programmation, optimisation,
etc.).
Exemple de formalisme de modélisation conceptuelle
♦ Le modèle Entité-Association (Chen) a été le plus répandu dans le cadre de la
conception de bases de données.
♦ Le modèle UML, qui se généralise pour la conception en informatique, se fonde
sur une approche objet.
Exemple de formalisme de modélisation logique
♦ Le modèle relationnel est le modèle dominant.
♦ Le modèle relationnel-objet (adaptation des modèles relationnel et objet au cadre
des SGBD) est actuellement en pleine croissance.
♦ Le modèle objet "pur" reste majoritairement au stade expérimental et de la
recherche.
♦ Des modèles plus anciens (hiérarchique, réseau, etc.) ne sont plus guère utilisés
aujourd'hui.
Notion de schéma de données
Description, au moyen d'un langage formel, d'un ensemble de données dans le contexte d'une BD. Un schéma permet de
décrire la structure d'une base de données, en décrivant l'ensemble des types de données de la base. L'occurrence d'une base de
données est constituée de l'ensemble des données correspondant aux types du schéma de la base.
Exemple : Schéma de base de données
Etudiant (NumEtud, nom, ville)
Module(NumMod, titre)
Inscription(NumEtud, NumMod, date)
Exemple : Instance de base de données
Etudiant (172, Diop, 'Dakar')
BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX
13
SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0
Etudiant (173, Fall, 'Thies')
Etudiant (174, Lam, 'Louga')
Module(1, 'SGBD')
Module(1, 'Systèmes d'exploitation')
Inscription(172, 1, 2002)
Inscription(172, 2, 2002)
Inscription(173, 1, 2001)
Inscription(174, 2, 2002)
On distingue trois niveaux d'abstraction de schémas :
♦ Le niveau conceptuel
Il permet de décrire les entités et les associations du monde réel. Il s'agit du schéma global de la base de données, il en
propose une vue canonique.
Le niveau conceptuel correspond au modèle conceptuel.
♦ Le niveau externe
Il permet de décrire les entités et les associations du monde réel, mais vues d'un utilisateur ou d'un groupe d'utilisateurs
particuliers (on parle d'ailleurs également de "vue" pour un schéma externe). Il s'agit d'une restriction du schéma
conceptuel orientée vers un usage précis. Il existe généralement plusieurs schémas externes pour un même schéma
conceptuel.
Le niveau externe correspond à un sous ensemble du modèle conceptuel restreint aux points de vue de certains
utilisateurs.
♦ Le niveau interne
Il correspond à l'implémentation physique des entités et associations dans les fichiers de la base.
Le niveau interne correspond aux modèles logiques et physiques.
Remarque :
Les trois niveaux, conceptuel, externe et interne, sont les trois niveaux distingués par le groupe de normalisation
ANSI/X3/SPARC.
Notion de langage de données
C’est un langage informatique permettant de décrire et de manipuler les schémas d'une BD d'une manière assimilable par la
machine.
♦ Synonyme : Langage orienté données.
Exemple : SQL
SQL est le langage orienté données consacré aux SGBD relationnels et relationnel-objet.
Un langage de données peut être décomposé en trois sous langages :
♦ Le Langage de Définition de Données
BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX
14
SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0
Le LDD [Langage de Définition de Données] permet d'implémenter le schéma conceptuel (notion de table en SQL) et
les schémas externes (notion de vue en SQL).
♦ Le Langage de Contrôle de Données
Le LCD [Langage de Contrôle de Données] permet d'implémenter les droits que les utilisateurs ont sur les données et
participe donc à la définition des schémas externes.
♦ Le Langage de Manipulation de Données
Le LMD [Langage de Manipulation de Données] permet l'interrogation et la mise à jour des données. C'est la partie du
langage indispensable pour exploiter la BD et réaliser les applications.
En résumé
Conception
Modèle Conceptuel
Schéma conceptuel et
schémas externes
Modèle Physique
Schéma interne pour un
SGBD particulier
Modèle Logique
Schéma interne
indépendant d’un SGBD
Exemples
- E-A
- UML
Exemples
- Relationnel
- Objet
- Réseau
- Hiérarchique
Exemples
- Oracle
- MySQL
- PosgreSQL
- DB2
- Access
- SQLServer

Contenu connexe

Tendances

Base de données graphe et Neo4j
Base de données graphe et Neo4jBase de données graphe et Neo4j
Base de données graphe et Neo4j
Boris Guarisma
 
Introduction to MongoDB.pptx
Introduction to MongoDB.pptxIntroduction to MongoDB.pptx
Introduction to MongoDB.pptx
Surya937648
 
GPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge GraphGPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge Graph
Neo4j
 
Big table
Big tableBig table
Big table
Manuel Correa
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
Khanh Maudoux
 
Graphs for Genealogists
Graphs for GenealogistsGraphs for Genealogists
Graphs for Genealogists
Neo4j
 
Choosing the Right Graph Database to Succeed in Your Project
Choosing the Right Graph Database to Succeed in Your ProjectChoosing the Right Graph Database to Succeed in Your Project
Choosing the Right Graph Database to Succeed in Your Project
Ontotext
 
Big Query Basics
Big Query BasicsBig Query Basics
Big Query Basics
Ido Green
 
Debunking some “RDF vs. Property Graph” Alternative Facts
Debunking some “RDF vs. Property Graph” Alternative FactsDebunking some “RDF vs. Property Graph” Alternative Facts
Debunking some “RDF vs. Property Graph” Alternative Facts
Neo4j
 
MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB Fundamentals
MongoDB
 
ESWC 2017 Tutorial Knowledge Graphs
ESWC 2017 Tutorial Knowledge GraphsESWC 2017 Tutorial Knowledge Graphs
ESWC 2017 Tutorial Knowledge Graphs
Peter Haase
 
An overview of BigQuery
An overview of BigQuery An overview of BigQuery
An overview of BigQuery
GirdhareeSaran
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
Hadi Fadlallah
 
How MongoDB can accelerate a path to GDPR compliance
How MongoDB can accelerate a path to GDPR complianceHow MongoDB can accelerate a path to GDPR compliance
How MongoDB can accelerate a path to GDPR compliance
MongoDB
 
Neo4j Graph Data Science - Webinar
Neo4j Graph Data Science - WebinarNeo4j Graph Data Science - Webinar
Neo4j Graph Data Science - Webinar
Neo4j
 
A metadata standard for Knowledge Graphs
A metadata standard for Knowledge GraphsA metadata standard for Knowledge Graphs
A metadata standard for Knowledge Graphs
Michel Dumontier
 
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...
Databricks
 
ArangoDB – A different approach to NoSQL
ArangoDB – A different approach to NoSQLArangoDB – A different approach to NoSQL
ArangoDB – A different approach to NoSQL
ArangoDB Database
 
MapReduce
MapReduceMapReduce
MapReduce
Amir Payberah
 
Introduction to NOSQL databases
Introduction to NOSQL databasesIntroduction to NOSQL databases
Introduction to NOSQL databases
Ashwani Kumar
 

Tendances (20)

Base de données graphe et Neo4j
Base de données graphe et Neo4jBase de données graphe et Neo4j
Base de données graphe et Neo4j
 
Introduction to MongoDB.pptx
Introduction to MongoDB.pptxIntroduction to MongoDB.pptx
Introduction to MongoDB.pptx
 
GPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge GraphGPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge Graph
 
Big table
Big tableBig table
Big table
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
 
Graphs for Genealogists
Graphs for GenealogistsGraphs for Genealogists
Graphs for Genealogists
 
Choosing the Right Graph Database to Succeed in Your Project
Choosing the Right Graph Database to Succeed in Your ProjectChoosing the Right Graph Database to Succeed in Your Project
Choosing the Right Graph Database to Succeed in Your Project
 
Big Query Basics
Big Query BasicsBig Query Basics
Big Query Basics
 
Debunking some “RDF vs. Property Graph” Alternative Facts
Debunking some “RDF vs. Property Graph” Alternative FactsDebunking some “RDF vs. Property Graph” Alternative Facts
Debunking some “RDF vs. Property Graph” Alternative Facts
 
MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB Fundamentals
 
ESWC 2017 Tutorial Knowledge Graphs
ESWC 2017 Tutorial Knowledge GraphsESWC 2017 Tutorial Knowledge Graphs
ESWC 2017 Tutorial Knowledge Graphs
 
An overview of BigQuery
An overview of BigQuery An overview of BigQuery
An overview of BigQuery
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
 
How MongoDB can accelerate a path to GDPR compliance
How MongoDB can accelerate a path to GDPR complianceHow MongoDB can accelerate a path to GDPR compliance
How MongoDB can accelerate a path to GDPR compliance
 
Neo4j Graph Data Science - Webinar
Neo4j Graph Data Science - WebinarNeo4j Graph Data Science - Webinar
Neo4j Graph Data Science - Webinar
 
A metadata standard for Knowledge Graphs
A metadata standard for Knowledge GraphsA metadata standard for Knowledge Graphs
A metadata standard for Knowledge Graphs
 
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...
 
ArangoDB – A different approach to NoSQL
ArangoDB – A different approach to NoSQLArangoDB – A different approach to NoSQL
ArangoDB – A different approach to NoSQL
 
MapReduce
MapReduceMapReduce
MapReduce
 
Introduction to NOSQL databases
Introduction to NOSQL databasesIntroduction to NOSQL databases
Introduction to NOSQL databases
 

Similaire à Bases de donnees fondamentaux

Cours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdfCours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdf
stephanecoulibaly3
 
Cours Base de données relationnelles
Cours Base de données relationnellesCours Base de données relationnelles
Cours Base de données relationnelles
Aymen Kasmi
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.ppt
Idriss22
 
Simplifier la mise en place d'une stratégie Data Mesh avec Denodo
Simplifier la mise en place d'une stratégie Data Mesh avec DenodoSimplifier la mise en place d'une stratégie Data Mesh avec Denodo
Simplifier la mise en place d'une stratégie Data Mesh avec Denodo
Denodo
 
Livre Blanc Sap Dms Sap Plm
Livre Blanc Sap Dms  Sap PlmLivre Blanc Sap Dms  Sap Plm
Livre Blanc Sap Dms Sap Plm
SEAL Systems
 
Intro SGBD et BD.ppt
Intro SGBD et BD.pptIntro SGBD et BD.ppt
Intro SGBD et BD.ppt
Bahaty1
 
Ecosystème Big Data
Ecosystème Big DataEcosystème Big Data
Ecosystème Big Data
Idriss22
 
cours-intro-base-donnees.pdf
cours-intro-base-donnees.pdfcours-intro-base-donnees.pdf
cours-intro-base-donnees.pdf
djamelbentorkia
 
base de données -note de cours
base de données -note de cours base de données -note de cours
base de données -note de cours
Yassine Badri
 
Livre Blanc : comprendre les data-lakes
Livre Blanc : comprendre les data-lakesLivre Blanc : comprendre les data-lakes
Livre Blanc : comprendre les data-lakes
Converteo
 
Intro_modul_et_SI_chapt0.ppt
Intro_modul_et_SI_chapt0.pptIntro_modul_et_SI_chapt0.ppt
Intro_modul_et_SI_chapt0.ppt
Idriss22
 
Session en ligne: Découverte du Logical Data Fabric & Data Virtualization
Session en ligne: Découverte du Logical Data Fabric & Data VirtualizationSession en ligne: Découverte du Logical Data Fabric & Data Virtualization
Session en ligne: Découverte du Logical Data Fabric & Data Virtualization
Denodo
 
Le métier d’administrateur de
Le métier d’administrateur deLe métier d’administrateur de
Le métier d’administrateur deAlgeria JUG
 
Livre blanc data-lakes converteo 2018
Livre blanc data-lakes converteo 2018Livre blanc data-lakes converteo 2018
Livre blanc data-lakes converteo 2018
Converteo
 
Emna borgi mabroukachraita-datawarehouse
Emna borgi mabroukachraita-datawarehouseEmna borgi mabroukachraita-datawarehouse
Emna borgi mabroukachraita-datawarehouse
Emna Borgi
 
Archivage, sauvegarde et restauration pour une virtualisation réussie
Archivage, sauvegarde et restauration pour une virtualisation réussieArchivage, sauvegarde et restauration pour une virtualisation réussie
Archivage, sauvegarde et restauration pour une virtualisation réussieAquastar Consulting
 
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
Denodo
 

Similaire à Bases de donnees fondamentaux (20)

Cours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdfCours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdf
 
Cours Base de données relationnelles
Cours Base de données relationnellesCours Base de données relationnelles
Cours Base de données relationnelles
 
Intro SQL
Intro SQL Intro SQL
Intro SQL
 
Si bdd
Si bddSi bdd
Si bdd
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.ppt
 
Simplifier la mise en place d'une stratégie Data Mesh avec Denodo
Simplifier la mise en place d'une stratégie Data Mesh avec DenodoSimplifier la mise en place d'une stratégie Data Mesh avec Denodo
Simplifier la mise en place d'une stratégie Data Mesh avec Denodo
 
Livre Blanc Sap Dms Sap Plm
Livre Blanc Sap Dms  Sap PlmLivre Blanc Sap Dms  Sap Plm
Livre Blanc Sap Dms Sap Plm
 
Intro SGBD et BD.ppt
Intro SGBD et BD.pptIntro SGBD et BD.ppt
Intro SGBD et BD.ppt
 
Ecosystème Big Data
Ecosystème Big DataEcosystème Big Data
Ecosystème Big Data
 
cours-intro-base-donnees.pdf
cours-intro-base-donnees.pdfcours-intro-base-donnees.pdf
cours-intro-base-donnees.pdf
 
base de données -note de cours
base de données -note de cours base de données -note de cours
base de données -note de cours
 
Livre Blanc : comprendre les data-lakes
Livre Blanc : comprendre les data-lakesLivre Blanc : comprendre les data-lakes
Livre Blanc : comprendre les data-lakes
 
Intro_modul_et_SI_chapt0.ppt
Intro_modul_et_SI_chapt0.pptIntro_modul_et_SI_chapt0.ppt
Intro_modul_et_SI_chapt0.ppt
 
Session en ligne: Découverte du Logical Data Fabric & Data Virtualization
Session en ligne: Découverte du Logical Data Fabric & Data VirtualizationSession en ligne: Découverte du Logical Data Fabric & Data Virtualization
Session en ligne: Découverte du Logical Data Fabric & Data Virtualization
 
Le métier d’administrateur de
Le métier d’administrateur deLe métier d’administrateur de
Le métier d’administrateur de
 
ANTIDOT - Antidot information factory
ANTIDOT - Antidot information factoryANTIDOT - Antidot information factory
ANTIDOT - Antidot information factory
 
Livre blanc data-lakes converteo 2018
Livre blanc data-lakes converteo 2018Livre blanc data-lakes converteo 2018
Livre blanc data-lakes converteo 2018
 
Emna borgi mabroukachraita-datawarehouse
Emna borgi mabroukachraita-datawarehouseEmna borgi mabroukachraita-datawarehouse
Emna borgi mabroukachraita-datawarehouse
 
Archivage, sauvegarde et restauration pour une virtualisation réussie
Archivage, sauvegarde et restauration pour une virtualisation réussieArchivage, sauvegarde et restauration pour une virtualisation réussie
Archivage, sauvegarde et restauration pour une virtualisation réussie
 
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
 

Dernier

Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
M2i Formation
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
mrelmejri
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
Billy DEYLORD
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
caggoune66
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
BenotGeorges3
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 

Dernier (12)

Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 

Bases de donnees fondamentaux

  • 1. BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX 2 SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0 Table des matières Les bases de données............................................................................................................................................................. 3 Qu’est-ce qu’une base de données ? .................................................................................................................................... 3 Usages des bases de données .............................................................................................................................................. 3 Objectifs des bases de données............................................................................................................................................ 4 Qu’est-ce qu’un SGBD ?........................................................................................................................................................ 4 Architecture d’un SGBD.................................................................................................................................................... 5 Objectifs des SGBD ........................................................................................................................................................... 7 Les objectifs orientés DONNEES ................................................................................................................................... 7 Les objectifs orientés TRAITEMENT............................................................................................................................. 8 Les objectifs orientés ORGANISATION ........................................................................................................................ 8 Fonctions d’un SGBD........................................................................................................................................................ 8 Types de SGBD................................................................................................................................................................. 9 Types d’utilisateurs d’un SGBD ........................................................................................................................................10 Cycle de vie d'une base de données .......................................................................................................................................11 Modèles de données, schémas et langages .............................................................................................................................11 Notion de modèle de données ..........................................................................................................................................11 Notion de schéma de données ..........................................................................................................................................12 Notion de langage de données...........................................................................................................................................13
  • 2. BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX 3 SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0 Concepts fondamentaux Les bases de données Qu’est-ce qu’une base de données ? Une base de données est un ensemble de données modélisant les objets d’une partie du monde réel et servant de support à une application informatique. Pour mériter le terme de base de données, un ensemble de données non indépendantes doit être interrogeable par le contenu, c’est à dire que l’on doit pouvoir retrouver tous les objets qui satisfont à un certain critère [G.Gardarin]. En d’autres termes, c’est un ensemble structuré de données mémorisé sur un support permanent (cohérent, intégré, partagé) qui peut être manipulé par plusieurs utilisateurs ayant des vues différentes sur ces données. Par données, il faut comprendre : une représentation d’un fait à l’aide d’un code binaire stocké dans la mémoire de l’ordinateur. Une donnée doit avoir un type. Le type est ensemble d’objets ayant les mêmes caractéristiques et manipulables par des opérations identiques. On distingue : − Données simples : entier, réel, chaîne de caractères, réel, etc. − Données de type complexe : composée de données de types simples − Donnée de type multimédia : texte, image, son vidéo Exemple de données : • 500 (type de données : entier) • Renault Megane Noir DK1234AX (type de données : véhicule) Usages des bases de données Voici des exemples classiques d’utilisation des bases de données : − Gestion des comptes clients d’une banque − Gestion des commandes d’un site d’e-commerce − Système de réservation de billets d’avion
  • 3. BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX 4 SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0 − Gestion des étudiants d’une université − Gestion des personnels d’une entreprise − Bases de données d’articles scientifiques Les données manipulées dans ces applications sont stockées dans une base de données. Objectifs des bases de données • Centralisation logique de l’information Non redondance (la même information ne doit pas figurer plusieurs fois dans la BD ⇒ Ce qui diminue les risques d’erreurs de mise à jour et supprime le problème d’avoir des informations contradictoires sur une même donnée dans de fichiers différents • Indépendance données traitement • Partage des données (accessibilité à plusieurs utilisateurs simultanés) confidentialité (login, mot de passe) autorisation d’accès (lecture, écriture) accès concurrents • Intégrité des données règles permettant d’éliminer des donner incorrectes (contrainte d’intégrité référentielle, unicité de l’identifiant…). Qu’est-ce qu’un SGBD ? Un système de gestion de base de données ou SGBD est un programme générique qui permet la définition, la mise en œuvre et l’exploitation (insérer, supprimer, mettre à jour) d’une base de données. Exemple de SGBD : • MySQL • Oracle Database • Microsoft SQL Server Le SGBD va permettre aux utilisateurs d’insérer, de modifier et de rechercher efficacement des données spécifiques dans une grande masse de d’informations (pouvant atteindre des milliards d’octets). Le SGBD constitue interface entre programme d'application des utilisateurs d'une part et Base de données d'autre part. Il sert à masquer à l’utilisateur les détails complexes liés à la gestion des fichiers.
  • 4. BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX 5 SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0 Architecture d’un SGBD Structure en couche Comme cité précédemment le SGBD constitue l’interface entre les utilisateurs et la base de données (voir figure ci-dessous). Un SGBD est comporte trois couches : − Couche interne (ou physique) : stockage des données sur des supports physiques, gestions des structures de mémorisation (fichiers) et des accès (gestions des index et des clés) − Couche logique : contrôle global et structure globale des données − Couche externe : dialogue avec les utilisateurs, analyse de leurs demandes, contrôle des droits d’accès et présentation des résultats, environnement de programmation (intégration avec un langage de programmation). La représentation de la base de données est composée de plusieurs schémas externes.
  • 5. BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX 6 SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0 Architecture ANSI/SPARC Elle donne une vue plus détaillée du schéma précédent. Schéma Externe Schéma Externe Schéma Externe Schéma Conceptuel Schéma Physique Correspondances Externe/Conceptuel Correspondances Conceptuel/Physique Utilisateurs (Vues) Concepteur, administrateur (modèle de données) Structures de données (fichiers, index) Couche externe Couche logique Couche interne Schémas Externes Schéma Logique Schéma Interne Dialogue Contrôle Stockage B Utilisateurs Interface utilisateur Interface d’accès aux données SGBD
  • 6. BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX 7 SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0 Objectifs des SGBD Le principal objectif d’un SGBD est d’assurer l’indépendance des programmes aux données, c’est à dire la possibilité de modifier les schémas conceptuel et interne des données sans modifier les programmes. Cet objectif est justifié afin d’éviter une maintenance coûteuse des programmes lors des modifications des structures logiques et physiques. Les objectifs d’un SGBD sont [G.Gardarin]: − Indépendance physique des programmes aux données − Indépendance logique des programmes aux données − Manipulation des données par des langages non procéduraux − Administration facilitée des données − Efficacité des accès aux données − Partage des données − Cohérence des données − Redondance contrôlée des données − Sécurité des données Ces objectifs peuvent être classés en plusieurs catégories : Les objectifs orientés DONNEES − Non redondance des données : avec une approche base de données, les fichiers plus ou moins redondants seront intégrés en un seul fichier ou plusieurs fichiers contenant des données distinctes. − Partageabilité des données : permettre le partage des données de la base à plusieurs applications, utilisateurs, simultanément. − Sécurité des données : les données doivent être protégées contre les accès (non autorisés, mal intentionnés). D’où la nécessité de contrôler les donnés. − Cohérence des données : les données sont soumises à certaines règles. Par exemple : un compte bancaire est rattaché à un et un seul client. Le SGBD doit vérifier que les applications respectent ces règles et contraintes d’intégrité. Donc il faut avoir des connaissances sur les données et leur signification.
  • 7. BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX 8 SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0 Les objectifs orientés TRAITEMENT − Indépendance physique des données : on peut changer le schéma physique sans remettre en cause le schéma conceptuel (et les schémas externes). On peut modifier l'organisation physique des fichiers, rajouter ou supprimer des méthodes d'accès ; − Indépendance logique des données : on peut changer le niveau conceptuel sans remettre en cause les schémas externes ou les programmes d'application. L'ajout ou le retrait de nouveaux concepts ne doit pas modifier des éléments qui n'y font pas explicitement référence ; − Manipulation facile des données (pour les non-informaticiens) : pouvoir les consulter, les interroger, les mettre à jour − Manipulation facile des données (pour les informaticiens) : langage de développement de haut niveau Les objectifs orientés ORGANISATION − Administration centralisée des données o Permettre un contôlr efficace des données ; o Résoudre les conflits entre divers point de vue d’utilisateurs ; o Optimisation des accès aux données o Optimisation des moyens informatiques − Fonctions o Administrateur des données o Administrateur de base de données − Centralisation/décentralisation o La base de données peut être distribué/partagé. Fonctions d’un SGBD Un SGBD doit permettre de : ! Décrire les données qui seront stockées stocker ! Gérer les données ● Manipuler des données (ajout, modification, suppression d’informations) , ● Assurer la cohérence (ou intégrité) des données (contraintes de domaines, d’existence, etc.), ● Assurer la confidentialité des données (mots de passe, autorisation…), ● Résoudre des problèmes d’accès multiples aux données (blocages, transactions
  • 8. BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX 9 SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0 parallèles), ● Prévoir des procédures de reprise en cas de panne ( copies de sauvegarde, journaux) ! Obtenir des renseignements à partir des données stockées au moyen de requêtes (sélection, tri, calcul, agrégation, etc.), ! Permettre l’écriture d’applications indépendantes de l’implémentation physique des données (codage, supports d’enregistrement) et aussi indépendantes que possible de l’implémentation logique des données (index, décomposition en « fichiers logiques ») Un SGBD sépare la partie description des données, des données elles mêmes. Cette description est stockée dans un dictionnaire de données (également géré dans le SGBD) et peut être consultée par les utilisateurs. De plus, un SGBD doit permettre d’écrire des applications indépendantes de l’implémentation physique des données (codage des données, ordre dans lequel sont enregistrées les données, support d’enregistrement, etc.) Types de SGBD Historiquement les premiers types de SGBD étaient de type hiérarchique, puis sont apparu les SGBD de type réseau. Actuellement la plupart des SGBD sont de type relationnel .On note aussi l’apparition sur le marché des SGBD de type objet. La différence entre ces types de SGBD réside dans les modèles sur lesquels ils s’appuient pour représenter les données. Modèle hiérarchique : Les données sont représentées sous forme d’une structure arborescente d’enregistrements. Cette structure est conçue avec des pointeurs de détermine les chemins d’accès aux données Modèle réseau La structure des données peut être visualisée sous la forme d’un graphe quelconque. Comme pour le modèle hiérarchique, la structure est conçue avec des pointeurs et détermine le chemin d’accès aux données Pour ces deux modèles les programmes ne sont pas indépendant de la structure logique de la base et du chemin d’accès aux données : ils doivent décrire comment retrouver les données. La suppression par exemple d’un index entraîne la réécriture de tous les programmes qui l’utilisaient Modèle Relationnel
  • 9. BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX 10 SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0 Fondé sur la théorie mathématique des relations, le modèle relationnel fournit une représentation très simple des données sous forme de tables constituées de lignes et de colonnes. De plus il n’y a pas de pointeur qui fige la structure de la base. La souplesse apportée par cette représentation a permis le développement de langages puissants non procéduraux. Dans ces langages le programmeur indique quelles informations il veut obtenir et c’est le SGBD qui trouve la manière d’arriver au résultat. Le programmeur ou l’utilisateur n’a plus à naviguer dans la base pour retrouver ses données. Ces langages peuvent être utilisés par des non informaticiens et permettent l’écriture de programmes indépendants de la structure logique et physique des données Modèle Objet Les données sont représentées sous forme d’objets au sens donné par les langages orientés objet. Les données sont enregistrées avec les procédures et les fonctions qui permettent de les manipuler. Les SGBD objets supportent aussi la notion d’héritage entre classes d’objets. Types d’utilisateurs d’un SGBD La gestion d’une base de données fait intervenir plusieurs types acteurs : administrateur, programmeur, utilisateur final. Une même personne peut occuper plusieurs rôles et un rôle peut être occupé par plusieurs personnes. L’administrateur de la base est chargé du contrôle de la base de données. Il permet l’accès aux données aux applications ou individus qui y ont droit et de conserver de bonnes performances d’accès à ces données. Il est aussi chargé des sauvegardes et des procédures de reprise après panne. Le programmeur d’applications utilise la base de données pour construire ses applications. Il a le droit de créer de nouvelles tables et les structures associées (vues, index, cluster, etc.). Il définit avec l’administrateur de la base les droits qui seront accordés aux utilisateurs des applications qu’il développe. L’utilisateur final n’a accès qu’aux données qui lui sont utiles. L’administrateur de la base de données peut lui en accorder certains droits : consultation, modification, suppression de données. En général, il n’a pas le droit de créer de nouvelles tables ni d’ajouter ou d’enlever des index. En définitive l’utilisateur final n’est pas un expert car il : − sait ce qu'il veut, − ne sait pas forcément ce qu'il faut faire pour l'obtenir, − ne veut pas savoir comment ça marche, − veut en faire un minimum pour faire tourner son application.
  • 10. BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX 11 SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0 Cycle de vie d'une base de données Modèles de données, schémas et langages Notion de modèle de données • Un modèle de données est un ensemble de concepts permettant de décrire la structure d'une base de données. Un modèle est souvent représenté au moyen d'un formalisme graphique permettant de décrire les données (ou plus précisément les types de données) et les relations entre les données. • On distingue trois niveaux de modélisation pour les bases de données : ♦ Le modèle conceptuel Il permet de décrire le réel selon une approche ontologique, sans prendre en compte les contraintes techniques. Monde réel Conception (Analyse) Information à stocker (futur contenu de la base) BD LDD (langage de description des données) SGBD LMD (langage de manipulation des données) Implémentation Manipulation
  • 11. BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX 12 SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0 ♦ Le modèle logique Il permet de décrire une solution, en prenant une orientation informatique générale (type de SGBD typiquement), mais indépendamment de choix d'implémentation précis. ♦ Le modèle physique Il correspond aux choix techniques, en terme de SGBD choisi et de sa mise en oeuvre (programmation, optimisation, etc.). Exemple de formalisme de modélisation conceptuelle ♦ Le modèle Entité-Association (Chen) a été le plus répandu dans le cadre de la conception de bases de données. ♦ Le modèle UML, qui se généralise pour la conception en informatique, se fonde sur une approche objet. Exemple de formalisme de modélisation logique ♦ Le modèle relationnel est le modèle dominant. ♦ Le modèle relationnel-objet (adaptation des modèles relationnel et objet au cadre des SGBD) est actuellement en pleine croissance. ♦ Le modèle objet "pur" reste majoritairement au stade expérimental et de la recherche. ♦ Des modèles plus anciens (hiérarchique, réseau, etc.) ne sont plus guère utilisés aujourd'hui. Notion de schéma de données Description, au moyen d'un langage formel, d'un ensemble de données dans le contexte d'une BD. Un schéma permet de décrire la structure d'une base de données, en décrivant l'ensemble des types de données de la base. L'occurrence d'une base de données est constituée de l'ensemble des données correspondant aux types du schéma de la base. Exemple : Schéma de base de données Etudiant (NumEtud, nom, ville) Module(NumMod, titre) Inscription(NumEtud, NumMod, date) Exemple : Instance de base de données Etudiant (172, Diop, 'Dakar')
  • 12. BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX 13 SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0 Etudiant (173, Fall, 'Thies') Etudiant (174, Lam, 'Louga') Module(1, 'SGBD') Module(1, 'Systèmes d'exploitation') Inscription(172, 1, 2002) Inscription(172, 2, 2002) Inscription(173, 1, 2001) Inscription(174, 2, 2002) On distingue trois niveaux d'abstraction de schémas : ♦ Le niveau conceptuel Il permet de décrire les entités et les associations du monde réel. Il s'agit du schéma global de la base de données, il en propose une vue canonique. Le niveau conceptuel correspond au modèle conceptuel. ♦ Le niveau externe Il permet de décrire les entités et les associations du monde réel, mais vues d'un utilisateur ou d'un groupe d'utilisateurs particuliers (on parle d'ailleurs également de "vue" pour un schéma externe). Il s'agit d'une restriction du schéma conceptuel orientée vers un usage précis. Il existe généralement plusieurs schémas externes pour un même schéma conceptuel. Le niveau externe correspond à un sous ensemble du modèle conceptuel restreint aux points de vue de certains utilisateurs. ♦ Le niveau interne Il correspond à l'implémentation physique des entités et associations dans les fichiers de la base. Le niveau interne correspond aux modèles logiques et physiques. Remarque : Les trois niveaux, conceptuel, externe et interne, sont les trois niveaux distingués par le groupe de normalisation ANSI/X3/SPARC. Notion de langage de données C’est un langage informatique permettant de décrire et de manipuler les schémas d'une BD d'une manière assimilable par la machine. ♦ Synonyme : Langage orienté données. Exemple : SQL SQL est le langage orienté données consacré aux SGBD relationnels et relationnel-objet. Un langage de données peut être décomposé en trois sous langages : ♦ Le Langage de Définition de Données
  • 13. BASES DE DONNEES IHP/PHP | CONCEPTS FONDAMENTAUX 14 SUPPORT DE COURS VERSION IMPRIMABLE Version 2.0 Le LDD [Langage de Définition de Données] permet d'implémenter le schéma conceptuel (notion de table en SQL) et les schémas externes (notion de vue en SQL). ♦ Le Langage de Contrôle de Données Le LCD [Langage de Contrôle de Données] permet d'implémenter les droits que les utilisateurs ont sur les données et participe donc à la définition des schémas externes. ♦ Le Langage de Manipulation de Données Le LMD [Langage de Manipulation de Données] permet l'interrogation et la mise à jour des données. C'est la partie du langage indispensable pour exploiter la BD et réaliser les applications. En résumé Conception Modèle Conceptuel Schéma conceptuel et schémas externes Modèle Physique Schéma interne pour un SGBD particulier Modèle Logique Schéma interne indépendant d’un SGBD Exemples - E-A - UML Exemples - Relationnel - Objet - Réseau - Hiérarchique Exemples - Oracle - MySQL - PosgreSQL - DB2 - Access - SQLServer