Prof : MVIBUNDULU Gaëtan
Tel : (+242) 05 322 1067 / 06 910 3715
E-mail :
[email protected]Développeur / Consultant en informatique
Généralité sur la base de données
*Définition
La base de données n’est qu’un ensemble d’informations/données structurées, sécurisées et
organisées. Pour le stockage et la manipulation de ces dernières, on fait appel aux systèmes de
gestions de base de données soit le SGBD.
*Fonctionnalités d'une base de données
Actuellement, les bases de données offrent des fonctionnalités permettant une gestion simple
et rapide des données. Voici donc quelques fonctionnalités :
Stockage structuré des données : Bah ! Les bases de données nous aident donc à
sauvegarder ou stocker les données de façon structurée dans des entités ou modèle
Accès, récupération et manipulation rapides des données : elles nous facilitent
l’accès et la manipulation des données dont : l’ajout, la mise à jour et la suppression
via des attributs et autre
Interrogation des données (requêtes) : les bases de données nous permettent via des
requêtes d’interroger et d’avoir accès aux données.
Sécurité des données : le système d’authentification, le contrôle des accès(les droits
ou rôles) et le chiffrement des données que fournissent la base de données montrent
combien de fois les données sont sécurisées.
Intégrité des données : les bases de données veillent à ce que les données soient
toujours exactes et cohérentes. Cela est possible grâce aux contraintes d’intégrités
comme la clé primaire, la clé étrangère et autres.
Gestion des transactions : les base de données lors de la gestion de données,
acceptent le regroupement de plusieurs opérations en une seule unité logique de
travail. Ce qui fait que, si l’une des opérations échouait, Eh Beih, toutes les opérations
réalisées(lancées) ne seront pas appliquées.
Concurrence et accès simultané : les bases de données acceptent l’option de
multiutilisateurs c’est-à-dire plusieurs utilisateurs peuvent au moment se connecter à
la base de données et effectuer des opérations
Sauvegarde et restauration des données : les base de données permettent de
sauvegarder des données et, de les restaurer en cas de défaillance du système. Tout
ceci pour empêcher l’arrêt du fonctionnement des opérations
Évolutivité : les base de données sont dynamiques et donc peuvent évoluer sans
problèmes en fonction de la taille des données
Automatisation et triggers : les base de données acceptent la création des
déclencheurs. En fait, il s’agit juste de l’exécution automatique de certaines opérations
spécifiques suite à une action donnée
United we stand divided we fall / Time and tide wait for no man
Année Académique : 2024-2025
Prof : MVIBUNDULU Gaëtan
Tel : (+242) 05 322 1067 / 06 910 3715
E-mail : [email protected]
Développeur / Consultant en informatique
*Types de bases de données
Jusqu’à présent, on ne cesse de parler de la base de données, vous vous posez certainement
plusieurs questions. Eh Beh, il est temps d’avoir une idée sur le nombre de base de données
qui existe. Bah, il y en a plusieurs soit :
Base de données relationnelle (SQL) : pour structurer ses données celle-ci utilise les
tables(entités),
Base de données NoSQL : cette dernière n’est pas relationnelle, elle utilise des
documents, des graphes ou des colonnes, pour stocker les données(MongoDB,
Cassandra, Redis)
Base de données orientée objet : celle-ci se base sur les objets de la POO, pour
stocker et manipuler les données(ObjectDB)
Base de données distribuée : Les données sont stockées sur plusieurs serveurs ou
sites géographiques distincts. Cela permet une redondance des données et une plus
grande disponibilité( Apache Cassandra, Google Bigtable)
Base de données en mémoire : celle-ci stocke les données sur la mémoire RAM et
donc ces dernières sont volatiles( Redis, Memcached)
N.B: En résumé, une base de données est un outil essentiel pour gérer et organiser les données
de manière efficace, sécurisée et fiable, avec des fonctionnalités avancées adaptées aux
besoins modernes d'accès rapide, de sécurité et de traitement simultané
*Architecture logiques et SGBD
L’architecture logique et SGBD permettent de gérer, organiser et structurer les informations
de façon efficace
Architecture logique d’une base de données cette dernière se concentre sur l'organisation et la
structuration des données sans se soucier de la façon dont elles sont physiquement stockées.
Elle est constituée de :
Modèles de données : le modèle relationnel, les modèles orientés objet, hiérarchiques,
ou en graphe. Ils définissent la structure des données, comme les tables, les attributs,
et les relations entre elles
Schéma logique : celui-ci inclut les tables, les colonnes, les relations, les clés
primaires et étrangères. Elle permet d'assurer l'intégrité des données et de gérer les
redondances
Contraintes d’intégrité : imposition des règles pour assurer la cohérence des données
via les Clés primaires, clés étrangères, Contraintes de validation(généralement pour les
mots de passes)
United we stand divided we fall / Time and tide wait for no man
Année Académique : 2024-2025
Prof : MVIBUNDULU Gaëtan
Tel : (+242) 05 322 1067 / 06 910 3715
E-mail : [email protected]
Développeur / Consultant en informatique
Vues : elles sont des représentations logiques de données basées sur des requêtes SQL,
elles masquent la complexité(comme des tables), simplifient l’accès aux données,
assurent également la sécurité de ces dernières
Procédures Stockées et Triggers
*S.G.B.D(Système de Gestion de Base de Données)
Le SGBD est un logiciel qui permet de créer, gérer et manipuler les données. Il nous aidera à
organiser, stocker et sécuriser les données. Cela dit, il nous fournit des outils pour nous faciliter
l’interrogation, l’insertion, la mise à jour et la suppression des données au sein d’une base de données.
Pour faire simple, un SGBD est responsable de la gestion des bases de données et de l'interaction entre
les utilisateurs ou applications et les données.
*Les principales fonctionnalités d'un SGBD
Ce dernier a plusieurs fonctionnalités dont :
Création de bases de données et de tables : Création de la structure pour organiser les
données sous forme de tables
Insertion, modification et suppression des données : Permet d'ajouter, mettre à jour et
supprimer des informations dans les tables.
Langage de requêtes : Le SGBD utilise un langage de requête, le plus souvent SQL
(Structured Query Language), pour interroger la base de données et y effectuer des opérations.
Contrôle d'accès et sécurité : Il gère l'authentification des utilisateurs et contrôle les droits
d'accès (qui peut lire, écrire ou modifier quoi).
Gestion de la cohérence et de l'intégrité des données : Assure que les données respectent les
règles d'intégrité (par exemple, pas de doublons ou de valeurs erronées) et garantit la cohérence
des données
Sauvegarde et récupération : Permet de sauvegarder les données et de les restaurer en cas de
perte ou de défaillance.
Optimisation des requêtes : Le SGBD analyse et optimise les requêtes pour les rendre plus
efficaces en termes de temps d'exécution.
United we stand divided we fall / Time and tide wait for no man
Année Académique : 2024-2025
Prof : MVIBUNDULU Gaëtan
Tel : (+242) 05 322 1067 / 06 910 3715
E-mail : [email protected]
Développeur / Consultant en informatique
*Types de SGBD
Dans le cadre de notre formation, nous n’allons-nous appuyer sur les SGBD relationnels. Ici
les données sont organisées en tables avec des lignes et des colonnes. Les relations entre les
différentes tables sont établies via des clés primaires et étrangères.
Exemple : MySQL(le plus populaire), PostgreSQL, Oracle, Microsoft SQL Server, SQLite(le plus
utilisé dans les applications mobiles ou embarquées)
Algèbre relationnelle
Celle-ci est un cadre théorique qui permet de manipuler des relations dans une base de données
relationnelle. Elle définit plusieurs opérations permettant d'interroger et de manipuler des données
stockées dans des tables, afin de produire d’autres tables en fonctions de critères définis. Les relations
en algèbre relationnelle sont généralement représentées sous forme de tables, où chaque ligne de la
table correspond à un enregistrement et chaque colonne à un attribut ou champ de la table.
Ce chapitre est à revoir
Langage Relationnel (SQL)
Le SQL (Structured Query Language) est le langage utilisé pour interagir avec une base de
données relationnelle. SQL permet de définir, manipuler et interroger les données. Il se divise
en plusieurs catégories de commandes :
*Commandes pour définir la structure de la base de données(DDL (Data Definition
Language)) :
CREATE : Pour créer une table, une vue, un index, etc.
ALTER : Pour modifier la structure d'une table existante (ajouter ou supprimer des
colonnes, par exemple)
DROP : Pour supprimer une table, une base de données, ou d'autres objets
*Commandes pour manipuler les données(DML (Data Manipulation Language)) :
SELECT : Pour interroger les données.
INSERT : Pour ajouter des enregistrements dans une table.
UPDATE : Pour mettre à jour des enregistrements existants.
DELETE : Pour supprimer des enregistrements.
*Commandes pour contrôler l'accès aux données(DCL (Data Control Language)) :
GRANT : Pour accorder ou attribuer des privilèges aux utilisateurs.
REVOKE : Pour révoquer ou retirer des privilèges.
United we stand divided we fall / Time and tide wait for no man
Année Académique : 2024-2025
Prof : MVIBUNDULU Gaëtan
Tel : (+242) 05 322 1067 / 06 910 3715
E-mail :
[email protected]Développeur / Consultant en informatique
*Commandes pour gérer les transactions( TCL (Transaction Control Language)) :
COMMIT : Pour valider une transaction des données
ROLLBACK : Pour annuler une transaction des données en cours.
*Avantages du Modèle Relationnel
Simplicité : Le modèle relationnel est basé sur des tables simples, ce qui le rend facile
à comprendre et à utiliser.
Flexibilité : Il permet d’ajouter, de modifier ou de supprimer des données et des
structures sans affecter l’ensemble du système.
Intégrité des données : Grâce aux contraintes (clés primaires, étrangères, etc.), le
modèle assure l’intégrité des données.
Indépendance des données : Les utilisateurs peuvent interroger et manipuler les
données sans se soucier de leur stockage physique.
Le langage relationnel
Proposé par Edgar F. Codd en 1970, le langage relationnel en base de données utilise le
modèle relationnel pour organiser, manipuler et interroger les données dans une base de
données. Il repose sur une représentation des données sous forme de relations (tables) et sur
des règles qui permettent de définir et de manipuler ces tables. Le modèle relationnel a été et
il est devenu la base des systèmes de gestion de bases de données relationnelles (SGBDR),
tels que MySQL, SQLite, Oracle, SQL Server, etc.
*Concepts Clés du Modèle Relationnel
Relation ou Table : Une relation est une entité dans laquelle les données sont
organisées en lignes et colonnes. Chaque ligne représente un enregistrement (ou tuple)
et chaque colonne représente un attribut (ou champ).
Attribut (Colonne) : Chaque attribut représente une propriété ou un caractéristique ou
encore un champ d'une entité. Par exemple, dans une table Etudiant, des attributs
pourraient être "Nom", "Prénom", "Âge", "Option", etc.
Tuple (Enregistrement) : Un tuple est une ligne d'une table. Par exemple, une ligne
dans la table des Etudiant pourrait contenir des valeurs spécifiques pour chaque
attribut : ("LOUMBANGOU", "Gloire", "MQHSE").
Clé primaire (Primary Key) : Il s'agit d'un attribut (ou d'un ensemble d'attributs)
dont les valeurs sont uniques pour chaque ligne(enregistrement) d'une table. La clé
primaire permet d'identifier de manière unique chaque tuple(enregistrement) dans une
relation(table).
United we stand divided we fall / Time and tide wait for no man
Année Académique : 2024-2025
Prof : MVIBUNDULU Gaëtan
Tel : (+242) 05 322 1067 / 06 910 3715
E-mail : [email protected]
Développeur / Consultant en informatique
Clé étrangère (Foreign Key) : C'est un attribut dans une table qui fait référence à la
clé primaire d'une autre table. Elle permet de créer une relation entre deux tables et
assure l'intégrité référentielle (c'est-à-dire que les données sont cohérentes entre les
tables liées).
*Relation entre tables
Les relations entre les tables peuvent être de différents types :
Un-à-un : Une ligne dans une table est associée à une seule ligne(enregistrement)
dans une autre table(relation)
Un-à-plusieurs : Une ligne(enregistrement) dans une table(entité) est associée à
plusieurs lignes dans une autre table.
Plusieurs-à-plusieurs : Plusieurs lignes dans une table peuvent être associées à
plusieurs lignes dans une autre table (souvent géré par une table de jonction)
N.B : l’établissement des relations entre tables(entités) avec les méthodes d’analyse comme
merise, UML,…
United we stand divided we fall / Time and tide wait for no man
Année Académique : 2024-2025