Pan du cours
GENERALITES SUR LES BASES DE DONNEES
SYSTEME DE GESTION DES BASES DE DONNEES
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.
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.
Exemples
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.
· 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.
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.
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.
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 chacun d'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ère et 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 (#).
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é.
· 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 (ou texte), 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-Diplôme de la table DIPLOME.
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#)
(fig.19)
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.
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.
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.
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.
Un SGBD a pour rôle de:
-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.)
Il permet ainsi à 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.
Le SGBD 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.
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 à traversle Langage de Manipulation de Données (LMD).
L’insertion des données dans une table consiste à ajouter une ligne dans cette table.
Exemple: Dans la table élèves, l’insertion d’un nouvel élève dans la classe.
La mise à jour d’une table consiste à modifier une information contenue dans cette table.
Exemple: Dans une table élève, la modification de l'adresse d'un élève (suite à un déménagement).
La consultation des données consiste à afficher le contenu d’une ou de plusieurs tables en fonction de certains critères.
Exemple: La recherche de l'adresse d'un élève (lui envoyer une correspondance).
La suppression des données d’une table consiste à les éliminer du contenu de cette table.
Exemple:
La suppression d'une classe (suite à une réduction des effectifs des élèves)
Remarque: Ici on ne touche pas aux structures de la base des données qui dépendent plutôt de la définition et non de la manipulation des 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).
Elle consiste à créer une base de données ou une table.
Exemple: La création d’une base de données Lycee_2020 avec des tables élèves, enseignants et classe.
Il s’agit ici de la suppression d’une table ou de toute une base de données entière.
Il s’agit ici d’ajouter des colonnes à une table d’une base de données. On peut ajouter un champ à une table pour avoir plus d’informations sur un enregistrement.
Il s’agit ici de donner un nouveau nom à une base de données ou à une table. Ceci peut intervenir lorsqu’il des modifications sur la structure de l’organisation.
On peut modifier le type d’une base de données suivant l’évolution de l’organisation.
Les SGBD les plus courants sont:
MySQL: libre et gratuit
Microsoft Access: inclus dans la suite office
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
CONTROLE DE CONNAISSANCES:
1. Définir: base des données, table, attribut
2. Cite 04 modèles de base de données.
3. Comment appelle-t-on le modèle qui consiste à représenter aussi bien les objets que les liens à l'aide d'une structure appelée table
4. Comment appelle-t-on une colonne ou un groupe de colonne permettant d’identifier de façon unique chaque ligne de la table
5. Comment appelle-t-on une règle appliquée à une colonne ou à une table qui doit être toujours vérifiée.
6. Que signifie l’expression«clé étrangère»entre deux tables d’une base de données? quel est son rôle?
EXERCICE I: Cocher la (les) réponse (s) juste(s)
1) La clé primaire :
a) ne peut être que du type numérique
b) est l’identifiant unique de l’information
c) est une ligne de la table
d) est référencée par zéro ou plusieurs clés étrangères
2) La clé étrangère est :
a) un attribut
b) une colonne de la table qui correspond à la clé primaire d’une autre table
c) un enregistrement
d) un n-uplet
3-Une table créée qui répond aux contraintes d’intégrité,
a) Doit contenir une clé primaire.
b) Contient au moins une colonne.
c) Peut avoir une clé dont les valeurs ne sont pas obligatoires.
d) doit comporter au moins 02 clés étrangères
4-Dans une table, une colonne
a) Peut être calculée ou déduite à partir d’autres colonnes.
b) Doit avoir une taille et un type.
c) est un enregistrement.
d) Décrit les propriétés relatives au sujet représenté par la table.
5-Dans une table, une ligne
a) est aussi appelée attribut
b) est un enregistrement
c)correspond à une occurrence du sujet (entité)
d) est un n-uplet
6-Une base de données garde les informations
a) Volatiles
b) Permanentes
c) Temporaires
d) Persistantes
EXERCICE II: Cocher la (les) réponse (s) juste(s)
1- un SGBD permet de:
a) créer la base de données
b) interroger la base de données
c) concevoir la base de données
d) gérer les contraintes d’intégrités
2-Une contrainte d’intégrité
a) Peut s’appliquer à une colonne
b) Représente un lien entre les deux tables
c) Caractérise le modèle relationnel
d) Peut s’appliquer à une table
3- Est un modèle de base de données
a) modèle relationnel
b) modèle en réseau
c) modèle textuel
d) modèle hiérarchique
4-Est un avantage des bases de données
a) plusieurs colonnes peuvent être accédées en même temps
b) Permet de structurer les données.
c) Toutes les données sont regroupées dans un fichier
d) elle sécurise les données
EXERCICE III :
Compléter le paragraphe ci-dessous par les mots suivants :
Relations, redondance, structuré, permanentes, n-uplets, tables, attributs
Une base de données est un ensemble …………. de données enregistrées sur des mémoires………… créées et tenu à jour pour les besoins d’un ensemble d’utilisateurs de cette base. Le système de gestion de base de données est un outil permettant de créer, de mettre à jour, de rechercher et de consulter les données. Le SGBD relationnel organise les données sous la forme de …………. Chaque entité est une collection de données relatives à un sujet spécifique du monde réel. Ces données sont organisées en colonnes appelées ……….….. ou champs et en lignes, appelées enregistrements ou ……….….Les tables d’une base de données sont souvent liées par des ………. pour éviter la……………………..
EXECICE IV : On donne les tables articles et commandes d’une base de données
C ARTICLES
|
Code_Article |
Désignation article |
Prix unitaire |
Quantité en stock |
|
V10 |
Vis 50x3 |
40 |
2500 |
|
V20 |
Vis 20x2 |
20 |
13000 |
|
B100 |
Boulon 90x15 |
450 |
100 |
|
C60 |
Clou 60x2 |
5 |
05000 |
COMMANDES
|
N°Commande |
Date Commande |
Reference_article# |
Quantité commandée
|
|
100 |
01/03/2006 |
V10 |
500 |
|
101 |
15/04/2006 |
V20 |
30 |
|
102 |
17/04/2006 |
B100 |
120 |
|
103 |
25/04/2006 |
C60 |
180 |
1-Identifier la clé primaire de la table ARTICLES.
2-Identifier une clé étrangère.
3-Donner une représentation textuelle de ces tables.
EXECICE V
Pour décrire les employés d’une entreprise et leurs répartitions entre les différents
Services, on présente le contenu de deux tables « Employé » et « Service » comme suit :
table : Service
|
Num_service |
Nom_service |
|
10 |
Administratif |
|
20 |
Financier |
|
30 |
Juridique |
Table : Employe
|
code_emp |
nom |
salaire |
num_serv |
|
123 |
Abanda |
756,500 |
20 |
|
426 |
Tsafack |
987,900 |
10 |
|
456 |
Tounsi |
400,000 |
40 |
|
123 |
Mbede |
798,322 |
30 |
|
456 |
Tounsi |
380,500 |
20 |
NB : On suppose qu’un employé est affecté à un seul service
Questions :
1) Définir le terme « contrainte d’intégrité » :
2) En se basant sur les contenus de ces tables, il apparait que des contraintes d’intégrité n’ont pas été respectées. Lesquelles?
3) On désire mettre en place un logiciel permettant d’assurer le respect des contraintes d’intégrité lors de la manipulation d’une base de données.
a-Comment appelle-t-on ce logiciel,
b-Donner une définition a ce logiciel,
c-Citer ses composants,
d-Donner son rôle,
e-Citer ses fonctions.
EXERCICE VI: Pour décrire les élèves du lycée inscrits dans le club«musique», la table suivante a été créée:
Musique
|
N°Elève |
Nom |
Prénom |
Date_ de_ naissance |
Code_ classe |
Nombre_ d’élèves |
|
1 |
Maffo |
Paul |
22/11/90 |
3M3 |
28 |
|
2 |
Ada |
Pierre |
11/12/88 |
2nde C |
29 |
|
3 |
Tene |
Marc |
30/10/92 |
4M2 |
30 |
|
4 |
Ngo |
Jeanne |
01/01/89 |
3M3 |
30 |
|
5 |
Bisseck |
Blandine |
12/12/90 |
3M3 |
28 |
|
6 |
Nke |
blandine |
11/04/91 |
4M2 |
30 |
1-Identifier les anomalies de cette structure
2-Pour éviter ces anomalies, proposez une autre façon de structurer cette base de données (Représentation textuelle).
EXERCICE VII: En supposant que l’extrait ci-dessous soit une partie de la table ELEVE de la base de données créée dans le cadre du projet de l’exercice de II de UE-10, répondez aux questions qui suivent:
ELEVE
|
Matricule |
Nom |
Prénom |
Classe |
Sexe |
Date-Naissance |
|
14R210 |
GBADE |
Yves |
3ème A2 |
M |
14/12/2014 |
|
10R100 |
EJIBA |
Louise |
1ère D |
F |
15/10/2015 |
|
14L500 |
NGANSO |
Romuald |
TA |
M |
17/09/2013 |
|
14U200 |
ATEBA |
Sandra |
5ème 1 |
F |
12/10/2015 |
a-Définir le terme suivant: Enregistrement.
b-Donner un exemple de SGBD qui a permis de créer cette table.
c-Identifier la clé primaire de la table ELEVE et justifier votre choix.
d-Proposer un format de valeur pour l’attribut Date-Naissance.
EXERCICE VII:
Les deux tables suivantes représentent les établissements et les élèves qui y sont inscrits.
Etablissement (CodeEtab, NomEtab, AdresseEtab, TelEtab)
Eleve (NumElev, NomElev, PrenomElev, DnaissElev, CodeEtab #)
1.Remplir la table Etablissement avec les enregistrements suivants:
· 542et, lycee lecler, bp 534 yde, 222345521
· 810et, lycee joss, bp 678 dla, 234453 123
2. Remplir la table Eleve avec les enregistrements suivants:
· 1000, ada, daniel, 12/12/2004,542et
· 1001, tene, alain,11/08/2010,810et
3. Donner la représentation graphique
Merci de votre visite
Laissez un commentaire