Cours Bases de Données
Niveau: L1-TIC
Chapitre 1 : Introduction Aux Bases De Données
Objectis
□ Introduire les notions de bases de données, système de gestion des fichiers, système de gestion de base de
données.
□ Comprendre l’insuffisance du modèle classique et les apports des SGBD
□ Connaître l’architecture des SGBD et les modèles de bases de données
Dr. JARRAY Chedia 5
Chapitre 1 : Introduction Aux Bases De Données
Eléments de contenu
I. Introduction
II. Notion de base de données
III. Des SGF aux SGBD
1. Système de gestion de fichiers (SGF)
2. Système de gestion de base de données (SGBD)
IV. Architecture des SGBD (ANSI/SPARC)
1. Le niveau externe :
2. Le niveau conceptuel :
3. Le niveau interne ou physique :
V. Les modèles de BD
1. Modèle hiérarchique
2. Modèle relationnel
3. Modèle objet
4. Modèle relationnel — objet
5
Dr. JARRAY Chedia
Chapitre 1 : Introduction aux bases de données
I- Introduction
Dès les débuts de l’informatique, l’un des soucis majeurs de l’utilisateur fut de pouvoir stocker massivement des données et de pouvoir en
disposer régulièrement afin d’en extraire de nouvelles informations, de les consulter et de les modifier. De 1950 à 1960, seul existait le fichier
pour satisfaire à cette demande. Les applications devaient donc être complétées par une programmation qui se faisait souvent en langage
machine (assembleur). Les SGFs ont montré une insuffisance et des inconvénients ce qui a mené à l’apparition des bases de données dés 1960.
1- Problématique
Depuis le début de l’ère Informatique, la gestion des données a toujours été un défi.
› Les données sont omniprésentes autour de nous…
▪ Les sites de commerce : Amazon, Jumia.
▪ Les systèmes de location de voitures, réservation de billets d’avion.
▪ Les sites des banques.
▪ Les applications mobiles.
6
Chapitre 1 : Introduction aux bases de données
2- Gestion de données
6
Chapitre 1 : Introduction aux bases de données
2- Gestion de données
6
❖ Dans une entreprise:
› Les clients
› Les produits
› Les factures
› Les commandes des clients
❖ Dans une bibliothèque:
› Les livres
› Les exemplaires
› Les auteurs
› Les maisons d’édition
Comment stocker les données ?
● Scanner le bon de commande,
● Stocker les données sur un fichier
texte,
● Stocker les données sur un fichier
Excel.
Chapitre 1 : Introduction aux bases de données
II- Notion de base de données
Une base de données est un ensemble structuré de données enregistrées avec le minimum de redondance pour satisfaire simultanément plusieurs
utilisateurs de façon sélective en un temps opportun et modéliser des aspects réels.
C’est un « conteneur » stockant des données de natures différentes (chiffres, texte, mots, etc.) et plus ou moins reliées entre elles.
L’approche base de données est due à une triple évolution :
• évolution des entreprises (volumes importants de données, centralisées ou réparties, qui doivent être accessibles en temps utile,...)
• évolution du matériel (accroissement des performances, intégration des composants, diminution des coûts,...)
• évolution des logiciels (les systèmes d’exploitation, les architectures client serveur et les réseaux).
6
Chapitre 1 : Introduction aux bases de données
III- Des SGF aux SGBD
1. Système de gestion de fichiers (SGF)
1.1. Définition
Une approche décentralisée consiste à développer un programme distinct pour chaque groupe informationnel ou pour chaque tâche spécifique. Dans ce
modèle, les données ne sont pas centralisées dans une base de données commune, mais décrites et stockées directement dans des fichiers. Ces fichiers sont
manipulés et organisés à l'aide d'un Système de Gestion de Fichiers (SGF), une composante essentielle du système d'exploitation.
Le SGF permet de gérer les fichiers de manière efficace en fournissant des services clés tels que :
● Création de fichiers : Créer de nouveaux fichiers pour stocker les données nécessaires aux programmes.
● Ouverture et fermeture : Permettre aux programmes d'accéder aux fichiers ou de les libérer après utilisation
● Lecture et écriture : la lecture ou l’écriture d’un enregistrement en accès séquentiel ou direct.
6
Chapitre 1 : Introduction aux bases de données
1.2. Les limites des SGF
■ Redondance des données
Exemple de contenu du fichier Commande
■ Intégrité sémantique
Exemple : Considérons les fichiers Compte, Commande et Client suivants :
Exemple de contenu du fichier Commande Exemple de contenu du fichier Compte
Exemple de contenu du fichier Client 7
▪ Inconsistance potentielle entre les données
▪ Accroissement inutile : du nombre des fichiers, de leurs tailles, du temps d’accès à l’information.
Chapitre 1 : Introduction aux bases de données
1.2. Les limites des SGF
■ Intégrité sémantique :
❏ Pour supprimer un client, il faut s’assurer de supprimer tous ses comptes. Donc il faut parcourir le fichier compte, supprimer les comptes relatifs au
client puis supprimer le client.
❏ Il faut vérifier si le client à supprimer a des commandes non payées. Avant de supprimer les clients cette vérification devra être prise en
considération par le programmeur dans le cas des SGF. Cette vérification est appelée contrainte d’intégrité sémantique.
Définition : Une contrainte d’intégrité sémantique (semantic integrity constraint), ou contrainte d’intégrité, est une règle qui doit toujours être
respectée par les données de la BD. En cas de violation de la contrainte, l’opération est automatiquement rejetée par le SGBD.
■ Contrôle de concurrence
Définition : Le contrôle de concurrence concerne les mécanismes qui empêchent les interférences indésirables entre les programmes qui sont exécutés
en parallèle.
7
Chapitre 1 : Introduction aux bases de données
■ Fiabilité
- Les SGF permettent de stocker les données de façon persistante. Cependant, lorsque des pannes se produisent, les SGF n’ont pas de mécanisme
permettant de récupérer les fichiers dans un état cohérent malgré la panne.
- Complexité du développement et de la maintenance des données dans les fichiers Coût élevé…
➔
▪ différentes technologies de programmation
▪ différents formats de fichiers et de données
8
L’approche traditionnelle présente deux principales limites : d'une part, les données sont difficilement accessibles pour les non-
spécialistes, et d'autre part, les services offerts sont insuffisants pour répondre aux besoins des applications complexes.
Chapitre 1 : Introduction aux bases de données
2. Système de gestion de base de données (SGBD)
➔ C’est un ensemble de programmes qui assurent la gestion et l’accès à une base de données.
➔ Un SGBD assure : la structuration, le stockage, la maintenance, la mise à jour, la consultation des données d’une BD…
➔ Le SGBD cache la complexité des opérations et offre une vue synthétique sur le contenu.
➔ Interagit avec l’utilisateur, la BD et d’autres applications pour capturer et analyser les données.
8
Evolution des SGBD au cours du temps.
■ 1960 : organisation classique des données en fichiers.
■ 1970 : apparition des premiers SGBD : Les systèmes réseaux et hiérarchiques.
■ 1980 : deuxième génération de SGBD : Les systèmes relationnels.
■ 1990 : troisième génération de SGBD : Les systèmes orientés objet.
■ A partir des années 2000 : Les systèmes Relationnels - Objet.
2.1.Historique
Chapitre 1 : Introduction aux bases de données
2. Système de gestion de base de données (SGBD)
2.2.Principes de fonctionnement
8
Le SGBD reçoit les demandes de
manipulation de contenu et effectue
les opérations nécessaires sur le(s)
fichier(s) de la BD.
Le Système de Gestion de Bases de Données (SGBD) est un logiciel permettant d'ajouter,
modifier, rechercher et supprimer des données. Il peut gérer plusieurs bases de données
pour différentes applications (ex. gestion des employés, gestion des stocks).
Cohérence des données et accès concurrentiel
Lorsque plusieurs utilisateurs accèdent aux mêmes données, il faut éviter les conflits :
Lecture concurrente : plusieurs utilisateurs peuvent lire sans problème.
Écriture concurrente : des conflits peuvent survenir si plusieurs utilisateurs modifient la
même donnée. (exemple : un utilisateur modifie un prix pendant qu'un autre le met à jour
avec une autre valeur).
Gestion des écritures
Une solution consiste à rafraîchir automatiquement les données modifiées pour les autres
utilisateurs. D’autres méthodes incluent le verrouillage (bloquer temporairement l'accès) ou la
gestion de versions (chaque utilisateur travaille sur une copie, puis fusionne les
modifications).
Chapitre 1 : Introduction aux bases de données
3. Objectifs des SGBD
Des objectifs principaux ont été fixés aux SGBD et ce, afin de résoudre les problèmes causés par la démarche classique. Une liste non exhaustive de ces
objectifs est citée dans ce qui suit :
• Indépendance physique :
Le niveau physique peut être modifié indépendamment du niveau conceptuel. Cela signifie que tous les aspects matériels de la base de données
n'apparaissent pas pour l'utilisateur, il s'agit simplement d'une structure transparente de représentation des informations.
• Indépendance logique :
Un même ensemble de données peut être vu différemment par des utilisateurs différents. Toutes ces visions personnelles des données doivent être intégrées
dans une vision globale.
• Accès aux données :
● L’accès aux données se fait par l’intermédiaire d’un Langage de Manipulation de Données (LMD) (SELECT, UPDATE, DELETE, INSERT qui ne
dépendent pas du type des arguments). Il est déterminant que ce langage permette d’obtenir des réponses aux requêtes en un temps « raisonnable ».
Le LMD doit donc être optimisé, minimiser le nombre d’accès disques, et tout cela de façon totalement transparente pour l’utilisateur.
● La définition des données se fait par l’intermédiaire d’un Langage de Description de Données (LDD) (create table, create user, alter table, drop
table)
● Manipulation facile des données : Un utilisateur non-informaticien doit pouvoir manipuler simplement les données : interrogation et mise à jour en
utilisant le langage déclaratif de requêtes. Exemple: Quels sont les produits vendus par le magasin dont le prix est inférieur à 10$?
SELECT nom FROM Produit WHERE prix < 10;
9
Chapitre 1 : Introduction aux bases de données
3. Objectifs des SGBD
• Administration centralisée des données (intégration) :
Toutes les données doivent être centralisées dans un emplacement unique commun à toutes les applications. En effet, des visions différentes des
données (entre autres) se résolvent plus facilement si les données sont administrées de façon centralisée.
Stocker les données dans une base de données centralisée
• Administration facile des données :
Permettre à l’administrateur de la BD de décrire les données, de suivre ces structures et d’autoriser leur évolution.
9
Chapitre 1 : Introduction aux bases de données
• Non redondance des données :
Afin d’éviter les problèmes lors des mises à jour, chaque donnée ne doit être présente qu’une seule fois dans la base.
Diminution du volume de stockage / Pas d’incohérence dans la BD
• Cohérence des données :
Les données sont soumises à un certain nombre de contraintes d’intégrité qui définissent un état cohérent de la base. Elles doivent pouvoir être
exprimées simplement et vérifiées automatiquement à chaque insertion, modification ou suppression des données. Les contraintes d’intégrité sont
décrites dans le Langage de Description de Données (LDD). Le SGBD veille à ce que les données de la base respectent les contraintes d’intégrité.
Exemple: l’âge d’une personne doit être un entier positif.
• Partage des données :
Il s’agit de permettre à plusieurs utilisateurs d’accéder aux mêmes données au même moment de manière transparente. Si ce problème est simple à
résoudre quand il s’agit uniquement d’interrogations, cela ne l’est plus quand il s’agit de modifications dans un contexte multi - utilisateurs car il
faut permettre à deux (ou plus) utilisateurs de modifier la même donnée « en même temps » et assurer un résultat d’interrogation cohérent pour un
utilisateur consultant une table pendant qu’un autre la modifie.
9
Chapitre 1 : Introduction aux bases de données
• Contrôle des accès concurrents à une BD :
Le SGBD doit assurer une utilisation simultanée des données par différents utilisateurs / applications. L’exécution d’une transaction doit préserver
la cohérence de la BD.
• Sécurité des données :
Le SGBD doit présenter des mécanismes permettant de gérer les droits d'accès aux données selon les utilisateurs.
Les données seront protégées contre les accès non autorisés.
• Résistance aux pannes :
Il faut avoir la possibilité de récupérer une base dans un état cohérent. En effet, lorsqu’une panne intervient au milieu d’une modification deux
solutions sont envisagées : soit récupérer les données dans l’état dans lequel elles étaient avant la modification ou terminer l’opération interrompue
● Efficacité des accès aux données :
Assurer un bon débit (nombre de transactions exécutées par seconde) et un bon temps de réponse (temps d’attente moyen pour une transaction).
10
Chapitre 1 : Introduction aux bases de données
3. Fonctions des SGBD
› Définition des données : Élaborer une description pour le stockage des données
➔ Modélisation logique
➔ Langage de définition des données (LDD)
Basé sur une description des données : Décrire les données de l’application sans faire référence à une solution informatique particulière
➔ Modélisation conceptuelle
› Manipulation des données : Créer au fur et à mesure les données.
Modifier si besoin et éventuellement supprimer toute donnée déjà rentrée.
– Mise à jour des données (insertion, suppression, modification)
➔ Langage de manipulation des données (LMD)
› Interrogation des données : Répondre à toute demande d’information portant sur les données contenues dans la base.
– Recherche des données (interrogation de la BD)
➔ Langage d’interrogation des données (LID)
9
Chapitre 1 : Introduction aux bases de données
3. Fonctions des SGBD
› Contrôle des données : Il faut pouvoir exprimer toutes les règles qui contraignent les valeurs pouvant être enregistrées de façon à
éviter toute erreur qui peut être détectée.
– Contraintes d’intégrité
– Droits d’accès
– Gestion des transactions et de la sécurité
➔ Langage de contrôle des données (LCD)
› Garantie de fiabilité : Il ne faut pas que les informations soient perdues à cause d’un dysfonctionnement quelconque
› Contrôle de concurrence : Il ne faut pas qu’une action faite pour un utilisateur soit perdue du fait d’une autre action faite simultanément pour
un autre utilisateur
› Garantie de confidentialité : Toute information doit pouvoir être protégée contre l’accès par des utilisateurs non autorisés
– en lecture
– en écriture
9
Chapitre 1 : Introduction aux bases de données
3. Fonctions des SGBD
9
Chapitre 1 : Introduction aux bases de données
Cartographie des SGBD
9
Chapitre 1 : Introduction aux bases de données
4. Exemples de SGBD
Il existe de nombreux systèmes de gestion de bases de données. En voici quelques exemples : PostgreSQL, MySQL, Oracle, Microsoft
SQL Server, Sybase, Informix.
IV- Architecture des SGBD (ANSI/SPARC)
Pour atteindre certains de ces objectifs, trois niveaux de description des données ont été définis par la norme ANSI/SPARC.
11
Chapitre 1 : Introduction aux bases de données
1. Le niveau externe
Il définit les vues des utilisateurs. Correspond à la perception de toute ou une partie de la base par un groupe donné d’utilisateurs, indépendamment
des autres. On appelle cette description le schéma externe ou vue. Il peut exister plusieurs schémas externes représentant différentes vues sur la
base de données. Le niveau externe assure l’analyse et l’interprétation des requêtes en primitives de plus bas niveau et se charge également de
convertir éventuellement les données brutes, issues de la réponse à la requête, dans un format souhaité par l’utilisateur.
2. Le niveau conceptuel
Appelé aussi MCD (Modèle Conceptuel des Données) ou MLD (Modèle Logique des Données). Il définit l'arrangement des informations au sein
de la base de données.
Décrit la structure de toutes les données de la base, leurs propriétés (c'est-à-dire. les relations qui existent entre elles : leur sémantique inhérente),
sans se soucier de l’implémentation physique ni de la façon dont chaque groupe de travail voudra s’en servir. Dans le cas des SGBD relationnels, il
s’agit d’une vision tabulaire où la sémantique de l’information est exprimée en utilisant les concepts de relation, attributs et de contraintes
d’intégrité. On appelle cette description le schéma conceptuel.
11
Chapitre 1 : Introduction aux bases de données
3. Le niveau interne ou physique
Il définit la façon selon laquelle sont stockées les données et les méthodes pour y accéder.
Il s’appuie sur un système de gestion de fichiers pour définir la politique de stockage ainsi que le placement des données. Le
niveau physique est donc responsable du choix de l’organisation physique des fichiers ainsi que de l’utilisation de telle ou
telle méthode d’accès en fonction de la requête. On appelle cette description le schéma interne.
11
Chapitre 1 : Introduction aux bases de données
V- Processus de modélisation de données
1. Modélisation des données
12
Chapitre 1 : Introduction aux bases de données
V- Processus de modélisation de données
1. Modélisation des données
12
Étape 1 : Analyse de l’univers réel
› Avant de commencer la conception de la BD, interviewer les utilisateurs de la BD pour prendre connaissance de leurs besoins :
– caractéristiques des informations,
– relations entre les informations,
– caractéristiques du système informatique qui accueillera la BD.
Étape 2 : Spécification de la BD
› Après analyse du monde réel, rédiger une spécification détaillée qui décrit les différentes entités du monde réel, leurs caractéristiques
et les relations qui les lies.
Exemple : Agence de location de voitures
– Une voiture est caractérisée par son numéro d’immatriculation, sa couleur, date de la mise en circulation et prix unitaire de location.
– Un modèle est caractérisé par la marque, la carrosserie, cylindrés, carburant, puissance, type de boite et nombre de rapports
– Une voiture appartient à un modèle
– Un client est caractérisé par un numéro CIN, le nom et prénom, lieu de résidence, la date de naissance et le numéro de son permis
de conduite.
– Un client peut louer une ou plusieurs voitures.
– Chaque location effectuée a un numéro de transaction, une date de location et une date de retour.
Chapitre 1 : Introduction aux bases de données
12
Étape 3 : Modèle conceptuel
› Cette étape est caractérisée par la création d’un schéma d’ensemble du réseau d’informations et de relations, sous forme d’un
diagramme comportant:
– des entités,
– des attributs,
– et des relations.
Étape 4 : Schéma logique
› Le modèle conceptuel créé à l’étape 3 est transformé en instructions dans un langage de commande compatible
avec le SGBD à utiliser.
Étape 5 : Modèle de données physique
› Définir des enregistrements correspondant au modèle de données logique
› Les enregistrements sont stockés dans des fichiers
› Chaque fichier contient un lot d’enregistrements similaires
Chapitre 1 : Introduction aux bases de données
Exercice:
12
Proposer une spécification textuelle décrivant les principaux objets d’une bibliothèque de location de livres et les interactions entre ces
objets
Chapitre 1 : Introduction aux bases de données
Exercice:
12
Proposer une spécification textuelle décrivant les principaux objets d’une bibliothèque de location de livres et les interactions entre ces
objets
Solution:
› Un membre qui s'inscrit à la bibliothèque est caractérisé par un numéro membre, le nom, le genre, la date de
naissance et l’âge.
› Un livre est caractérisé par son numéro ISBN, son titre, son éditeur et son (ses) auteur(s).
› Un auteur est caractérisé par son identifiant, son nom et son pays.
› Un exemplaire est caractérisé par son numéro_exemplaire, sa date d’achat, son prix et le nombre de ses pages.
› Chaque emprunt effectué a un numéro de transaction, une date d'emprunt et une date de retour.
› Un membre de la bibliothèque aura le droit d'effectuer en même temps 10 emprunts au maximum.
Chapitre 1 : Introduction aux bases de données
2- Les modèles de BD
a. 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 et détermine le chemin d’accès aux données.
b. Modèle réseau
Comme le modèle hiérarchique, ce modèle utilise des pointeurs vers des enregistrements. Toutefois la structure n'est plus forcément
arborescente dans le sens descendant.
Pour les SGBD hiérarchiques et réseaux, les programmes :
• ne sont pas indépendants de la structure logique de la base.
• doivent indiquer le chemin d'accès aux données.
• utilisent un langage complexe pour travailler avec les données.
12
Chapitre 1 : Introduction aux bases de données
2- Les modèles de BD
c. Modèle relationnel
SGBDR, Système de Gestion de Bases de Données Relationnelles: La manipulation de ces données se fait selon la théorie
mathématique des relations.
Ce modèle présente plusieurs avantages :
12
➔ Représentation très simple des données sous forme de tables constituées de lignes et de colonnes.
➔ Plus de pointeurs qui figent la structure de la base.
➔ Langage non procédural comme SQL (Structured query language (SQL), ou langage structuré de requêtes) qui est un standard,
puissant. Des instructions comme SELECT….FROM…WHERE.
➔ Domine le marché des SGBD.
Chapitre 1 : Introduction aux bases de données
d. Modèle objet
SGBDO, Système de Gestion de Bases de Données Objet : les données sont stockées sous forme d'objets et non pas
tables, c'est-à-dire de structures appelées classes présentant des données membres. Les champs sont des instances de
ces classes.
e. Modèle relationnel - objet
SGBDRO, Système de gestion de bases de données relationnelles — objet : dans ce modèle, il y a intégration de la notion
d’objet dans les SGBDR en gardant la notion de table.
13
Chapitre 1 : Introduction aux bases de données
VI- Etude de cas
Soit l’application permettant de gérer les étudiants des différentes classes ainsi que les matières qu’ils suivent. Les données manipulées par cette
application sont : le numéro de la carte d’étudiant, le nom de l’étudiant, l’adresse, la classe à laquelle il appartient et les matières que la classe suit.
Pour chaque matière on désire stocker le coefficient correspondant à l’enseignant qui l’enseigne.
Deux solutions sont proposées pour organiser ces données :
- Utilisation d’un fichier unique.
- Utilisation de 4 fichiers distincts.
Utilisation d’un fichier unique : Chaque enregistrement de ce fichier est composé des champs suivants : NCE :Numéro de la carte d’étudiant,
Nom :Nom de l’étudiant, Adr :Adresse de l’étudiant, Classe :Classe de l’étudiant , M1 :Matière 1, Co1 Coefficient de matière 1,
CIN :Identifiant de l’enseignant 1, Ensei :Nom de l’enseignant 1, M2 :Matière 2, Co2 :Coefficient de matière 2, CIN :Identifiant de l’enseignant
2, Ensei :Nom de l’enseignant 2 .
13
Chapitre 1 : Introduction aux bases de données
Inconvénients de cette approche : Cette solution présente beaucoup d’inconvénients :
- La taille du fichier est très grande, ce qui nécessite beaucoup de temps pour le parcourir.
- Une importante redondance de données : les matières suivies par chaque classe sont répétées ; le CIN et le nom de l’enseignant d’une
matière sont répétés avec chaque occurrence de cette matière...
- Toutes ces redondances occupent la mémoire et engendrent des anomalies de mise à jour lors de l’ajout, de la modification et de la
suppression.
Utilisation de 4 fichiers distincts : Les données sont stockées dans 4 fichiers : Fiche Matière, Fiche Enseignant, Fiche Classe, Fiche
Etudiant.
Inconvénients de cette approche : Cette solution présente plusieurs avantages par rapport à la précédente comme la non redondance des
données mais présente encore des inconvénients :
- Le traitement de l’information complète nécessite l’écriture de programmes complexes qui impliquent plusieurs fichiers.
- Toute application doit avoir ses propres fichiers.
- Risque d’incohérence des données.
- Pas de contrôle d’accès concurrents (plusieurs utilisateurs accèdent aux données en même temps).
14

Chap1_introduction aux bases de données.pptx

  • 1.
    Cours Bases deDonnées Niveau: L1-TIC
  • 2.
    Chapitre 1 :Introduction Aux Bases De Données Objectis □ Introduire les notions de bases de données, système de gestion des fichiers, système de gestion de base de données. □ Comprendre l’insuffisance du modèle classique et les apports des SGBD □ Connaître l’architecture des SGBD et les modèles de bases de données Dr. JARRAY Chedia 5
  • 3.
    Chapitre 1 :Introduction Aux Bases De Données Eléments de contenu I. Introduction II. Notion de base de données III. Des SGF aux SGBD 1. Système de gestion de fichiers (SGF) 2. Système de gestion de base de données (SGBD) IV. Architecture des SGBD (ANSI/SPARC) 1. Le niveau externe : 2. Le niveau conceptuel : 3. Le niveau interne ou physique : V. Les modèles de BD 1. Modèle hiérarchique 2. Modèle relationnel 3. Modèle objet 4. Modèle relationnel — objet 5 Dr. JARRAY Chedia
  • 4.
    Chapitre 1 :Introduction aux bases de données I- Introduction Dès les débuts de l’informatique, l’un des soucis majeurs de l’utilisateur fut de pouvoir stocker massivement des données et de pouvoir en disposer régulièrement afin d’en extraire de nouvelles informations, de les consulter et de les modifier. De 1950 à 1960, seul existait le fichier pour satisfaire à cette demande. Les applications devaient donc être complétées par une programmation qui se faisait souvent en langage machine (assembleur). Les SGFs ont montré une insuffisance et des inconvénients ce qui a mené à l’apparition des bases de données dés 1960. 1- Problématique Depuis le début de l’ère Informatique, la gestion des données a toujours été un défi. › Les données sont omniprésentes autour de nous… ▪ Les sites de commerce : Amazon, Jumia. ▪ Les systèmes de location de voitures, réservation de billets d’avion. ▪ Les sites des banques. ▪ Les applications mobiles. 6
  • 5.
    Chapitre 1 :Introduction aux bases de données 2- Gestion de données 6
  • 6.
    Chapitre 1 :Introduction aux bases de données 2- Gestion de données 6 ❖ Dans une entreprise: › Les clients › Les produits › Les factures › Les commandes des clients ❖ Dans une bibliothèque: › Les livres › Les exemplaires › Les auteurs › Les maisons d’édition Comment stocker les données ? ● Scanner le bon de commande, ● Stocker les données sur un fichier texte, ● Stocker les données sur un fichier Excel.
  • 7.
    Chapitre 1 :Introduction aux bases de données II- Notion de base de données Une base de données est un ensemble structuré de données enregistrées avec le minimum de redondance pour satisfaire simultanément plusieurs utilisateurs de façon sélective en un temps opportun et modéliser des aspects réels. C’est un « conteneur » stockant des données de natures différentes (chiffres, texte, mots, etc.) et plus ou moins reliées entre elles. L’approche base de données est due à une triple évolution : • évolution des entreprises (volumes importants de données, centralisées ou réparties, qui doivent être accessibles en temps utile,...) • évolution du matériel (accroissement des performances, intégration des composants, diminution des coûts,...) • évolution des logiciels (les systèmes d’exploitation, les architectures client serveur et les réseaux). 6
  • 8.
    Chapitre 1 :Introduction aux bases de données III- Des SGF aux SGBD 1. Système de gestion de fichiers (SGF) 1.1. Définition Une approche décentralisée consiste à développer un programme distinct pour chaque groupe informationnel ou pour chaque tâche spécifique. Dans ce modèle, les données ne sont pas centralisées dans une base de données commune, mais décrites et stockées directement dans des fichiers. Ces fichiers sont manipulés et organisés à l'aide d'un Système de Gestion de Fichiers (SGF), une composante essentielle du système d'exploitation. Le SGF permet de gérer les fichiers de manière efficace en fournissant des services clés tels que : ● Création de fichiers : Créer de nouveaux fichiers pour stocker les données nécessaires aux programmes. ● Ouverture et fermeture : Permettre aux programmes d'accéder aux fichiers ou de les libérer après utilisation ● Lecture et écriture : la lecture ou l’écriture d’un enregistrement en accès séquentiel ou direct. 6
  • 9.
    Chapitre 1 :Introduction aux bases de données 1.2. Les limites des SGF ■ Redondance des données Exemple de contenu du fichier Commande ■ Intégrité sémantique Exemple : Considérons les fichiers Compte, Commande et Client suivants : Exemple de contenu du fichier Commande Exemple de contenu du fichier Compte Exemple de contenu du fichier Client 7 ▪ Inconsistance potentielle entre les données ▪ Accroissement inutile : du nombre des fichiers, de leurs tailles, du temps d’accès à l’information.
  • 10.
    Chapitre 1 :Introduction aux bases de données 1.2. Les limites des SGF ■ Intégrité sémantique : ❏ Pour supprimer un client, il faut s’assurer de supprimer tous ses comptes. Donc il faut parcourir le fichier compte, supprimer les comptes relatifs au client puis supprimer le client. ❏ Il faut vérifier si le client à supprimer a des commandes non payées. Avant de supprimer les clients cette vérification devra être prise en considération par le programmeur dans le cas des SGF. Cette vérification est appelée contrainte d’intégrité sémantique. Définition : Une contrainte d’intégrité sémantique (semantic integrity constraint), ou contrainte d’intégrité, est une règle qui doit toujours être respectée par les données de la BD. En cas de violation de la contrainte, l’opération est automatiquement rejetée par le SGBD. ■ Contrôle de concurrence Définition : Le contrôle de concurrence concerne les mécanismes qui empêchent les interférences indésirables entre les programmes qui sont exécutés en parallèle. 7
  • 11.
    Chapitre 1 :Introduction aux bases de données ■ Fiabilité - Les SGF permettent de stocker les données de façon persistante. Cependant, lorsque des pannes se produisent, les SGF n’ont pas de mécanisme permettant de récupérer les fichiers dans un état cohérent malgré la panne. - Complexité du développement et de la maintenance des données dans les fichiers Coût élevé… ➔ ▪ différentes technologies de programmation ▪ différents formats de fichiers et de données 8 L’approche traditionnelle présente deux principales limites : d'une part, les données sont difficilement accessibles pour les non- spécialistes, et d'autre part, les services offerts sont insuffisants pour répondre aux besoins des applications complexes.
  • 12.
    Chapitre 1 :Introduction aux bases de données 2. Système de gestion de base de données (SGBD) ➔ C’est un ensemble de programmes qui assurent la gestion et l’accès à une base de données. ➔ Un SGBD assure : la structuration, le stockage, la maintenance, la mise à jour, la consultation des données d’une BD… ➔ Le SGBD cache la complexité des opérations et offre une vue synthétique sur le contenu. ➔ Interagit avec l’utilisateur, la BD et d’autres applications pour capturer et analyser les données. 8 Evolution des SGBD au cours du temps. ■ 1960 : organisation classique des données en fichiers. ■ 1970 : apparition des premiers SGBD : Les systèmes réseaux et hiérarchiques. ■ 1980 : deuxième génération de SGBD : Les systèmes relationnels. ■ 1990 : troisième génération de SGBD : Les systèmes orientés objet. ■ A partir des années 2000 : Les systèmes Relationnels - Objet. 2.1.Historique
  • 13.
    Chapitre 1 :Introduction aux bases de données 2. Système de gestion de base de données (SGBD) 2.2.Principes de fonctionnement 8 Le SGBD reçoit les demandes de manipulation de contenu et effectue les opérations nécessaires sur le(s) fichier(s) de la BD. Le Système de Gestion de Bases de Données (SGBD) est un logiciel permettant d'ajouter, modifier, rechercher et supprimer des données. Il peut gérer plusieurs bases de données pour différentes applications (ex. gestion des employés, gestion des stocks). Cohérence des données et accès concurrentiel Lorsque plusieurs utilisateurs accèdent aux mêmes données, il faut éviter les conflits : Lecture concurrente : plusieurs utilisateurs peuvent lire sans problème. Écriture concurrente : des conflits peuvent survenir si plusieurs utilisateurs modifient la même donnée. (exemple : un utilisateur modifie un prix pendant qu'un autre le met à jour avec une autre valeur). Gestion des écritures Une solution consiste à rafraîchir automatiquement les données modifiées pour les autres utilisateurs. D’autres méthodes incluent le verrouillage (bloquer temporairement l'accès) ou la gestion de versions (chaque utilisateur travaille sur une copie, puis fusionne les modifications).
  • 14.
    Chapitre 1 :Introduction aux bases de données 3. Objectifs des SGBD Des objectifs principaux ont été fixés aux SGBD et ce, afin de résoudre les problèmes causés par la démarche classique. Une liste non exhaustive de ces objectifs est citée dans ce qui suit : • Indépendance physique : Le niveau physique peut être modifié indépendamment du niveau conceptuel. Cela signifie que tous les aspects matériels de la base de données n'apparaissent pas pour l'utilisateur, il s'agit simplement d'une structure transparente de représentation des informations. • Indépendance logique : Un même ensemble de données peut être vu différemment par des utilisateurs différents. Toutes ces visions personnelles des données doivent être intégrées dans une vision globale. • Accès aux données : ● L’accès aux données se fait par l’intermédiaire d’un Langage de Manipulation de Données (LMD) (SELECT, UPDATE, DELETE, INSERT qui ne dépendent pas du type des arguments). Il est déterminant que ce langage permette d’obtenir des réponses aux requêtes en un temps « raisonnable ». Le LMD doit donc être optimisé, minimiser le nombre d’accès disques, et tout cela de façon totalement transparente pour l’utilisateur. ● La définition des données se fait par l’intermédiaire d’un Langage de Description de Données (LDD) (create table, create user, alter table, drop table) ● Manipulation facile des données : Un utilisateur non-informaticien doit pouvoir manipuler simplement les données : interrogation et mise à jour en utilisant le langage déclaratif de requêtes. Exemple: Quels sont les produits vendus par le magasin dont le prix est inférieur à 10$? SELECT nom FROM Produit WHERE prix < 10; 9
  • 15.
    Chapitre 1 :Introduction aux bases de données 3. Objectifs des SGBD • Administration centralisée des données (intégration) : Toutes les données doivent être centralisées dans un emplacement unique commun à toutes les applications. En effet, des visions différentes des données (entre autres) se résolvent plus facilement si les données sont administrées de façon centralisée. Stocker les données dans une base de données centralisée • Administration facile des données : Permettre à l’administrateur de la BD de décrire les données, de suivre ces structures et d’autoriser leur évolution. 9
  • 16.
    Chapitre 1 :Introduction aux bases de données • Non redondance des données : Afin d’éviter les problèmes lors des mises à jour, chaque donnée ne doit être présente qu’une seule fois dans la base. Diminution du volume de stockage / Pas d’incohérence dans la BD • Cohérence des données : Les données sont soumises à un certain nombre de contraintes d’intégrité qui définissent un état cohérent de la base. Elles doivent pouvoir être exprimées simplement et vérifiées automatiquement à chaque insertion, modification ou suppression des données. Les contraintes d’intégrité sont décrites dans le Langage de Description de Données (LDD). Le SGBD veille à ce que les données de la base respectent les contraintes d’intégrité. Exemple: l’âge d’une personne doit être un entier positif. • Partage des données : Il s’agit de permettre à plusieurs utilisateurs d’accéder aux mêmes données au même moment de manière transparente. Si ce problème est simple à résoudre quand il s’agit uniquement d’interrogations, cela ne l’est plus quand il s’agit de modifications dans un contexte multi - utilisateurs car il faut permettre à deux (ou plus) utilisateurs de modifier la même donnée « en même temps » et assurer un résultat d’interrogation cohérent pour un utilisateur consultant une table pendant qu’un autre la modifie. 9
  • 17.
    Chapitre 1 :Introduction aux bases de données • Contrôle des accès concurrents à une BD : Le SGBD doit assurer une utilisation simultanée des données par différents utilisateurs / applications. L’exécution d’une transaction doit préserver la cohérence de la BD. • Sécurité des données : Le SGBD doit présenter des mécanismes permettant de gérer les droits d'accès aux données selon les utilisateurs. Les données seront protégées contre les accès non autorisés. • Résistance aux pannes : Il faut avoir la possibilité de récupérer une base dans un état cohérent. En effet, lorsqu’une panne intervient au milieu d’une modification deux solutions sont envisagées : soit récupérer les données dans l’état dans lequel elles étaient avant la modification ou terminer l’opération interrompue ● Efficacité des accès aux données : Assurer un bon débit (nombre de transactions exécutées par seconde) et un bon temps de réponse (temps d’attente moyen pour une transaction). 10
  • 18.
    Chapitre 1 :Introduction aux bases de données 3. Fonctions des SGBD › Définition des données : Élaborer une description pour le stockage des données ➔ Modélisation logique ➔ Langage de définition des données (LDD) Basé sur une description des données : Décrire les données de l’application sans faire référence à une solution informatique particulière ➔ Modélisation conceptuelle › Manipulation des données : Créer au fur et à mesure les données. Modifier si besoin et éventuellement supprimer toute donnée déjà rentrée. – Mise à jour des données (insertion, suppression, modification) ➔ Langage de manipulation des données (LMD) › Interrogation des données : Répondre à toute demande d’information portant sur les données contenues dans la base. – Recherche des données (interrogation de la BD) ➔ Langage d’interrogation des données (LID) 9
  • 19.
    Chapitre 1 :Introduction aux bases de données 3. Fonctions des SGBD › Contrôle des données : Il faut pouvoir exprimer toutes les règles qui contraignent les valeurs pouvant être enregistrées de façon à éviter toute erreur qui peut être détectée. – Contraintes d’intégrité – Droits d’accès – Gestion des transactions et de la sécurité ➔ Langage de contrôle des données (LCD) › Garantie de fiabilité : Il ne faut pas que les informations soient perdues à cause d’un dysfonctionnement quelconque › Contrôle de concurrence : Il ne faut pas qu’une action faite pour un utilisateur soit perdue du fait d’une autre action faite simultanément pour un autre utilisateur › Garantie de confidentialité : Toute information doit pouvoir être protégée contre l’accès par des utilisateurs non autorisés – en lecture – en écriture 9
  • 20.
    Chapitre 1 :Introduction aux bases de données 3. Fonctions des SGBD 9
  • 21.
    Chapitre 1 :Introduction aux bases de données Cartographie des SGBD 9
  • 22.
    Chapitre 1 :Introduction aux bases de données 4. Exemples de SGBD Il existe de nombreux systèmes de gestion de bases de données. En voici quelques exemples : PostgreSQL, MySQL, Oracle, Microsoft SQL Server, Sybase, Informix. IV- Architecture des SGBD (ANSI/SPARC) Pour atteindre certains de ces objectifs, trois niveaux de description des données ont été définis par la norme ANSI/SPARC. 11
  • 23.
    Chapitre 1 :Introduction aux bases de données 1. Le niveau externe Il définit les vues des utilisateurs. Correspond à la perception de toute ou une partie de la base par un groupe donné d’utilisateurs, indépendamment des autres. On appelle cette description le schéma externe ou vue. Il peut exister plusieurs schémas externes représentant différentes vues sur la base de données. Le niveau externe assure l’analyse et l’interprétation des requêtes en primitives de plus bas niveau et se charge également de convertir éventuellement les données brutes, issues de la réponse à la requête, dans un format souhaité par l’utilisateur. 2. Le niveau conceptuel Appelé aussi MCD (Modèle Conceptuel des Données) ou MLD (Modèle Logique des Données). Il définit l'arrangement des informations au sein de la base de données. Décrit la structure de toutes les données de la base, leurs propriétés (c'est-à-dire. les relations qui existent entre elles : leur sémantique inhérente), sans se soucier de l’implémentation physique ni de la façon dont chaque groupe de travail voudra s’en servir. Dans le cas des SGBD relationnels, il s’agit d’une vision tabulaire où la sémantique de l’information est exprimée en utilisant les concepts de relation, attributs et de contraintes d’intégrité. On appelle cette description le schéma conceptuel. 11
  • 24.
    Chapitre 1 :Introduction aux bases de données 3. Le niveau interne ou physique Il définit la façon selon laquelle sont stockées les données et les méthodes pour y accéder. Il s’appuie sur un système de gestion de fichiers pour définir la politique de stockage ainsi que le placement des données. Le niveau physique est donc responsable du choix de l’organisation physique des fichiers ainsi que de l’utilisation de telle ou telle méthode d’accès en fonction de la requête. On appelle cette description le schéma interne. 11
  • 25.
    Chapitre 1 :Introduction aux bases de données V- Processus de modélisation de données 1. Modélisation des données 12
  • 26.
    Chapitre 1 :Introduction aux bases de données V- Processus de modélisation de données 1. Modélisation des données 12 Étape 1 : Analyse de l’univers réel › Avant de commencer la conception de la BD, interviewer les utilisateurs de la BD pour prendre connaissance de leurs besoins : – caractéristiques des informations, – relations entre les informations, – caractéristiques du système informatique qui accueillera la BD. Étape 2 : Spécification de la BD › Après analyse du monde réel, rédiger une spécification détaillée qui décrit les différentes entités du monde réel, leurs caractéristiques et les relations qui les lies. Exemple : Agence de location de voitures – Une voiture est caractérisée par son numéro d’immatriculation, sa couleur, date de la mise en circulation et prix unitaire de location. – Un modèle est caractérisé par la marque, la carrosserie, cylindrés, carburant, puissance, type de boite et nombre de rapports – Une voiture appartient à un modèle – Un client est caractérisé par un numéro CIN, le nom et prénom, lieu de résidence, la date de naissance et le numéro de son permis de conduite. – Un client peut louer une ou plusieurs voitures. – Chaque location effectuée a un numéro de transaction, une date de location et une date de retour.
  • 27.
    Chapitre 1 :Introduction aux bases de données 12 Étape 3 : Modèle conceptuel › Cette étape est caractérisée par la création d’un schéma d’ensemble du réseau d’informations et de relations, sous forme d’un diagramme comportant: – des entités, – des attributs, – et des relations. Étape 4 : Schéma logique › Le modèle conceptuel créé à l’étape 3 est transformé en instructions dans un langage de commande compatible avec le SGBD à utiliser. Étape 5 : Modèle de données physique › Définir des enregistrements correspondant au modèle de données logique › Les enregistrements sont stockés dans des fichiers › Chaque fichier contient un lot d’enregistrements similaires
  • 28.
    Chapitre 1 :Introduction aux bases de données Exercice: 12 Proposer une spécification textuelle décrivant les principaux objets d’une bibliothèque de location de livres et les interactions entre ces objets
  • 29.
    Chapitre 1 :Introduction aux bases de données Exercice: 12 Proposer une spécification textuelle décrivant les principaux objets d’une bibliothèque de location de livres et les interactions entre ces objets Solution: › Un membre qui s'inscrit à la bibliothèque est caractérisé par un numéro membre, le nom, le genre, la date de naissance et l’âge. › Un livre est caractérisé par son numéro ISBN, son titre, son éditeur et son (ses) auteur(s). › Un auteur est caractérisé par son identifiant, son nom et son pays. › Un exemplaire est caractérisé par son numéro_exemplaire, sa date d’achat, son prix et le nombre de ses pages. › Chaque emprunt effectué a un numéro de transaction, une date d'emprunt et une date de retour. › Un membre de la bibliothèque aura le droit d'effectuer en même temps 10 emprunts au maximum.
  • 30.
    Chapitre 1 :Introduction aux bases de données 2- Les modèles de BD a. 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 et détermine le chemin d’accès aux données. b. Modèle réseau Comme le modèle hiérarchique, ce modèle utilise des pointeurs vers des enregistrements. Toutefois la structure n'est plus forcément arborescente dans le sens descendant. Pour les SGBD hiérarchiques et réseaux, les programmes : • ne sont pas indépendants de la structure logique de la base. • doivent indiquer le chemin d'accès aux données. • utilisent un langage complexe pour travailler avec les données. 12
  • 31.
    Chapitre 1 :Introduction aux bases de données 2- Les modèles de BD c. Modèle relationnel SGBDR, Système de Gestion de Bases de Données Relationnelles: La manipulation de ces données se fait selon la théorie mathématique des relations. Ce modèle présente plusieurs avantages : 12 ➔ Représentation très simple des données sous forme de tables constituées de lignes et de colonnes. ➔ Plus de pointeurs qui figent la structure de la base. ➔ Langage non procédural comme SQL (Structured query language (SQL), ou langage structuré de requêtes) qui est un standard, puissant. Des instructions comme SELECT….FROM…WHERE. ➔ Domine le marché des SGBD.
  • 32.
    Chapitre 1 :Introduction aux bases de données d. Modèle objet SGBDO, Système de Gestion de Bases de Données Objet : les données sont stockées sous forme d'objets et non pas tables, c'est-à-dire de structures appelées classes présentant des données membres. Les champs sont des instances de ces classes. e. Modèle relationnel - objet SGBDRO, Système de gestion de bases de données relationnelles — objet : dans ce modèle, il y a intégration de la notion d’objet dans les SGBDR en gardant la notion de table. 13
  • 33.
    Chapitre 1 :Introduction aux bases de données VI- Etude de cas Soit l’application permettant de gérer les étudiants des différentes classes ainsi que les matières qu’ils suivent. Les données manipulées par cette application sont : le numéro de la carte d’étudiant, le nom de l’étudiant, l’adresse, la classe à laquelle il appartient et les matières que la classe suit. Pour chaque matière on désire stocker le coefficient correspondant à l’enseignant qui l’enseigne. Deux solutions sont proposées pour organiser ces données : - Utilisation d’un fichier unique. - Utilisation de 4 fichiers distincts. Utilisation d’un fichier unique : Chaque enregistrement de ce fichier est composé des champs suivants : NCE :Numéro de la carte d’étudiant, Nom :Nom de l’étudiant, Adr :Adresse de l’étudiant, Classe :Classe de l’étudiant , M1 :Matière 1, Co1 Coefficient de matière 1, CIN :Identifiant de l’enseignant 1, Ensei :Nom de l’enseignant 1, M2 :Matière 2, Co2 :Coefficient de matière 2, CIN :Identifiant de l’enseignant 2, Ensei :Nom de l’enseignant 2 . 13
  • 34.
    Chapitre 1 :Introduction aux bases de données Inconvénients de cette approche : Cette solution présente beaucoup d’inconvénients : - La taille du fichier est très grande, ce qui nécessite beaucoup de temps pour le parcourir. - Une importante redondance de données : les matières suivies par chaque classe sont répétées ; le CIN et le nom de l’enseignant d’une matière sont répétés avec chaque occurrence de cette matière... - Toutes ces redondances occupent la mémoire et engendrent des anomalies de mise à jour lors de l’ajout, de la modification et de la suppression. Utilisation de 4 fichiers distincts : Les données sont stockées dans 4 fichiers : Fiche Matière, Fiche Enseignant, Fiche Classe, Fiche Etudiant. Inconvénients de cette approche : Cette solution présente plusieurs avantages par rapport à la précédente comme la non redondance des données mais présente encore des inconvénients : - Le traitement de l’information complète nécessite l’écriture de programmes complexes qui impliquent plusieurs fichiers. - Toute application doit avoir ses propres fichiers. - Risque d’incohérence des données. - Pas de contrôle d’accès concurrents (plusieurs utilisateurs accèdent aux données en même temps). 14

Notes de l'éditeur

  • #8 Lecture et écriture: Offrir des mécanismes pour lire ou écrire des données dans les fichiers, que ce soit en accès séquentiel (traitement des données dans l'ordre) ou en accès direct (accès aléatoire à une position spécifique dans le fichier).
  • #22 Les modèles de BD sont souvent trop limités pour pouvoir représenter directement le monde réel Méthodologies de conception présentées en ACSI, SGBD2
  • #23 Le niveau externe Le concept de vue permet d'obtenir l'indépendance logique La modification du schéma logique n’entraîne pas la modification des applications (une modification des vues est cependant nécessaire) Chaque vue correspond à la perception d’une partie des données, mais aussi des données qui peuvent être synthétisées à partir des informations représentées dans la BD (par ex. statistiques) Le niveau conceptuel il contient la description des données et des contraintes d’intégrité (Dictionnaire de Données) le schéma logique découle d’une activité de modélisation
  • #30 • Les modèles hiérarchique et réseau sont issus du modèle GRAPHE •données organisées sous forme de graphe •langages d'accès navigationnels (adressage par liens de chaînage) • • on les appelle "modèles d'accès" Le modèle relationnel est fondé sur la notion mathématique de RELATION •introduit par Codd (recherche IBM) •données organisées en tables (adressage relatif) •stratégie d'accès déterminée par le SGBD