0% ont trouvé ce document utile (0 vote)
58 vues9 pages

Module 1: Introduction Aux Bases de Données

base de données

Transféré par

Mey Olivier Adokoum
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
58 vues9 pages

Module 1: Introduction Aux Bases de Données

base de données

Transféré par

Mey Olivier Adokoum
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Programme de cours Fondamentaux des bases de données

Objectifs du cours

Ce cours est conçu pour fournir une compréhension solide des bases de données, couvrant à la fois
les concepts théoriques et pratiques. Il aborde les bases de données relationnelles et non
relationnelles, avec une attention particulière aux compétences en SQL et à la conception de
systèmes de gestion de bases de données (SGBD).

Durée du cours : 40 à 60 heures

Module 1 : Introduction aux bases de données (4 heures)

Module 2 : Modélisation des données (8 heures)

Module 3 : Introduction à SQL et manipulation des données (10 heures)

Module 4 : Conception avancée de bases de données (10 heures)

Module 5 : Bases de données NoSQL et introduction au Big Data (6 heures)

Module 6 : Sécurité et intégrité des données (4 heures)

Module 7 : Administration des bases de données (6 heures)

Module 8 : Projets de fin de cours (8 heures)

Ressources pédagogiques

- Livres

- *"Database System Concepts"* par Abraham Silberschatz, Henry Korth, S. Sudarshan.

- *"SQL for Data Scientists"* par Renee M. P. Teate.

- Logiciels utilisés :

- SGBD : MySQL, PostgreSQL, MongoDB.

- Outils d’administration : phpMyAdmin, pgAdmin.

Évaluation

- Contrôles continus : QCM, exercices pratiques.

- Projet final : Réalisation d’une base de données complète avec rapport de conception et
implémentation.

Module 1 : Introduction aux bases de données

Objectifs du module :
À la fin de ce module, les apprenants seront capables de :

 Comprendre les concepts fondamentaux d'une base de données.


 Expliquer le rôle et l'importance d'un Système de Gestion de Base de Données
(SGBD).
 Identifier les différents types de bases de données (relationnelles et non relationnelles).
 Donner des exemples concrets d'applications des bases de données dans divers
domaines.

Plan du module :

1. Définition d'une base de données et d'un SGBD


2. Types de bases de données
3. Historique des bases de données
4. Présentation des systèmes de gestion de bases de données (SGBD)
5. Introduction aux architectures de bases de données
6. Cas d’utilisation des bases de données

1. Définition d'une base de données et d'un SGBD

1.1 Qu'est-ce qu'une base de données ?

Une base de données est un ensemble organisé de données stockées électroniquement qui
permet de gérer et de traiter des informations de manière structurée. Ces données peuvent être
:

 Structurées (sous forme de tableaux avec des colonnes et des lignes dans une base de
données relationnelle).
 Non structurées (comme des fichiers, des images, des documents dans des bases de
données NoSQL).

1.2 Qu'est-ce qu'un SGBD ?

Un Système de Gestion de Base de Données (SGBD) est un logiciel qui permet de gérer
efficacement les bases de données. Il offre plusieurs fonctionnalités clés :

 Création et modification des structures de données (tables, colonnes, etc.).


 Insertion, mise à jour, suppression et consultation des données.
 Sécurisation des données en limitant l'accès aux utilisateurs autorisés.
 Sauvegarde et restauration des données en cas de panne.

1.3 Exemples de SGBD

 SGBD relationnels (SQL) : MySQL, PostgreSQL, Oracle, SQL Server.


 SGBD non relationnels (NoSQL) : MongoDB, Cassandra, Redis.
2. Types de bases de données

2.1 Bases de données relationnelles

Une base de données relationnelle organise les données sous forme de tables qui sont reliées
entre elles par des relations logiques. Chaque table contient des lignes (enregistrements) et des
colonnes (attributs). Ces systèmes suivent le modèle de données relationnel, introduit par
Edgar Codd en 1970.

 Exemples : MySQL, PostgreSQL, Oracle.


 Caractéristiques :
o Organisation stricte avec des schémas prédéfinis.
o Relations entre tables définies par des clés étrangères.
o Supporte des requêtes complexes via SQL (Structured Query Language).

2.2 Bases de données non relationnelles (NoSQL)

Ces bases de données sont adaptées aux données non structurées ou semi-structurées et
permettent une grande flexibilité dans la gestion des données. Elles ne suivent pas le modèle
relationnel et offrent souvent des performances optimisées pour des applications à grande
échelle.

 Exemples : MongoDB (base documentaire), Cassandra (base orientée colonnes),


Redis (base clé-valeur).
 Caractéristiques :
o Flexible en termes de structure des données.
o Conçu pour des applications nécessitant de grandes quantités de données (Big
Data, réseaux sociaux).
o Scalabilité horizontale (facile à distribuer sur plusieurs serveurs).

3. Historique des bases de données

3.1 Premières bases de données

Les premiers systèmes de bases de données ont été développés dans les années 1960 et
utilisaient des modèles hiérarchiques et en réseau pour stocker les données. Ces modèles
étaient rigides et ne permettaient pas facilement d'extraire des informations complexes.

3.2 Invention du modèle relationnel

En 1970, Edgar Codd a proposé le modèle relationnel qui a révolutionné la manière dont les
données sont organisées et manipulées. Ce modèle introduit l’idée d’organiser les données
sous forme de tables interconnectées via des relations.

3.3 Évolution vers NoSQL

Avec l’essor d’Internet et du Big Data, les bases de données relationnelles ont montré des
limites pour gérer des données massives ou très hétérogènes. Les bases NoSQL sont apparues
au début des années 2000 pour répondre aux besoins des applications modernes nécessitant
des structures de données plus flexibles.

4. Présentation des systèmes de gestion de bases de données (SGBD)

4.1 Fonctionnalités principales d'un SGBD

Un SGBD permet de :

 Créer et gérer des bases de données : définir des tables, des colonnes, des relations.
 Manipuler des données : ajouter, mettre à jour, supprimer et rechercher des
enregistrements.
 Gérer l'accès utilisateur : restreindre les droits selon le rôle (administrateur,
utilisateur).
 Assurer l'intégrité et la cohérence des données : contraintes d’intégrité (unicité,
non-nullité), transactions ACID.
 Sauvegarder et restaurer les données pour garantir la persistance en cas de panne.

4.2 Architecture d'un SGBD

L'architecture d'un SGBD se compose généralement des éléments suivants :

 Niveau physique : Gère le stockage des données sur disque.


 Niveau logique : Gère les structures de données et les relations entre elles (tables,
vues, etc.).
 Niveau utilisateur : Interface via laquelle les utilisateurs ou applications interagissent
avec les données.

5. Introduction aux architectures de bases de données

5.1 Architecture centralisée

Dans une architecture centralisée, toutes les données sont stockées sur un seul serveur, et les
utilisateurs ou applications se connectent à ce serveur pour accéder aux données. Ce type
d'architecture est simple mais présente des limitations en termes de performance et de
scalabilité.

5.2 Architecture distribuée

Dans une architecture distribuée, les données sont réparties sur plusieurs serveurs (ou nœuds).
Cela permet une meilleure performance et une meilleure disponibilité, car les données
peuvent être accessibles à partir de plusieurs endroits géographiques. Les bases NoSQL sont
souvent conçues pour fonctionner dans des architectures distribuées.

5.3 Architecture en cloud


De plus en plus de bases de données sont hébergées dans le cloud, permettant ainsi une
meilleure flexibilité et scalabilité. Des services comme Amazon RDS, Google Cloud SQL, et
Microsoft Azure offrent des solutions de bases de données gérées qui permettent de déléguer
une grande partie des tâches d’administration (sauvegardes, mises à jour).

6. Cas d’utilisation des bases de données

6.1 Bibliothèques

Les bibliothèques utilisent des bases de données pour :

 Gérer les livres : informations sur les livres, catégories, disponibilité.


 Suivre les emprunts : historique des prêts, retours, pénalités.
 Gérer les membres : informations personnelles, inscriptions.

6.2 E-commerce

Dans les systèmes de commerce en ligne, les bases de données sont utilisées pour :

 Stocker les informations produits : descriptions, prix, catégories.


 Gérer les commandes : suivi des commandes, paiements, livraisons.
 Suivre les clients : historiques d’achat, préférences, recommandations.

6.3 Secteur bancaire

Les banques dépendent de bases de données pour :

 Gérer les comptes clients : solde, transactions, historique.


 Assurer la sécurité : suivi des accès, protection des données sensibles.
 Gérer les crédits et prêts : suivi des remboursements, calcul des intérêts.

Atelier pratique

1. Installation d’un SGBD :


o Installer un système de gestion de bases de données comme MySQL ou
PostgreSQL.
o Configurer l'environnement de travail (serveur local ou hébergement sur le
cloud).
2. Création d'une base de données simple :
o Créer une base de données basique.
o Créer une table pour un système simple (par exemple, une table pour gérer les
utilisateurs avec des colonnes id, nom, email).
o Insérer des données et les consulter via des commandes SQL basiques
(INSERT, SELECT).
Résumé du module

Ce module offre une vue d’ensemble des bases de données, en introduisant les concepts
fondamentaux, les types de bases de données (relationnelles et NoSQL), ainsi que les
architectures classiques de gestion des données. Il prépare également les apprenants à
l’installation et à la manipulation de bases de données à travers des outils pratiques.

Évaluation : À la fin du module, un court quiz ou une évaluation pratique peut être proposé
pour évaluer la compréhension des concepts clés et la capacité des apprenants à mettre en
œuvre une base de données simple.

INSTALLATION ET CONFIGURATION DE MARIADB SOUS UBUNTU


IMPORTATION DES CLES ( [Link]
config&d=24.04+%22noble%22&v=11.4&r_m=marwan )
Voici les commandes à exécuter pour importer la clé du référentiel MariaDB sur
votre système Ubuntu :
sudo apt-get install apt-transport-https curl
sudo mkdir -p /etc/apt/keyrings
sudo curl -o /etc/apt/keyrings/[Link]
'[Link]

Une fois la clé importée, copiez et collez ce qui suit dans un fichier sous
/etc/apt/[Link].d (par exemple /etc/apt/[Link].d/[Link]):

# MariaDB 11.4 repository list - created 2024-10-19 12:36 UTC


# [Link]
X-Repolib-Name: MariaDB
Types: deb
# [Link] is a dynamic mirror if your preferred mirror goes
offline. See [Link] for details.
# URIs: [Link]
URIs: [Link]
Suites: noble
Components: main main/debug
Signed-By: /etc/apt/keyrings/[Link]

Étape 1 : Mise à jour du système


# sudo apt update
# sudo apt upgrade
Étape 2 : Installation de MariaDB
# sudo apt install mariadb-server
Étape 3 : Vérification de l'installation
# mysql --version
Étape 4 : Sécurisation de l'installation
# sudo mysql_secure_installation
Vous serez invité à répondre à plusieurs questions :
1- Configurer le mot de passe root : Si vous utilisez MariaDB pour
la première fois, vous serez invité à définir un mot de passe pour
l'utilisateur root. Suivez les instructions pour le définir.

2- Supprimer les utilisateurs anonymes : Cela améliore la sécurité


en s'assurant que seuls des utilisateurs authentifiés peuvent se
connecter à la base de données.
3- Désactiver la connexion root à distance : Cela empêche
l'utilisateur root de se connecter à partir d'une machine distante, ce
qui est généralement une bonne pratique.

4- Supprimer la base de données de test : Ceci est également


recommandé pour la sécurité.

5- Recharger les tables de privilèges : Cela permet de s'assurer que


tous les changements que vous avez faits prennent effet.
Étape 5 : Démarrer et activer le service MariaDB
# sudo systemctl start mariadb
# sudo systemctl enable mariadb
Étape 6 : Connexion à MariaDB
# sudo mysql -u root -p
Entrez le mot de passe que vous avez configuré lors de l'exécution de
mysql_secure_installation
Étape 7 : Création d'une base de données et d'un utilisateur
Une fois connecté à MariaDB, vous pouvez créer une nouvelle base de données
et un utilisateur. Voici des exemples de commandes :
1-Créer une base de données :
> CREATE DATABASE nom_de_la_base;

2-Créer un utilisateur :
> CREATE USER 'nom_utilisateur'@'localhost' IDENTIFIED BY
'mot_de_passe';

3- Accorder des privilèges à l'utilisateur sur la base de données :


> GRANT ALL PRIVILEGES ON nom_de_la_base.* TO
'nom_utilisateur'@'localhost';

4- Recharger les privilèges :


> FLUSH PRIVILEGES;

Étape 8 : Quitter MariaDB


Pour quitter l'interface de ligne de commande de MariaDB, tapez :

> EXIT;
Étape 9 : Vérification de l'installation
Vous pouvez également tester votre installation en vous reconnectant à
MariaDB avec le nouvel utilisateur créé :
mysql -u nom_utilisateur -p

Vous aimerez peut-être aussi