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é

167-2019

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