GENERALITES SUR LES BASES DE DONNEES
I-INTRODUCTION
1-Limites de l’organisation des
données en fichiers
Un fichier
(en anglais: file) est un ensemble de données structurées
mémorisées sur un support de stockage permanent.
L’organisation des données en fichiers possède
des inconvénients suivants :
✔Lourdeur d'accès aux données. En pratique, pour chaque accès, même le plus simple, il
faudrait écrire un programme.
✔Manque de sécurité. Si tout programmeur peut accéder directement aux fichiers, il
est impossible de garantir la sécurité et l'intégrité des données de ce
fichier.
✔Redondance de données. Etant donné que les fichiers sont généralement conçus par des
équipes différentes, il y a un risque qu'un même ensemble de données figurent
dans deux ou plusieurs fichiers : c'est la
redondance. En plus du gaspillage de l'espace disque, il y a un risque d'incohérence dans le cas ou de la mise
à jour n'a pas touché
la totalité des copies.
2-Définition
Une base
de données est une collection de données structurées et organisées qui, après
avoir été saisies une seule fois, sont accessibles aux différents utilisateurs.s 1
Exemple :
Une Base de
Données ≪ Etudiants ≫ regroupe toutes les données concernant les étudiants
(Numéro_matricule,
nom, prénom, adresse, modules auxquels est inscrit l'étudiant, notes, etc.) et
servira à toutes les applications.
La Base
de données permet de mettre des données à la disposition d’utilisateurs pour
une consultation, une saisie ou bien une mise à jour, tout en s’assurant des
droits accordés à ces derniers, les données informatiques devenant de plus en
plus nombreuses.
Caractéristiques :
Les données
d’une Base de données doivent être :
·
non redondantes : non répétitives pour occuper moins
d’espace dans les supports de stockage.
·
structurées : Les données doivent être regroupées dans une
structure centrale pour éviter la redondance. En effet, les données sont
saisies une seule fois et peuvent être utilisées par plusieurs programmes et
plusieurs utilisateurs.
·
persistantes : C’est la capacité de mémoriser et de pouvoir retrouver une donnée.
Lorsqu'une donnée n'est pas persistante, elle est volatile, c'est-à-dire
qu'elle disparait au bout d’un certain temps.
·
Cohérentes : absence des
contradictions.
Une base de données peut être locale, c.-à-d. utilisable
sur une machine par un utilisateur, ou bien repartie, c.-à-d. que les
informations sont stockées sur des machines distantes et accessibles par réseau
ou dans le Cloud.
3-Modèles de base de données
Il existe plusieurs modèles de base de données :
-Modèle hiérarchique
-Modèle en réseau
-Modèle orienté objet
-Modèle relationnel
Ces quatre modèles se
distinguent par la façon selon laquelle les liens entre les données sont représentés.Le modèle relationnel est le plus récent
et le plus utilisé. Son principe de base consiste à
représenter aussi bien les objets que les liens à l'aide d'une structure
appelée table. C’est ce
modèle que nous allons étudier dans le cadre de ce cours.
II-NOTION DE TABLE
1-Définition
Une table est un ensemble de
données relatives à un même sujet (ou entité) et structurées sous forme de
tableau.
Elle est composée
horizontalement d'un ensemble de lignes et verticalement d'un ensemble
de colonnes : les colonnes décrivent les propriétés relatives au
sujet représenté par la table et les lignes correspondent aux occurrences du
sujet. Une table est aussi appelée ≪ relation ≫ car dans une table, on trouve des données qui sont en relation
avec un sujet donné.
Exemple :
Table
VISITEURS
Numéro |
Nom |
Age |
Tel |
1 |
Ada |
15 |
677 15 44
45 |
2 |
Tene |
23 |
698 45 77
30 |
3 |
Ousmanou |
18 |
666 67 78
89 |
a- Lignes : Les lignes sont appelées entrées, enregistrements ou n-uplets.
Elles représentent une occurrence de la relation c.-à-d. les valeurs que
prennent les propriétés.
b- Colonnes : Les colonnes sont appelées champs ou attributs. Dans une table, une colonne
correspond à une propriété élémentaire de l'objet décrit par cette table.
Exemples :
Dans la table
VISITEURS :
-Champs : Numéro, Nom,
Age, Tel
-Enregistrements
(entrées) : chaque ligne est une entrée, ligne 1, ligne 2, ligne3, Ici il
n’y a que 3 entrées, mais une table peut avoir 100,1000 voire 100000 entrées et
plus.
Dans une base de données relationnelle, la table constitue la
structure la plus importante car la manipulation des données se fait toujours à
travers les tables : création, sélection, modification et suppression. Remarques
Remarques :
_ Il ne faut pas confondre fichier et table. Les données d'un fichier sont stockées dans un même et seul fichier
alors que les données d'une table peuvent être stockées sur un ou plusieurs
fichiers, comme on peut regrouper dans un même fichier les données de plusieurs
tables.
_ Il y a donc une indépendance entre la structure d'une table et son implémentation physique sur les supports de stockage
(disque). C'est le système de gestion de base de données (SGBD) qui assure
cette indépendance.
2-Les clés primaires
La clé primaire d’une table est une
colonne ou un groupe de colonne permettant d’identifier
de façon unique chaque ligne de la table. Autrement
dit, la connaissance de la valeur de la clé primaire, permet de connaitre sans
aucune ambiguïté les valeurs des
autres colonnes de la table.
En général, on utilise le champ de
l’identifiant comme clé primaire. Les colonnes qui constituent la clé primaire
sont obligatoires. Un identifiant peut être un code, une référence d’un
article, un numéro matricule, un numéro carte d’identité, un numéro de la
plaque d’immatriculation d’une voiture
Exemple :
Chaque visiteur doit pouvoir être
identifié de manière unique. La manière la plus simple est de lui attribuer un
numéro unique ou identifiant dans un champ qui constitue la clé primaire. Il ne
peut pas y avoir deux visiteurs ayant le même identifiant.
Remarques :
_ Chaque table doit comporter une et une seule clé primaire.
_ Dans certains cas, dans une même table on peut avoir deux ou
plusieurs colonnes qui peuvent jouer le rôle de clés primaires. Dans ce cas on
doit choisir une parmi toutes ces colonnes.
_ Pour distinguer une colonne qui fait partie de la clé primaire
des autres colonnes, on la souligne.
_Une clé est dite composée lorsque les attributs non-clés
dépendent de plusieurs champs.
3- Liens entre tables
Une base
de données est généralement constituée d’une ou de plusieurs tables. Elle est la
représentation d'un ou de plusieurs domaines composés chacund'un
ensemble de sujets (ou entité). Les différents sujets de chaque domaine sont
généralement interreliés par des liens (ou associations).
Exemple : Si nous
avons une table représentant un étudiant et une autre table représentant le
diplôme, la phrase suivante ≪Un
étudiant obtient un diplôme ≫
correspond à un lien (ou association) entre ces deux tables.
Dans la pratique,
un lien entre deux tables A et B est représenté par l'ajout dans la
table B d'une nouvelle colonne correspondant à la clé primaire de la table A.
Cette nouvelle colonne est appelée clé étrangère.
Table DIPLOME
Code-diplôme |
Session |
Année de délivrance |
Centre |
166-2020 |
Juin |
2020 |
Yaoundé |
|
Septembre |
2019 |
Douala |
Table
ETUDIANT
N°Matricule |
Nom |
Prénom |
Age |
Code-diplôme # |
Y-12900 |
Penda |
Claude |
18 |
166-2020 |
D-13460 |
Kenne |
Pierre |
20 |
167-2019 |
Un lien entre deux tables est orienté : il part
de la table contenant la clé étrangère et arrive vers la table contenant la clé
primaire. La table cible (celle contenant la clé primaire) s'appelle table
mèreet la table source (celle contenant la clé
étrangère) s'appelle table fille. On dit
aussi que la table fille se
réfère à la table mère.
Code-diplôme
# est la clé étrangère dans la table ETUDIANT.
DIPLOME est la table mère, ETUDIANT est la table fille.
Remarques :
_ Une table peut comporter zéro, une ou plusieurs clés étrangères.
_ Une clé primaire peut être référencée par zéro, une ou plusieurs
clés étrangères.
_ Il est fortement recommandé que le nom de la colonne qui est une
clé étrangère soit identique au nom de la colonne clé primaire à laquelle elle
se réfère.
_ Pour distinguer une colonne qui fait partie d'une clé étrangère
des autres colonnes, on la double souligne ou bien on la fait suivre d’un dièse
(#).
3-Contraintes sur les tables
3.1-Définition
Une contrainte d'intégrité est une règle appliquée
à une colonne ou à une table et qui doit être toujours vérifiée.
Les contraintes sur les tables consistent à
garantir que les données stockées dans une base de données sont cohérentes entre elles, c'est-à-dire
qu'elles respectent toutes les règles exigées par le concepteur de la base. La
cohérence et l'intégrité des données sont assurées à l'aide d'un ensemble de
règles dites contraintes d'intégrité.
3.2- Types de contraintes
d'intégrité
·
Les contraintes de domaines :
Ce sont des
contraintes appliquées à des colonnes. Elles permettent de fixer le caractère
obligatoire ou pas d'une colonne et les règles de validité des valeurs qui
peuvent être prises par cette colonne.
Valeur nulle : Lorsque la colonne n'est pas renseignée, on dit qu'elle
contient une valeur nulle.
Valeur autorisée : une colonne peut être soumise à certaines règles tel que
: les valeurs attribuées à cette colonne doivent être inférieures à une
certaine valeur, supérieures à une certaine valeur ou bien comprises entre deux
valeurs. Par exemple, une note doit être comprise entre 0 et 20.
Valeur par défaut : Permet d'attribuer une valeur par défaut lorsqu'aucune
valeur n'a été attribuée à cette colonne.
Unicité de valeur :
Toutes les occurrences d’une colonne doivent être uniques ou non.
Format de valeur : C'est le type de
données prises par cette colonne. Les types de données les plus connus sont : numérique,
chaîne de caractères (outexte), date et booléen.
·
Les contraintes d'intégrité de tables
Clé
primaire : Elles permettent d'assurer que chaque table possède une clé
primaire.
·
Les contraintes d'intégrité référentielles
Elles permettent de s'assurer que les valeurs introduites dans
une colonne figurent dans une autre colonne en tant que clé primaire. Elle est
représentée sous forme de lien entre tables.Par
exemple on n'accepte pas que le Code-diplôme saisi dans ETUDIANT n'existe pas dans la colonne Code-Dipôme de la table DIPLOME.
4-Représentation
d’une relation
4.1-Représentation
textuelle
Elle consiste à décrire les tables, les
colonnes et les liens entre les tables en utilisant du texte. La clé primaire
est soulignée et la clé étrangère est suivie d’un dièse (#).
Exemple :
On dispose de deux tables CLIENT et COMMANDE
CLIENT
(code_client, Nom_client,
Adr_client, Tel_cli)
COMMANDE
(Num_comm, Date_comm,
code_client#)
4.2
Représentation graphique
(fig.37)
Dans cette représentation,
les clés primaires sont en gras, Un lien est établi entre les deux tables. Le
symbole ∞ est placé du côté de la clé étrangère et le 1 du côté de la clé
primaire.
III-UTILITE D’UNE BASE DE DONNEES
Les
avantages d’une base de données sont :
-la saisie unique
-la mise à jour unique
-le gain de place au
stockage
-l’accès plus facile à
l’information
-la possibilité d’évolution
-la sécurité des données.
L’avantage
majeur de l’utilisation d’une base de données est la possibilité de pouvoir
être accédée par plusieurs utilisateurs simultanément c.-à-d. à la fois.
IV-LES DOMAINES D’APPLICATION
Les bases de données sont fréquentes
dans les secteurs :
·
des finances,
·
des assurances,
·
des écoles,
·
de l’administration
publique et des médias.
·
V-NOTIONS DE SYSTEME DE GESTION DES BASES DE DONNEES
1-Définition d’un SGBD et Rôle
1.1-Définition
Un système de
gestion de base de données (SGBD) est un logiciel qui permet de décrire, de
modifier, d’interroger et d’administrer les données d'une base de données.
1.2-Rôle
Un SGBD est
un ensemble de services (applications logicielles) permettant de gérer les
bases de données, c.-à-d. :
-Permettre l’accès aux
données.
-Autoriser un accès aux
informations à des multiples utilisateurs.
-Manipuler les données
présentes dans la base de données (insertion, suppression, modification, etc.)
Un système de gestion de
base de données (SGBD) permet donc à l'utilisateur de manipuler une ou
plusieurs bases de données dans des termes abstraits, sans tenir compte de la
façon dont l'ordinateur les maintient.
1.3-Composition
Il est constitué de deux
composantes principales : un moteur et une interface.
_ Le moteur constitue la composante principale
d'un SGBD qui assure un certain nombre de fonctions.
_ L'interface, située entre les utilisateurs
d'une base de données et le moteur permet un accès facile et convivial aux
données.
2-Les
principaux SGBD
2.1-MySQL
MySQL est un gestionnaire de bases de données dont le rôle
est d’enregistrer des données de manière organisée afin de les retrouver
facilement plus tard.
MySQL propose une quantité très importante de type de
données. En fait, ceux-ci peuvent être classés par catégorie :
INT : ce sont les nombres.
VARCHAR : des textes courts de moins de 255
caractères.
TEXT : des textes longs.
DATE : ce sont les dates
DATETIME : donne la date et l’heure
Etc.
2.2-MS ACCESS
Access est le SGBD de la
suite Microsoft Office utilisé pour créer une base de données. Il permet
d’utiliser des requêtes en langage SQL (StructuredQueryLanguage
ou langage d’interrogation) pour la gestion des bases de données. Il dispose
d’une interface permettant de saisir les requêtes. Grâce à des assistants, des
formulaires ou des sous-formulaires, il permet de configurer un regroupement de
données en prenant compte plusieurs critères.
Autres :
PostgreSQL : libre et
gratuit comme MySQL, avec plus de fonctionnalités, mais un peu moins connu.
SQLite : libre et
gratuit, très léger, mais très limité en fonctionnalités
Oracle : utilisé dans
les grosses entreprises, sans aucun doute un des SGBD les plus complets mais il
n’est pas libre et très cher.
Microsoft SQL Server :
le SGBD de Microsoft
3. Fonctions de manipulation de données
La
manipulation des données consiste à insérer, modifier, consulter ou
supprimer des lignes dans les tables de la base de données.
L’action à effectuer sur la base est exprimée comme une phrase de ce langage (requête) qui est évaluée et exécutée
par le SGBD à travers le Langage de Manipulation de Données (LMD) :
-Insertion
des données
-Mise
à jour des données
-Consultation
des données
-Suppression
des données
4- Fonctions de définition d’une Base de données
Elles se résument à la création
de la base de données et de ses tables, de la modification ou de la suppression
de ces structures. La fonction de définition des données est assurée par le
Langage de Description de Données (ou LDD) :
-Création des Bases de
données et des tables
-Suppression des bases de
données et des tables
-Ajout des colonnes
-Renommer des colonnes
-Modifier des types