Chapitre I : NOTIONS SUR LES BASES DE DONNEES : Généralités
Activité 1 : Définition des concepts
Données : Les données sont des éléments bruts et non traités qui peuvent être mesurés,
observés ou enregistrés. Ce sont des faits ou des valeurs qui peuvent être stockés dans
un format utilisable.
Informations : Les informations sont des données qui ont été organisées, interprétées
et présentées d'une manière significative. Elles fournissent un contexte et une
signification aux données brutes.
BD (Base de données) : Une base de données est un ensemble organisé de données
stockées et gérées électroniquement. Elle permet de stocker, d'organiser, de gérer et de
récupérer facilement des informations.
SGBD (Système de Gestion de Base de Données) : Le SGBD est un logiciel qui permet
aux utilisateurs de créer, de modifier et de gérer des bases de données. Il fournit des
fonctionnalités pour stocker, organiser et récupérer efficacement les données.
Activité 2 : Différence entre donnée et information
Donnée et information : Une donnée est un élément brut et non traité, tandis que
l'information est une donnée qui a été organisée et interprétée pour donner un sens.
Exemple :
Prenons l'exemple de la base de données d'un magasin de vêtements. Une donnée serait
le code-barres d'un vêtement, tandis que l'information serait le nom du vêtement, sa
taille, sa couleur, son prix, etc.
Donnée : 123456789 (code-barres d'un jean) Information : Jean slim noir, taille 38, prix
de 29,99 euros.
Activité 3 : Différence entre système d’information et système informatique
Système d'information et système informatique : Un système d'information est un
ensemble de composants (matériels, logiciels, personnes, procédures) qui interagissent
pour collecter, stocker, traiter et distribuer des informations. Un système informatique,
quant à lui, est le matériel et les logiciels utilisés pour mettre en œuvre un système
d'information.
Exemple : prenons d'une entreprise de logistique qui gère l'envoi et la livraison de colis.
Le système d'information de cette entreprise comprendrait les applications logicielles
utilisées pour collecter les informations relatives aux colis, telles que les adresses
d'expédition et de livraison, le poids, les dimensions, etc. Ces informations sont ensuite
stockées dans une base de données centralisée pour une gestion efficace.
Les composants matériels du système informatique seraient les ordinateurs utilisés par
les employés pour accéder aux applications logicielles, ainsi que les serveurs qui
hébergent la base de données.
Les personnes impliquées dans ce système d'information seraient les employés chargés
de saisir les données des colis, les responsables de la logistique pour superviser le
processus de livraison, et les clients qui peuvent consulter le statut de leurs colis via un
portail en ligne.
Les procédures liées à ce système d'information incluraient des étapes spécifiques pour
la collecte de données, la vérification de l'exactitude des informations, la gestion des
itinéraires de livraison, etc.
En mettant en œuvre ce système informatique, l'entreprise de logistique pourrait
améliorer ses opérations en gagnant en temps et en efficacité dans le suivi des colis, en
évitant les erreurs de livraison et en fournissant un meilleur service à ses clients.
Activité 4 : Différence entre base de données et banque de donnée
Base de données et banque de données : Ces deux termes peuvent être utilisés de manière
interchangeable. Ils désignent tous deux un ensemble organisé de données stockées et
gérées électroniquement.
Exemple : base de données dans le domaine de la filière IMI pourrait être une base de
données d'étudiants. Cette base de données pourrait contenir des informations telles que
le nom des étudiants, leur adresse, leur adresse email, leur numéro de téléphone, ainsi
que des détails sur leur programme d'études, leurs cours actuels, leurs résultats scolaires,
etc.
Cette base de données serait utilisée par le département d'IMI pour gérer les inscriptions
des étudiants, suivre leur progression académique, générer des rapports sur les
performances des étudiants, et faciliter la communication avec les étudiants en leur
envoyant des informations pertinentes par email ou SMS.
En utilisant cette base de données, le personnel du département d'IMI pourrait facilement
accéder aux informations des étudiants, mettre à jour leurs dossiers, et générer des
rapports nécessaires pour le suivi et la gestion efficace des étudiants dans le programme
IMI.
Activité 5 : Rôle, avantages, fonctions
Séquence 1 : Rôle d’une base de données
Le rôle d'une base de données est de stocker et d'organiser des données de manière
structurée pour faciliter la gestion, la recherche et la récupération des informations.
Exemple: dans le domaine de la gestion des étudiants en IMI serait une base de données
qui stocke les informations suivantes : les noms, prénoms, numéros d'étudiant, adresse
e-mail et notes des étudiants pour chaque cours.
La base de données serait organisée en différentes tables. Une table "étudiants"
contiendrait les informations générales sur chaque étudiant, avec des colonnes pour le
nom, le prénom, le numéro d'étudiant et l'adresse e-mail. Une autre table "cours"
stockerait les informations sur chaque cours, avec des colonnes pour le nom du cours et
le nombre de crédits. Enfin, une table "notes" serait utilisée pour enregistrer les notes de
chaque étudiant pour chaque cours, avec des colonnes pour l'ID de l'étudiant, l'ID du
cours et la note.
Cela permettrait à la responsable de la filière IMI de gérer facilement les informations
des étudiants, de rechercher par nom ou numéro d'étudiant, de récupérer les notes de
chaque étudiant pour chaque cours, et d'effectuer des calculs statistiques sur les résultats
des étudiants.
Table "étudiants":
colonne "ID_étudiant" (identifiant unique de l'étudiant)
colonne "nom" (nom de l'étudiant)
colonne "prénom" (prénom de l'étudiant)
colonne "adresse_email" (adresse e-mail de l'étudiant)
Table "cours":
colonne "ID_cours" (identifiant unique du cours)
colonne "nom_cours" (nom du cours)
colonne "nombre_crédits" (nombre de crédits associés au cours)
Table "notes":
colonne "ID_note" (identifiant unique de la note)
colonne "ID_étudiant" (identifiant de l'étudiant associé)
colonne "ID_cours" (identifiant du cours associé)
colonne "note" (note de l'étudiant pour le cours
Séquence 2 : Avantage d’une base de données
Les avantages d'une base de données incluent la centralisation des données, la réduction
de la redondance des données, la cohérence des données, l'amélioration de la sécurité et
de l'intégrité des données, ainsi que l'optimisation des performances.
Les bases de données offrent plusieurs avantages importants, notamment :
1. Organisation des données : Les bases de données permettent de stocker et
d'organiser efficacement de grandes quantités de données, ce qui simplifie la
gestion de l'information.
2. Accès rapide aux données : Les bases de données permettent un accès rapide et
efficace aux données, grâce à des index et des requêtes optimisées.
3. Partage des données : Plusieurs utilisateurs peuvent accéder aux données en
même temps, ce qui facilite le partage d'informations au sein d'une organisation.
4. Intégrité des données : Les bases de données offrent des mécanismes pour
garantir l'intégrité des données, y compris la validation et les contraintes de clé
étrangère.
5. Sécurité : Les bases de données offrent des fonctionnalités de sécurité pour
protéger les données sensibles, notamment l'authentification et l'autorisation.
6. Sauvegarde et récupération : Il est possible de mettre en place des mécanismes
de sauvegarde pour protéger les données contre la perte ou la corruption.
7. Évolutivité : Les bases de données peuvent être mises à l'échelle pour gérer de
plus en plus de données à mesure que les besoins de l'organisation augmentent.
8. Consistance des données : Les bases de données garantissent la cohérence des
données, ce qui évite les erreurs et les incohérences.
9. Redondance réduite : Les données sont stockées de manière centralisée,
notamment la duplication inutile des informations.
10. Reporting et analyse : Les bases de données facilitent la génération de rapports
et l'analyse de données, ce qui est essentiel pour la prise de décision.
11. Conformité aux normes : Les bases de données respectent souvent les normes
SQL, ce qui facilite l'interopérabilité entre les systèmes.
12. Support transactionnel : Les bases de données prennent en charge des
transactions fiables, garantissant la cohérence des données dans des opérations
complexes.
Ces avantages font des bases de données un élément essentiel de la gestion de
l'information dans de nombreuses organisations et applications, des systèmes de
gestion de contenu aux applications d'entreprise en passant par les applications
web et mobiles.
Séquence 3 : Fonctionnalités d’un SGBD
Un SGBD (Système de Gestion de Base de Données) est un logiciel conçu pour gérer et
manipuler des bases de données. Il offre un ensemble de fonctionnalités essentielles
pour assurer la gestion efficace des données. Voici les principales fonctionnalités d'un
SGBD :
1. Stockage des données : Le SGBD stocke les données de manière structurée, ce
qui permet leur organisation logique.
2. Création de base de données : Il permet de créer de nouvelles bases de données,
définir leur structure, et spécifier les schémas de données.
3. Accès aux données : Les SGBD offrent des mécanismes pour accéder aux
données de manière rapide et efficace.
4. Langage de requête : Ils proposent un langage de requête (comme SQL) pour
interagir avec la base de données, ce qui permet d'effectuer des opérations de
lecture, d'écriture, de mise à jour et de suppression de données.
5. Indexation : Les SGBD créent des index pour optimiser la recherche de données,
ce qui permet d'accélérer les requêtes.
6. Sécurité : Ils offrent des mécanismes de sécurité pour protéger les données, y
compris l'authentification, l'autorisation et le cryptage.
7. Intégrité des données : Les SGBD garantissent l'intégrité des données en
imposant des contraintes, telles que les clés primaires et étrangères.
8. Transactions : Ils prennent en charge les transactions, permettant d'assurer la
cohérence des données lors d'opérations complexes.
9. Gestion de la concurrence : Les SGBD gèrent la concurrence lors de l'accès
concurrent à la base de données pour éviter les conflits.
10. Optimisation des requêtes : Ils optimisent les requêtes pour améliorer les
performances et réduire le temps d'exécution.
11. Sauvegarde et restauration : Ils permettent la sauvegarde régulière des données
et la restauration en cas de perte ou de corruption.
12. Réplication et clustering : Certains SGBD offrent des fonctionnalités de
réplication et de clustering pour la haute disponibilité et la tolérance aux pannes.
13. Analyse et reporting : Ils prennent en charge la génération de rapports et
l'analyse de données.
14. Gestion des utilisateurs : Les SGBD permettent la gestion des utilisateurs, des
rôles et des privilèges.
15. Extensibilité : Ils permettent l'extension des fonctionnalités par le biais de
modules ou de plugins.
Ces fonctionnalités sont essentielles pour gérer efficacement les données dans un
environnement professionnel, qu'il s'agisse d'une petite application locale ou d'un
système d'entreprise complexe.
Voici quelques exemples de logiciels de bases de données populaires :
MySQL : Un système de gestion de base de données open source largement utilisé,
souvent associé à des applications web.
PostgreSQL : Un système de gestion de base de données open source connu pour sa
fiabilité, sa conformité aux normes SQL, et sa capacité à gérer des charges de travail
complexes.
Microsoft SQL Server : Un système de gestion de base de données développé par
Microsoft, principalement utilisé dans les environnements Windows.
Oracle Database : Un système de gestion de base de données d'entreprise offrant des
fonctionnalités avancées pour les grandes entreprises.
MongoDB : Une base de données NoSQL orientée document, idéale pour le stockage
de données non structurées ou semi-structurées.
SQLite : Une base de données légère et autonome, souvent utilisée dans des applications
mobiles et embarquées.
Le choix du logiciel de base de données dépend des besoins spécifiques de votre
projet et de vos préférences en matière de fonctionnalités, de performances et de
coûts.
Chapitre II : CONCEPTION D’UNE BASES DE DONNEES
Activité 1 : Analyse conceptuelle
Introduction
L’analyse conceptuelle en base de données est une discipline essentielle de
l’informatique qui vise à comprendre en profondeur la structure, les besoins et les
objectifs d’une organisation ou d’un projet, en vue de concevoir une base de données
efficace. En d’autres termes, il s’agit de décomposer un système complexe en éléments
conceptuels, de les organiser de manière logique et de créer un modèle de données qui
représente de manière logique et créer un modèle de données qui représente de manière
précise et cohérente l’information que l’entreprise ou le projet ; cette phase cruciale
garantit que la base de données sera adaptée aux besoins spécifiques, favorisant ainsi
une gestion efficace des données et une prise de décision éclairée.
Séquence 1 : Recueil d’information
Il consiste à recueillir les documents utilisés dans le système actuel, interviewer les
utilisateurs afin de recenser toutes les informations utiles et les règles de gestion
nécessaires pour concevoir le système futur.
QUELQUES CONCEPTS
La propriété :
La propriété désigne le plus petit élément d’information manipulable par le concepteur
dans le système d’information.
Ex : nom des étudiants, date de naissance
La propriété doit avoir un type : alphabétique, numérique etc.
L’entité :
Une entité est une classe (ensemble) d’objets matériels ou immatériels de même nature
c’est-à-dire ayant des propriétés communes.
Une entité se caractérise par : un nom, des propriétés (au moins une), occurrences
multiples (au moins 2)
<Nom entité>
-propriété-1
--------------
-propriété-n
L’identifiant :
Parmi les propriétés d’une entité une ou plusieurs jouent un rôle important. Celui de
distinguer chaque occurrence de l’entité par rapport aux autres. Cette propriété ou
groupe de propriétés est appelée identifiant.
Nom entité
-Identifiant
-propriété_2
--------------
-propriété_n-
Informations complémentaires :
1. Identification des Utilisateurs : Les utilisateurs peuvent être des employés, des
clients et des gestionnaires. Leurs besoins incluent l'accès aux données
personnelles, la gestion des commandes et le suivi des performances.
2. Types de Données : Nous pouvons stocker des informations telles que les noms,
adresses, numéros de téléphone, historiques de commandes et détails de
paiement.
Exercice : Conception d'un Système d'Information pour une École
Imaginez que vous travaillez sur la conception d'un système d'information pour une
école. Vous devez recueillir des informations auprès des utilisateurs pour concevoir le
nouveau système.
Besoins :
Enseignants : Accès aux emplois du temps, suivi des notes.
Étudiants : Consultation des résultats, inscription aux cours.
Administrateurs : Gestion des inscriptions, suivi financier.
1. Identifiez trois types d'utilisateurs potentiels pour le système d'information de
l'école.
2. Listez au moins cinq types de données que le système devra stocker. Associez
chaque type de données à un exemple concret lié au contexte.
3. Identifiez deux entités principales dans le contexte. Pour chaque entité, listez au
moins trois propriétés. Choisissez une propriété comme identifiant pour chaque
entité.
4. Utilisez le formalisme mentionné pour représenter les entités que vous avez
identifiées. Assurez-vous d'inclure le nom de l'entité, les propriétés et
l'identifiant.
Résultat :
1. Identification des Utilisateurs :
Types d'utilisateurs : Enseignants, Étudiants, Administrateurs.
2. Types de Données :
Noms des étudiants, Numéros d'étudiant, Emplois du temps, Notes, Frais de scolarité.
3. Propriétés, Entités et Identifiants :
Entité 1 : Étudiant
Propriétés : Nom, Numero_etudiant, Date_de_naissance
Identifiant : Numero_detudiant.
Entité 2 : Cours
Propriétés : Cod_cours, Matière, Note
Identifiant : Cod_cours.
4. Formalisme :
Entité Étudiant :
Etudiant
-Numero_etudiant
-Nom
-Date_de_Naissance
Cet exercice illustre comment appliquer les concepts de propriétés, entités et identifiants
dans le contexte spécifique d'un système d'information pour une école.
Exercice : Conception d'un Système d'Information pour une Librairie
Vous êtes chargé de concevoir un système d'information pour une librairie. Recueillez
des informations auprès des utilisateurs pour concevoir ce nouveau système.
Besoins :
Clients : Recherche et achat de livres, suivi des commandes.
Employés : Gestion des stocks, traitement des commandes.
Administrateurs : Suivi financier, gestion des comptes clients.
1. Identifiez trois types d'utilisateurs potentiels pour le système d'information de la
librairie.
2. Listez au moins cinq types de données que le système devra stocker. Associez
chaque type de données à un exemple concret lié au contexte.
3. Identifiez deux entités principales dans le contexte. Pour chaque entité, listez au
moins trois propriétés. Définissez une propriété comme identifiant pour chaque
entité.
4. Utilisez le formalisme pour représenter les entités que vous avez identifiées.
Résultat :
1. Identifiez trois types d'utilisateurs :
Clients
Employés (Vendeurs)
Administrateurs (Gérants)
2. Listez cinq types de données :
- Titre du livre
- Auteur du livre
- ISBN (International Standard Book Number)
- Prix du livre
- Statut de commande (en cours, livrée, annulée)
3. Identifiez deux entités principales :
Entité 1 : Livre
Propriétés : Titre, Auteur, ISBN, Prix, Genre.
Identifiant : ISBN.
Entité 2 : Commande
Propriétés : Numcom, Datecom, Statut.
Identifiant : Numcom.
4. Formalisme pour l'entité Livre :
Livre
-ISBN
-Titre
-Auteur
-Prix
-Genre
Séquence 2 : Dictionnaire des données
Le dictionnaire de données est une composante essentielle dans la conception et la
gestion des bases de données. Il agit comme un guide de référence détaillé, fournissant
une vue complète de la structure et de la signification des données stockées.
1. Définition
Le dictionnaire de données est un document ou un ensemble de documents qui décrit en
détail la structure, l'organisation et les relations des données dans une base de données.
Cette documentation facilite la gestion des bases de données et permet aux
administrateurs et utilisateurs de comprendre facilement la structure de leurs bases de
données.
2. Rôle d’un dictionnaire de données
Le rôle principal d'un dictionnaire de données est de servir de référence complète et
centralisée, documentant tous les aspects importants d'une base de données. Cela inclut
la structure, les relations, les règles et les définitions des données. En résumé, le
dictionnaire de données assure une compréhension commune, facilite la conception,
simplifie la maintenance et contribue à la gestion efficace des bases de données.
3. Objectifs
Fournir une référence centralisée pour comprendre et interpréter les éléments clés
de la base de données.
Faciliter la communication entre les concepteurs, les développeurs et les
utilisateurs.
Assurer la cohérence et la compréhension commune des termes utilisés dans la
base de données.
4. Les éléments d’un dictionnaire de données
Il présente l’ensemble des propriétés utiles du système d’information en précisant
pour chacune son nom, sa signification, son type, sa longueur, sa nature et
éventuellement une observation concernant le format, la règle de calcul ou la limite
des valeurs. Il se présente comme suit :
Le nom
C'est simplement le nom du champ dans une table. Exemple : "Nom_Client".
La signification / désignation
C’est la description ou la signification du champ. Exemple : "Nom du client dans la base
de données".
Le type de données
C’est le format de données que le champ peut contenir, comme texte, nombre, date, etc.
Exemple : "Type de données : Date".
La longueur ou la taille
C’est la quantité maximale de caractères que le champ peut contenir. Exemple :
"Longueur maximale : 50 caractères".
Nature
Indique si le champ est obligatoire, facultatif, ou s'il a une autre caractéristique
particulière. Exemple : "Nature : Elémentaire".
L’observation concernant le format de donnée
Ce sont des informations supplémentaires sur le format ou la structure des données.
Exemple : "Format de date : AAAA-MM-JJ".
Légendes : Natures :
A : Alphabétique E : Elémentaire
AN : Alphanumérique Co : Concaténée
C : Caractère CA : Calculée
N : Numérique
D : Date
L : Logique
Exemple du formalisme du dictionnaire de données :
Nom Signification Type Longueur Nature observation
Numcom Numéro commande AN 6 E <=99999
Datcom Date commande D 6 E JJ/mm/aaaa
Qtecom Quantité commandée N 5 E
Numcli AN 6 E
Nomcli Nom client C 15 E
Adrcli C 20 Co
Priunit Prix unitaire N 6 E
Qtestock N 6 Ca
RefPro Référence produit AN 5 E
Exercice : Conception d'un Système d'Information pour une Boutique
On souhaite automatiser la gestion des produits et des commandes dans une boutique
sachant que :
- tous client est caractérisé par un numéro, un nom, un prénom et une adresse ;
- tous produits est caractérisé par le code du produit, le nom du produit, le prix unitaire
et la quantité en stock ;
- toute commande est caractérisée par le numéro de la commande, la date de la
commande, le montant de la commande.
1. Identifiez les entités principales dans le contexte. Pour chaque entité, listez les
propriétés.
2. Représentez le dictionnaire de données.
Résultat:
1. Entités principales et propriétés :
Entité 1 : Client
Propriétés :
-Numcli
-Nom
-Prénom
-Adresse
Entité 2 : Produit
Propriétés :
-Codpro
-Nompro
-Prix_unit
-Qtestock
Entité 3 : Commande
Propriétés :
-Numcom
-Datecom
-Mont_com
2. Dictionnaire de données
Nom Signification Type Longueur Nature Observation
Exercice : Conception d'un Système d'Information pour une Bibliothèque
L'objectif est de créer un système d'information pour une bibliothèque, en automatisant
la gestion des livres, des emprunts, et des adhérents.
- tous livre est caractérisé par un code, un titre, un auteur et la quantité en stock ;
- tout adhérent est caractérisée par un numéro d’adhérent, un nom, un prénom, une
adresse et une date d’inscription ;
- tous emprunt est caractérisé par le numéro, la date d’emprunt, la date de retour, le livre
emprunté et l’adhérent emprunteur.
1. Identifiez les entités principales dans le contexte. Pour chaque entité, listez les
propriétés.
2. Représentez le dictionnaire de données.
Séquence 3 : Étude des dépendances fonctionnelles
I. Notions des dépendances Fonctionnelles :
Les dépendances fonctionnelles décrivent les relations entre les différentes colonnes
d'une table. Une dépendance fonctionnelle A → B signifie que la valeur de B est
déterminée par la valeur de A. On note A → B, A est la source et B le but.
NB : La source peut être composée de plusieurs propriétés.
Exemple :
Matricule Nom
10 Bio
11 Ali
II. Identification des dépendances Fonctionnelles :
Il est essentiel d'analyser les données et d'identifier les dépendances fonctionnelles qui
existent naturellement entre les colonnes. Par exemple, si vous avez le numéro
d'identification d'un employé, cela peut déterminer son nom.
Exemple : num_emp → nom_emp
III. Notion de dépendance fonctionnelles élémentaire
La notion de dépendance fonctionnelle élémentaire est fondamentale dans la conception
de bases de données relationnelles. Elle se rapporte à la relation entre les valeurs de deux
colonnes dans une table. Une dépendance fonctionnelle élémentaire A → B signifie que
pour chaque valeur unique de A, il y a une correspondance unique dans B.
Par exemple, considérons une table "Employé" avec les colonnes "ID_Employé",
"Nom", et "Numéro de téléphone". Si nous avons une dépendance fonctionnelle
élémentaire "ID_Employé → Numéro de téléphone", cela signifie que pour chaque
employé (identifié par l'ID), il y a un et un seul numéro de téléphone associé.
En d'autres termes, la dépendance fonctionnelle élémentaire assure que chaque valeur
d'une colonne détermine de manière unique une valeur dans une autre colonne, évitant
ainsi les redondances et les anomalies dans la base de données.
Cette notion est cruciale lors de l'étude des dépendances fonctionnelles, car elle permet
de normaliser la base de données, assurant ainsi son intégrité et sa cohérence. La
normalisation consiste à organiser les données de manière à réduire les redondances et
à éviter les problèmes tels que les mises à jour anormales, les insertions anormales, et
les suppressions anormales.
Exercice d’application 1
Considérons une table ‘’Employé’’ avec les colonnes suivantes :
ID Nom Prénom Département Salaire
1 Dupont Pierre Ventes 5000
2 Martin Marie RH 4800
3 Dubois Jacques Ventes 5200
Identifier les dépendances fonctionnelles élémentaires dans cette table
Résultat :
Identification des dépendances fonctionnelles élémentaires dans cette table :
ID -> Nom, Prénom, Département, Salaire
Nom -> Prénom
Département -> Salaire
Exercice d’application 2
Considérons une table ‘’Commande’’ avec les colonnes suivantes :
Numéro_Commande Produit Quantité Prix_unitaire Total
1 Stylo 100 1.50 150
2 Cahier 50 3.00 150
3 Stylo 200 1.50 300
Identifier les dépendances fonctionnelles élémentaires dans cette table
Résultat :
Identification des dépendances fonctionnelles élémentaires dans cette table :
Numéro_Commande -> Produit, Quantité, Prix_unitaire, Total
Produit -> Prix_unitaire
Département -> Salaire