Cours BD

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 18

LES BASES DE DONNEES

FILIERE

ING STGI ESI/INPHB

AUTEUR
Irié Bi Dizan Paul,

Date : 15/06/2018
Théorie des bases de données

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

TABLE DES MATIERES

CHAPITRE I : PRESENTATION DES BD .............................................................................. 2


Introduction ........................................................................................................................ 3
1. Notion de base de données ....................................................................................... 3
2. Notion de système de gestion de base de données (SGBD) .................................... 3
3. Les objectifs des SGBD ........................................................................................... 3
4. Quelques SGBD ....................................................................................................... 5
5. Les systèmes d’information ..................................................................................... 6
6. Conception d’une base de données .......................................................................... 6
CHAPITRE 2 : MODELISATION D’UNE BD NIVEAU CONCEPTUEL ............................. 8
I. Introduction .................................................................................................................... 9
II. Les étapes pour aboutir au MCD.................................................................................... 9
1. Les règles de gestion ................................................................................................ 9
2. Les dictionnaires des données ................................................................................ 10
III. Le modèle conceptuel de données (MCD) ................................................................ 11
1. Les entités .............................................................................................................. 11
2. Les associations ..................................................................................................... 13
3. Les cardinalités ...................................................................................................... 13
4. Les identifiants ....................................................................................................... 16
5. Comment concevoir un diagramme entité-association ? ....................................... 16
Théorie des bases de données

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

CHAPITRE I : PRESENTATION DES BD


Théorie des bases de données

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

Introduction

Aujourd'hui, la disponibilité de systèmes de gestion de base de données fiables permet aux


organisations de toutes tailles de gérer des données efficacement, de déployer des applications
utilisant ces données et de les stocker. Les bases de données sont actuellement au cœur du 3
système d'information des entreprises.

1. Notion de base de données

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.

2. Notion de système de gestion de base de données (SGBD)

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.

3. Les objectifs des SGBD

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

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

 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). Il est crucial que ce langage permette d'obtenir des réponses aux 4
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.

Administration centralisée des données (intégration) :

 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.

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.

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).

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 multiutilisateur, 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.

Sécurité des données :

 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.

Résistance aux pannes :

 Que se passe-t-il si une panne survient au milieu d'une modification, si certains


fichiers contenant les données deviennent illisibles ? Il faut pouvoir récupérer une base
dans un état « sain ». Ainsi, après une panne intervenant au milieu d'une modification
Théorie des bases de données

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

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

Les SGBD gratuits :


 MySQL
 PostgreSQL
 MariaDB
 SQLite
 MongoDB

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.

Rank DBMS Database Model Score


1 Oracle Relational DBMS 1467,79
2 MySQL Relational DBMS 1296,91
3 Microsoft SQL Server Relational DBMS 1226,02
4 PostgreSQL Relational DBMS 228,25
5 DB2 Relational DBMS 188,31
6 MongoDB Document store 178,23
7 Microsoft Access Relational DBMS 174,99
8 SQLite Relational DBMS 97,3
9 Sybase Relational DBMS 94,51
10 Cassandra Wide column store 81,18
Théorie des bases de données

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

5. Les systèmes d’information

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.

Le SI possède 4 fonctions essentielles :

 La saisie ou collecte de l'information


 La mémorisation de l'information à l'aide de fichier ou de base de données
 Le traitement de l'information afin de mieux l'exploiter (consultation, organisation,
mise à jour, calculs pour obtenir de nouvelles données, ...)
 La diffusion de l'information

Autrefois, l'information était stockée sur papier à l'aide de formulaires, de dossiers, … et il


existait des procédures manuelles pour la traiter. Aujourd'hui, les systèmes informatisées,
comme les systèmes de gestion de bases de données relationnelles (SGBDR), sont mis au
service du système d'information.

6. Conception d’une base de données

Les BD constituent le cœur du système d’information. La conception de ces bases est la


tâche la plus ardue du processus de développement du système d’information.

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

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

Niveau conceptuel : représente le contenu de la base en termes conceptuels,


indépendamment de toute considération informatique.

Niveau logique relationnelle : résulte de la traduction du schéma conceptuel en


un schéma propre à un type de BD.

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

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

CHAPITRE 2 : MODELISATION D’UNE BD


NIVEAU CONCEPTUEL
Théorie des bases de données

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

I. Introduction

La modélisation d’une base de données niveau conceptuel consiste à élaborer le modèle


conceptuel des données (MCD) qui est une représentation graphique et structurée des
informations mémorisées par un SI (Système d’Information). Le MCD est basé sur deux 9
notions principales : les entités et les associations, d'où sa seconde appellation : le modèle
Entité/Association.

L'élaboration du MCD passe par les étapes suivantes :

 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).

II. Les étapes pour aboutir au MCD

1. Les règles de gestion


Avant de vous lancer dans la création de vos tables (ou même de vos entités et associations
pour rester dans un vocabulaire conceptuel), il vous faut recueillir les besoins des futurs
utilisateurs de votre application. Et à partir de ces besoins, vous devez être en mesure d'établir
les règles de gestion des données à conserver.

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

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

 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

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

rue_i Rue où habite un inscrit AN 50


ville_i Ville où habite un inscrit A 50
cp_i Code postal d'un inscrit AN 5
Numéro de téléphone fixe
tel_i AN 15
d'un inscrit
Numéro de téléphone
tel_port_i AN 15 11
portable d'un inscrit
Adresse e-mail d'un
email_i AN 100
inscrit
Date de naissance d'un
date_naissance_i Date 10 Au format AAAA-JJ-MM
inscrit
Identifiant numérique
id_l N
d'un livre
titre_l Titre d'un livre AN 50
Année de parution d'un
annee_l N 4
livre
resume_l Résumé d'un livre AN 1000
Cette référence servira
Code de référence d'un
ref_e AN 15 également d'identifiant dans ce
exemplaire d'un livre
système
Identifiant numérique
id_t N
d'un type de livre
libelle_t Libellé d'un type de livre AN 30

III. Le modèle conceptuel de données (MCD)

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

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

voiture. La Ford Fiesta est donc une instanciation de la classe voiture.

Chaque entité peut posséder les propriétés couleur, année et modèle.


Les classes d'entités sont représentées par un rectangle.

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.

Le formalisme d'une entité est le suivant :

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 :

id_a nom_a prenom_a date_naissance_a


1 Hugo Victor 1802-02-26
2 Rimbaud Arthur 1854-10-20
3 de Maupassant Guy 1850-08-05
Théorie des bases de données

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

Cette table est composée de trois 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.

Le formalisme d'une association est le suivant :

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.

Une cardinalité est définie comme ceci :

minimum, maximum
Théorie des bases de données

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

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 :

 Un auteur est né dans un et un seul pays,


 Dans un pays, sont nés aucun, un ou plusieurs auteurs.

Cardinalité un à un : si et seulement si un employé ne peut être directeur que dans un


seul département et un département n’a qu’un seul employé comme directeur.

Cardinalité un à plusieurs : un département peut occuper plusieurs employés qui


réalisent différentes fonctions mais chaque employé ne fait partie que d’un seul
département.
Théorie des bases de données

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

15

Cardinalité plusieurs à plusieurs : un type de produit peut être fabriqué en plusieurs


usines et une usine donnée peut fabriquer plusieurs types de produits.

 Les cardinalités présentées ci-dessus sont appelées cardinalités maximales


dans la mesure où elles représentent le nombre maximum de participations d’une
entité à une relation.

 En revanche, la cardinalité minimale est le nombre minimal de participations


d’une entité à une relation. La cardinalité minimale peut être 0 ou 1.

 Les cardinalités maximales et minimales traduisent les contraintes propres aux


entités et relations. Dans un schéma conceptuel, elles sont représentées comme
suit :
 0-1 aucune ou une seule
 1-1 une et une seule
 0-N aucune ou plusieurs
 1-N une ou plusieurs
Théorie des bases de données

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)
Illustration

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 :

L'identifiant est une propriété particulière d'un objet telle qu'il


n'existe pas deux occurrences de cet objet pour lesquelles cette propriété
pourrait prendre une même valeur.

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).

5. Comment concevoir un diagramme entité-association ?


Théorie des bases de données

Institut National Polytechnique Felix Houphouët Boigny


de Yamoussoukro (INP-HB)

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.

4. Cardinalité : indiquez si les relations sont de type un à un, un à plusieurs ou plusieurs


à plusieurs.

Vous aimerez peut-être aussi