Cours BD
Cours BD
Cours BD
FILIERE
AUTEUR
Irié Bi Dizan Paul,
Date : 15/06/2018
Théorie des bases de données
Introduction
Une base de données est un ensemble de données bien structurées, apparentées, enregistrées sur
un support de stockage représentant un univers du monde réel et accessibles via un système de
gestion de base de données.
Un SGBD est un logiciel ou application permettant d’interagir avec une base de données. Elle
permet la création de la base de données, l’enregistrement, la modification, la récupération et
la suppression des informations au sein de celle-ci. Pour interagir avec un SGBD, on utilise un
langage appelé le SQL (Structured Query Language).
Actuellement, la plupart des SGBD fonctionnent selon un mode client/serveur. Le serveur
(sous-entendu la machine qui stocke les données) reçoit des requêtes de plusieurs clients et ceci
de manière concurrente. Le serveur analyse la requête, la traite et retourne le résultat au client.
Le modèle client/serveur est assez souvent implémenté au moyen de l'interface des sockets (voir
le cours de réseau) ; le réseau étant Internet.
Des objectifs principaux ont été fixés aux SGBD dès l'origine de ceux-ci, et ce, afin de résoudre
les problèmes causés par la démarche classique. Ces objectifs sont les suivants :
Indépendance physique :
La façon dont les données sont définies doit être indépendante des structures de
stockage utilisées.
Indépendance logique :
Théorie des bases de données
Toutes les données doivent être centralisées dans un réservoir 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.
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.
Les données doivent pouvoir être protégées contre les accès non autorisés. Pour cela, il
faut pouvoir associer à chaque utilisateur des droits d'accès aux données.
deux solutions sont possibles : soit récupérer les données dans l'état dans lequel elles
étaient avant la modification, soit terminer l'opération interrompue.
4. Quelques SGBD
5
Les SGBD payants :
Oracle Database
Microsoft SQL Server
DB2
Microsoft Access
Sybase
Voici ci-dessous un tableau présentant le classement des SGBD les plus populaires pour
l’année 2014.
Ce classement a été produit par Solid IT une firme qui a fait de du classement des SGBD son
domaine d’expertise.
Le système d'information ou SI, peut être défini comme étant l'ensemble des moyens
humains, matériels et immatériels mis en œuvre afin de gérer l'information au sein d'une unité,
une entreprise par exemple.
6
Il ne faut toutefois pas confondre un système d'information avec un système informatique.
En effet, les systèmes d'information ne sont pas toujours totalement informatisés et existaient
déjà avant l'arrivée des nouvelles technologies de l'information et des communications dont
l'informatique fait partie intégrante.
MERISE est une méthode française née dans les années 70, développée initialement par
Hubert Tardieu. Elle fut ensuite mise en avant dans les années 80, à la demande d’une
méthode de conception des SI.
MERISE est donc une méthode d'analyse et de conception des SI en occurrence des bases de
données, basée sur le principe de la séparation des données et des traitements. Elle possède un
certain nombre de modèles (ou schémas) qui sont répartis sur 3 niveaux :
Le niveau conceptuel,
Le niveau logique ou organisationnel,
Le niveau physique.
Théorie des bases de données
Niveau physique : est utilisé pour décrire les méthodes d’organisation et d’accès
aux données de la base.
Théorie des bases de données
I. Introduction
La mise en place de règles de gestion (si celles-ci ne vous sont pas données),
L'élaboration du dictionnaire des données,
La recherche des dépendances fonctionnelles entre ces données
L'élaboration du MCD (création des entités puis des associations puis ajout des
cardinalités).
Prenons l'exemple d'un développeur qui doit informatiser le SI d'une bibliothèque. On lui fixe
les règles de gestion suivantes :
Pour chaque livre, on doit connaître le titre, l'année de parution, un résumé et le type
(roman, poésie, science fiction, ...).
Un livre peut être rédigé par aucun (dans le cas d'une œuvre anonyme), un ou
plusieurs auteurs dont on connaît le nom, le prénom, la date de naissance et le pays
d'origine.
Chaque exemplaire d'un livre est identifié par une référence composée de lettres et de
chiffres et ne peut être paru que dans une et une seule édition.
Un inscrit est identifié par un numéro et on doit mémoriser son nom, prénom, adresse,
téléphone et adresse e-mail.
Un inscrit peut faire zéro, un ou plusieurs emprunts qui concernent chacun un et un
seul exemplaire. Pour chaque emprunt, on connaît la date et le délai accordé (en
nombre de jours).
Ces règles vous sont parfois données mais vous pouvez être amené à les établir vous-même
dans deux cas :
Théorie des bases de données
Vous êtes à la fois maîtrise d'œuvre et maîtrise d'ouvrage, et vous développez une
application pour votre compte et/ou selon vos propres directives.
Ce qui arrive le plus souvent : les futurs utilisateurs de votre projet n'ont pas été en
mesure de vous fournir ces règles avec suffisamment de précision ; c'est pourquoi
vous devrez les interroger afin d'établir vous-même ces règles.
10
2. Les dictionnaires des données
C'est une étape intermédiaire qui peut avoir son importance, surtout si vous êtes plusieurs à
travailler sur une même base de données, d'un volume conséquent.
Le dictionnaire des données est un document qui regroupe toutes les données que vous aurez à
conserver dans votre base (et qui figureront donc dans le MCD). Pour chaque donnée, il
indique :
Le code mnémonique : il s'agit d'un libellé désignant une donnée (par exemple
«titre_l» pour le titre d'un livre)
La désignation : il s'agit d'une mention décrivant ce à quoi la donnée correspond (par
exemple «titre du livre»)
Le type de donnée :
o A ou Alphabétique : lorsque la donnée est uniquement composée de
caractères alphabétiques (de 'A' à 'Z' et de 'a' à 'z')
o N ou Numérique : lorsque la donnée est composée uniquement de nombres
(entiers ou réels)
o AN ou Alphanumérique : lorsque la donnée peut être composée à la fois de
caractères alphabétiques et numériques
o Date : lorsque la donnée est une date (au format AAAA-MM-JJ)
o Booléen : Vrai ou Faux
La taille : elle s'exprime en nombre de caractères ou de chiffres. Dans le cas d'une date
au format AAAA-JJ-MM, on compte également le nombre de caractères, soit 10
caractères. Pour ce qui est du type booléen, nul besoin de préciser la taille (ceci
dépend de l'implémentation du SGBDR).
Et parfois des remarques ou observations complémentaires (par exemple si une
donnée est strictement supérieure à 0, etc).
Reprenons l'exemple de notre bibliothèque et du système de gestion des emprunts que nous
sommes chargés d'informatiser. Après l'étude des règles de gestion, nous pouvons établir le
dictionnaire des données suivant :
Code
Désignation Type Taille Remarque
mnémonique
Identifiant numérique
id_i N
d'un inscrit
nom_i Nom d'un inscrit A 30
prenom_i Prénom d'un inscrit A 30
Théorie des bases de données
1. Les entités
Une entité est la représentation d'un élément matériel ou immatériel ayant un rôle dans le
système que l'on désire décrire.
On appelle classe d'entité ou type d’entité un ensemble composé d'entités de même type,
c'est-à-dire dont la définition est la même.
Une entité est une instanciation de la classe. Chaque entité est composée de propriétés,
données élémentaires permettant de la décrire.
Prenons par exemple une Ford Fiesta, une Renault Laguna et une Peugeot 306.
Il s'agit de 3 entités faisant partie d'une classe d'entité que l'on pourrait appeler
Théorie des bases de données
Par soucis de simplicité, une classe d’entité est appelée tout simplement entité, et on parle
d’occurrence d’entité les éléments de la classe d’entité. Nous allons adopter ce vocabulaire à 12
la suite de ce cours.
Chaque entité est unique et est décrite par un ensemble de propriétés encore appelées attributs
ou caractéristiques. Une des propriétés de l'entité est l'identifiant. Cette propriété doit posséder
des occurrences uniques et doit être source des dépendances fonctionnelles avec toutes les
autres propriétés de l'entité. Bien souvent, on utilise une donnée de type entier qui
s'incrémente pour chaque occurrence, ou encore un code unique spécifique du contexte.
Ainsi, si on reprend notre dictionnaire de données précédent, on schématise par exemple une
entité «Auteur» comme ceci :
À partir de cette entité, on peut retrouver la règle de gestion suivante : un auteur est identifié
par un numéro unique (id_a) et est caractérisé par un nom, un prénom et une date de
naissance.
Une entité peut n'avoir aucune, une ou plusieurs occurrences. Pour illustrer ce terme
d'«occurrence» qui a déjà été utilisé plusieurs fois, voici un exemple de table d'occurrences
de l'entité Auteur :
Remarque :
Les occurrences sont parfois appelés tuples. Par ailleurs, la table d'occurrence peut être
comparée à l'instance d'une relation (implantation relationnelle d'une entité ou association) à
un moment donné.
13
2. Les associations
Une association définit un lien sémantique entre une ou plusieurs entités. En effet, la
définition de liens entre entités permet de traduire une partie des règles de gestion qui n'ont
pas été satisfaites par la simple définition des entités.
Généralement le nom de l'association est un verbe définissant le lien entre les entités qui sont
reliées par cette dernière.
Une classe de relation peut lier plus de deux classes d'entité. Voici les dénominations des
classes de relation selon le nombre d'intervenants :
une classe de relation récursive (ou réflexive) relie la même classe d'entité
une classe de relation binaire relie deux classes d'entité
une classe de relation ternaire relie trois classes d'entité
une classe de relation n-aire relie n classes d'entité
3. Les cardinalités
Les cardinalités permettent de caractériser le lien qui existe entre une entité et la relation à
laquelle elle est reliée. La cardinalité d'une relation est composée d'un couple comportant une
borne maximale et une borne minimale, intervalle dans lequel la cardinalité d'une entité peut
prendre sa valeur.
minimum, maximum
Théorie des bases de données
Les cardinalités les plus répandues sont les suivantes : 0,N ; 1,N ; 0,1 ; 1,1. On peut toutefois
tomber sur des règles de gestion imposant des cardinalités avec des valeurs particulières, mais
cela reste assez exceptionnel et la présence de ces cardinalités imposera l'implantation de
traitements supplémentaires.
Par exemple :
14
Ici l'association «être né» traduit les deux règles de gestion suivantes :
15
16
4. Les identifiants
Un identifiant est un ensemble de propriétés (une ou plusieurs) permettant de désigner une et
une seule entité. La définition originale est la suivante :
Les attributs d'une classe d'entité permettant de désigner de façon unique chaque instance de
cette entité sont appelés identifiants absolus.
Le modèle conceptuel des données propose de faire précéder d'un #les identifiants (parfois de
les souligner).
1. Entités : identifiez les entités concernées. Lorsque vous êtes prêt, commencez à les
dessiner dans des rectangles (ou une autre forme en fonction du système choisi) et à
les étiqueter en tant que noms.
2. Attributs : ajoutez plus de détails en incorporant les principaux attributs des entités.
3. Relations : déterminez de quelle façon les entités sont reliées les unes aux autres.
Dessinez des lignes entre elles pour représenter les relations et étiquetez-les. Certaines 17
entités peuvent très bien ne pas être reliées. Selon les différents types de notation, la
relation peut être indiquée dans un losange, un autre rectangle ou directement sur la
ligne de liaison.