Académique Documents
Professionnel Documents
Culture Documents
Objectif : - Présenter les règles essentielles permettant de concevoir et entretenir une base de
données cohérente.
- Présenter les langages d’interrogations permettant de tirer profit de ces données.
Contenu de la matière (Sommaire)
Chapitre 4 : Contrôle des accès concurrents & Sécurité (Contrôle des accès concurrents,
Résistance des pannes et la sécurité des données)
2.1 Base de données (BD): Une collection de données en relation logique (cohérent, intégré,
partagé) et une description des données, conçues pour satisfaire les besoins d’information
nécessaires au fonctionnement d'une entreprise (ou organisme). La gestion de cet ensemble de
données est assurée par un logiciel appelé système de gestion de bases de données (SGBD).
2.2 Banque de données: Une base de données est développée au sein d'une entreprise, pour
son propre fonctionnement. Inversement, une banque de données est un ensemble de données,
propres à un domaine d'application, que des "producteurs" réunissent pour ensuite les
commercialiser vers le public extérieur.
2.3 Fichier : Ensemble d’enregistrements identifié par un nom, qui constitue une unité
logique de stockage de données pour un ordinateur. Les années 60 ont connu un premier
développement des bases de données sous forme de fichiers reliés par des pointeurs. Les
fichiers sont composés d’articles stockés les uns à la suite des autres et accessibles par des
valeurs de données (appelées clés). Les systèmes IDS.I et IMS.I, développés respectivement à
Honeywell et à IBM vers 1965, permettent de constituer des chaînes d’articles entre fichiers et
de parcourir ces chaînes.
Exemple: Dans une entreprise, il convient de faire appel à l'approche base de données lorsque
les données à gérer sont de natures diverses (exemple : étudiants, cours, enseignants, salles,
etc.) et possèdent de nombreux liens entre elles (exemple : un étudiant suit un cours, un cours
est assuré par un enseignant, etc.).
Cependant, il existe des cas où les données à gérer, bien que importantes en volume, sont
homogènes : les abonnés d'une revue, le personnel d'une entreprise, les produits vendus par un
magasin, etc. Dans ces cas, on parlera de fichier (le fichier des abonnés, ...) et l'on utilisera un
système de gestion de fichiers (SGF), moins complexe qu'un SGBD.
3. Système de gestion de base de données (SGBD): un logiciel de haut niveau qui permet à
des utilisateurs de définir, créer, mettre à jour une base de données et d’en contrôler l’accès.
Aussi, il permet de gérer et manipuler les informations stockées dans une base de données
partagée par plusieurs utilisateurs simultanément.
La deuxième génération de SGBD a grandi dans les laboratoires depuis 1970, à partir du
modèle relationnel. Elle vise à enrichir mais aussi à simplifier le SGBD externe afin de
faciliter l’accès aux données pour les utilisateurs. En effet, les données sont présentées aux
utilisateurs sous forme de tables. Les recherches et mises à jour sont effectuées à l’aide d’un
langage non procédural standardisé appelé SQL (Structured Query Language). Celui-ci
permet d’exprimer des requêtes traduisant directement des phrases simples du langage naturel
et de spécifier les données que l’on souhaite obtenir. Les systèmes de deuxième génération
sont commercialisés depuis 1980. Ils représentent aujourd’hui l’essentiel du marché des bases
de données. Les principaux systèmes sont ORACLE, INGRES, SYBASE, INFORMIX, DB2
et SQL SERVER. Ils supportent en général une architecture répartie, au moins avec des
stations clients transmettant leurs requêtes à de puissants serveurs gérant les bases.
Figure 3 : Evolution de la gestion des données (Meynard, 2020), tels que : IDS Integrated Data Store, IMS
Information Management System, CODASYL Conference on Data System Language.
Avant les années 60, le développement des SGF (Systèmes de Gestion Fichier) partagés comportant : (1) des
fonctions de base (création, destruction, allocation de mémoire, localisation) ; et (2) des fonctions de contrôle
(partage, résistance aux pannes, sécurité et confidentialité des données. Durant les années 60, naissance de la
première génération de SGBD, connue par (1) la Séparation de la description des données et des programmes
d'application écrits dans un langage ; et (2) l’Avènement des langages navigationnels et modèles navigationnels
(Modèle Hiérarchique, Modèle Réseau). Durant les années 70, naissance de la deuxième génération de SGBD
connue par : (1) le Modèle Entité-Relation ; et (2) le Modèle Relationnel. Vers les Années 80-2000 : Modèle
Orienté Objet ; et Bases de Données Déductives, etc.
La troisième génération a été développée dans les laboratoires depuis le début des années 80.
Elle commence à apparaître fortement dans l’industrie avec les extensions objet des systèmes
relationnels. Elle supporte des modèles de données extensibles intégrant le relationnel et
l’objet. Les architectures mieux réparties, permettent une meilleure collaboration entre des
utilisateurs concurrents. Ces SGBD, influencés par l’objet, tentent de répondre aux besoins
des nouvelles applications (multimédia, Web, CAO, bureautique, environnement,
télécommunications, etc.).
Quant à la quatrième génération, elle est orientée pour mieux supporter Internet et le Web,
les informations mal structurées, les objets multimédias, l’aide à la prise de décisions et
l’extraction de connaissances à partir des données. La plupart des SGBD à objets sont basés
sur C++, Smalltalk et Java. Ils permettent de gérer des classes d’objets persistants. Java est le
langage objet d’avenir, supporté par la plupart des SGBDO.
3.2 Le Cycle de vie d'une base de données est constituée de : la phase de conception, la
phase d’implantation et la phase d’utilisation. Ce cycle est géré par un SGBD.
3.2.1 La phase de conception: une analyse aboutit à déterminer le futur contenu de la base.
Le but est de déterminer les informations qu’il conviendra de mettre dans la BDD, il faut ainsi
que les utilisateurs de cette BD se mettent d’accord sur la nature des caractéristiques des
informations à garder pour assurer la gestion de l’entreprise. Ensuite ce contenu est transmit
au logiciel SGBD choisi par l’entreprise et cela par le moyen d’un langage symbolique,
spécifique que l’on appelle langage de description des données (LDD)
4.2 Le 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.
4.3 Le modèle relationnel (SGBDR): les données sont enregistrées dans des tableaux à deux
dimensions (lignes et colonnes). La manipulation de ces données se fait selon la théorie
mathématique des relations.
4.4 Le modèle objet (SGBDO): les données sont stockées sous forme d'objets, c'est-à-dire de
structures appelées classes présentant des données membres. Les champs sont des instances
de ces classes.
5. Les niveaux d’abstraction des données. Un objectif majeur des SGBD est
d’assurer une abstraction des données stockées sur disques pour simplifier la vision des
utilisateurs. Pour cela, trois niveaux de description de données ont été distingués.
5.1 Le niveau conceptuel: il représente la vue intégrée de tous les utilisateurs, appelé aussi le
MCD ou MLD, il définit l’arrangement les données au sein de la base. Exemple :
5.2 Le niveau interne: correspond à la structure de stockage supportant les données. Il définit
la façon selon laquelle sont stockées les données et les méthodes pour y accéder.
5.3 Le niveau externe définit les vues des utilisateurs, chaque groupe de travail utilisant des
données possède une description des données perçues, appelée schéma externe. Un groupe de
travail ne peut en effet accéder qu’aux données décrites dans son schéma externe. Les autres
données sont ainsi protégées contre les accès non autorisés ou mal intentionnés de la part de
ce groupe de travail.
tel qu'il existe une Inscription de cet étudiant pour le cours BD (n°étudiant dans Etudiant =
n°étudiant dans Inscription et nom_cours dans Inscription = ‘BD’),
Un SGBD gère donc trois types de schémas pour une base de données, qui sont organisés de
la façon suivante:
6.1 Entité : C’est un objet, un événement, un lieu, une personne identifiable sans ambiguïté.
Exemples :
- Informaticien AEK,
- Compétence Oracle,
- Compétence Hot-Line,
- Client AeroMicroMecanique.
- Contrat C12.
L’informaticien AEK possède la compétence Oracle.
L’informaticien Ibrahim a signé le contrat C12.
Exemples :
- « l’Informaticien AEK» a « la compétence Oracle »,
- « l’Informaticien AEK » est affecté au « Contrat C12 » avec la « compétence Expert BD».
Exemples :
- Signer (entre Contrats et Clients),
- Affecter (entre Contrats, Compétences et Informaticiens).
Le type d'association de EE_1 à EE_2 indique le nombre d'entités provenant de l'ensemble associé EE_2 qui sont
reliées à une entité dans EE_1. On distingue essentiellement les types d'associations suivants: Statique (simple),
Dynamique (conditionnelle), Binaire, ternaire, réflexive (multiple et multiple conditionnelle), etc.
- Propriété (attribut): une donnée que l’on perçoit sur une entité ou une association.
Ex : - Ncli, RaisonSociale, Contact, Tel pour l’entité CLIENTS.
- Nc, Livrable, DateLivraison, Penalites pour CONTRATS
- Matricule, NomI, SalaireBase pour INFORMATICIEN
* Identifiant: propriété ou groupe de propriétés dont la valeur identifie sans ambiguïté une
entité ou une liaison d’une classe (identifiant=clé primaire).
Figure 11: Formalisme graphique d’une entité d’une table : (007, 'AEK, 54000).
* Cardinalités et rôle:- Le rôle détermine la façon dont les entités sont reliées.
• De 0,1 : une entité de A peut être reliée à aucune ou à une seule entité de B
• De 0 à plusieurs (0,N) : une entité de A peut être reliée à aucune ou à plusieurs entités de B
• De 1 à plusieurs (1,N) : une entité de A peut être reliée à une ou plusieurs entités de B
Les cardinalités décrivent comment les entités d’une classe peuvent être associées à d’autres
entités. Le rôle d’une association est défini par deux nombres (min,max).
Min Max
0=lien facultatif 1= lien unique
1=lien obligatoire N=plusieurs liens
Exemple :
Il existe cinq (5) règles de passage au modèle Relationnel pour le cas des associations
simples, une (1) règle pour le cas de la généralisation et une (1) règle pour le cas de
l’agrégation au niveau du modèle Entité- Association. Ces règles permettent de traduire
Donc, chaque ensemble de liens peut être traduit en une table distincte. Les clés
d'identification des ensembles d'entités participantes doivent y figurer comme clés étrangères.
La clé primaire de cette table peut être soit une clé d'identification formée par la
concaténation des clés étrangères, soit une autre clé candidate en créant par exemple une clé
artificielle. Les autres attributs de l'ensemble de liens complètent les attributs de la table.
Donc, chaque ensemble de liens complexe-complexe doit être transformé en une table
distincte. Elle contient au moins, comme clés étrangères, les clés d'identification des
ensembles d'entités qui participent à la liaison. La clé primaire de la table est soit la clé
d'identification formée par la concaténation des clés étrangères, soit une autre clé candidate.
D'autres attributs de l'ensemble de liens deviennent les attributs de la table.
Donc, un ensemble de liens simple-complexe peut s'exprimer dans les deux tables des
ensembles d'entités participantes sans avoir besoin de créer une table distincte. Pour cela, dans
la table qui participe à l'association simple (association de type 1 ou c), on définit une clé
étrangère qui la relie à la table référencée et l’on ajoute éventuellement d'autres attributs de
l'ensemble de liens considéré.
Figure 13 : Les principales phases (2) et (3) de la modélisation des données en modèle E-A, puis le passage au
modèle relationnel (EA R).
Une entité non faible est présentée par une relation T dont les attributs simples sont les
attributs de l’entité E et la clé de T est l’identifiant de E (Krokral, 2018).
Règle 2 : relation 1 :n
Les attributs d’une association qui a une cardinalité 0,1 ou 1,1 sont ajoutés à l’entité à laquelle
elle est reliée avec cette cardinalité. La clé primaire de l’autre entité qui participe devient clé
étrangère dans la première entité.
Le passage est identique à celui d’une association 1-n. la seule différence est que la clé du fils
migre vers le père est entre dans la constitution de la clé primaire de ce dernier.
Règle 5 : généralisation/spécialisation
1er cas :
2ème cas :
3ème cas :
10. Conclusion
Dans ce chapitre, nous avons présenté les notions essentielles sur les bases de données, le
modèle Entité –Association, les attributs, le cycle de vie d'une base de données, les Systèmes