Vous êtes sur la page 1sur 11

Cours

Conçu par :

Administration des Bases de


Données Libres

Christian BELINGA
Ingénieur Informaticien, Master en SSN Université de Bourgogne Dijon (ESIREM)
FICHE DE PRESENTATION DE L’UV
1. Intitulé de l’UV : Administration des bases de données libres (Mysql,
PostgreSQL)
2. Public cible : Étudiants en Licence 2 et Licence 3 de l’IAI-CAMEROUN
3. Équipe Pédagogique :
Responsable pédagogique : Madame Belinga Estelle
Concepteur : Monsieur Mekontchou, Monsieur Messio, Monsieur
Boubata, Monsieur Yesibi
Prérequis :
• Avoir des connaissances en bases de données, implémentation
des bases de données
4. Mots clés : administration, SGBD, MYSQL/POSGRESQL, bases de données

5. Matériels et logiciels : Avoir un ordinateur portable avec un client MYSQL


OU POSTGRESQL sous interface graphique
6. Ressources complémentaires :

7. Objectif Général : Administrer de manière intégrale une base de


données libre (Mysql/Postgre)
8. Objectifs spécifiques : A la fin de cet UV l’étudiant doit être capable de :

• Configurer le serveur
• Gérer les vues, les index, les séquences
• Gérer les privilèges et les droits d’accès
• Maitriser le processus de sauvegarde et de restauration
• Connaitre le déploiement du SGBD soit sur Linux, soit sur Windows
9. Durée :

• Volume horaire : 30 heures


• Cours magistral :15 heures
• TD : 5 heures
• TP :10 heures
• Travail de l’étudiant : 1 heure de travail personnel par jour
(Révision du cours + travaux pratiques)
10. Coefficient : 3
11. Méthodologie de travail :
• Cours théoriques
• Travaux pratiques
• Exposés

12. Évaluation :

• Présence au cours 20% (Bonus)


• Étudiants actifs pendant les séances de travail (Bonus)
• Pour des étudiants récalcitrants, des points leur seront retranchés
• L’examen comptera pour 70%

13. Plan du cours :

Chapitre 1 : Généralités sur l’administration des bds


1. Définition
2. Les objectifs d’un SGBD
- Non redondance des données
- Cohérence des données
- Accès aux données
- Sécurité des données
- Partage des données
3. Architecture d’un SGBD
4. Taches d’un administrateur
Chapitre 2 : Administration des bases de données MYSQL

1. Versions et types de licences


2. Les outils d’administration
3. Architecture de Mysql
Gestion des configurations coté serveur
Chapitre I : Généralités sur les Bases de
données

I- Définitions
Une donnée : c’est un élément brut qui n’a pas encore été interprété où mis en
contexte.
C’est un élément fondamental (un fait, une notion, un chiffre, une instruction ou
un indice…) Prélevé à partir d’une expérience. Elle est transformée ou traitée
par un être humain ou par des moyens automatiques. La donnée sert à un
raisonnement ou à une recherche ; pour créer une information.
Une donnée peut être déterminé par :
- Les intérêts des personnes qui la récoltent et la traite.
- Les moyens physiques, institutionnelles, techniques et méthodologique
choisi pour la prélevées.
- Par la destination qu’on envisage lui donner.
Une base de données : c’est un lot d’information centralisé structuré suivant un
modèle et stocker dans un dispositif informatique en vue d’une utilisation locale
ou distante.
Le terme base de données est utilisé pour désigner toute source importante de
données telles qu’une encyclopédie.
Selon le dictionnaire Larousse, l’information est un renseignement ou un élément
de connaissance susceptible d’être représenté sur une forme adaptée à une
communication à un enregistrement ou à un traitement. Elle vient du mot latin
‘’informare’’ qui signifie donner une forme ou bien se faire une idée de. De façon
plus simple l’information peut être vue comme une donnée déjà traitée ou
interprétée.
Un système : est une combinaison de processus destiné à produire un résultat.
Un système d’information : c’est l’ensemble des éléments participant à la gestion
au traitement, au transport et à la diffusion de l’information au sein d’une
organisation. Un système d’information est donc constitué de ressources
matérielles, logiciels, d’intervenants, des procédures et des données.
II- Les Objectifs d’un SGDB
L’administrateur de base de données (DBA : DataBase Administrator en anglais) est une
personne responsable du bon fonctionnement des serveurs de bases de données,
essentiellement relationnelles (OLTP) ou décisionnelles (OLAP), tant au niveau de la
conception des bases, des tests de validation, de la coordination des intervenants, de
l'exploitation, de la protection et du contrôle d'utilisation.

Les bases de données et les systèmes de gestion de bases de données ont été créés pour
répondre à un certain nombre de besoins et pour résoudre un certain nombre de problèmes.
Des objectifs principaux ont été fixés aux systèmes de gestion de bases de données dès
l'origine de ceux-ci et ce, afin de résoudre les problèmes causés par la démarche classique.

Le principal objectif d'un SGBD est d'assurer l'indépendance des programmes aux données,
c'est-à-dire la possibilité de modifier les schémas conceptuel et interne des données sans
modifier les programmes d'applications, et donc les schémas externes vus par ces
programmes. Cet objectif est justifié afin d'éviter une maintenance coûteuse des programmes
lors des modifications des structures logiques (le découpage en champs et articles) et
physiques (le mode de stockage) des données. Plus précisément, on distingue
l'indépendance physique qui permet de changer les schémas internes sans changer les
programmes d'applications, et l'indépendance logique qui permet de modifier les schémas
conceptuels (par exemple, ajouter un type d'objet) sans changer les programmes
d'applications.

Ces objectifs sont les suivants :

• Non redondance des données : Dans les systèmes classiques à fichiers non intégrés,
chaque application possède ses données propres. Cela conduit généralement à de
nombreuses duplications de données avec, outre la perte en mémoire secondaire
associée, un gâchis important en moyens humains pour saisir et maintenir à jour plusieurs
fois les mêmes données. Avec une approche base de données, les fichiers plus ou moins
redondants seront intégrés en un seul fichier partagé par les diverses applications.
L'administration centralisée des données conduisait donc naturellement à la non-
duplication physique des données afin d'éviter les mises à jour multiples. Afin d'éviter les
problèmes lors des mises à jour, chaque donnée ne doit être présente qu'une seule fois
dans la base.
• Cohérence des données : Bien que les redondances anarchiques entre données soient
évitées par l'objectif précédent, les données vues par l'utilisateur ne sont pas
indépendantes. Au niveau d'ensemble de données, il peut exister certaines
dépendances entre données. Par exemple, une donnée représentant le nombre de
commandes d'un client doit correspondre au nombre de commandes dans la base.
Les données sont soumises à un certain nombre de contraintes d'intégrité qui définissent
un état cohérent de la base. Elles doivent pouvoir être exprimées simplement et vérifiées
automatiquement à chaque insertion, modification ou suppression des données.
• Accès aux Données : Les performances en termes de débit (nombre de transactions
types exécutées par seconde) et de temps de réponse (temps d'attente moyen pour
une requête type) sont un problème clé des SGBD. L'objectif de débit élevé nécessite
un overhead minimal dans la gestion des tâches accomplies par le système. L'objectif
de bons temps de réponse implique qu'une requête courte d'un utilisateur n'attende
pas une requête longue d'un autre utilisateur. Il faut donc partager les ressources (unités
centrales, unités d'entrées-sorties) entre les utilisateurs en optimisant l'utilisation globale
et en évitant les pertes en commutation de contextes.
• Sécurité des Données : Cet objectif a deux aspects. Tout d'abord, les données doivent
être protégées contre les accès non autorisés ou mal intentionnés. Il doit exister des
mécanismes adéquats pour autoriser, contrôler ou enlever les droits d'accès de
n'importe quel usager à tout ensemble de données. Les droits d'accès peuvent
également dépendre de la valeur des données ou des accès précédemment
effectués par l'usager. Par exemple, un employé pourra connaître les salaires des
personnes qu'il dirige, mais pas des autres employés de l'entreprise.
D'un autre côté, la sécurité des données doit aussi être assurée en cas de panne
d'un programme ou du système, voire de la machine. Un bon SGBD doit être capable
de restaurer des données cohérentes après une panne disque, bien sûr à partir des
sauvegardes. Aussi, si une transaction commence une mise à jour (par exemple un
transfert depuis votre compte en banque sur celui de l'auteur) et est interrompue par
une panne en cours de mise à jour (par exemple après avoir débité votre compte en
banque), le SGBD doit assurer l'intégrité de la base (c'est-à-dire que la somme d'argent
gérée doit rester constante) et par suite défaire la transaction qui a échoué. Une
transaction doit donc être totalement exécutée, ou pas du tout : il faut assurer
l'atomicité des transactions, et ainsi garantir l'intégrité physique de la base de données.
Les données doivent pouvoir être protégées contre les accès non autorisés. Pour cela,
il faut pouvoir associer à chaque utilisateur des droits d'accès aux données.
• Partage des Données : L'objectif est ici de permettre aux applications de partager les
données de la base dans le temps, mais aussi simultanément. Une application doit
pouvoir accéder aux données comme si elle était seule à les utiliser, sans attendre, mais
aussi sans savoir qu'une autre application peut les modifier concurremment. En
pratique, un utilisateur exécute des programmes généralement courts qui mettent à
jour et consultent la base de données. Un tel programme interactif, appelé transaction,
correspond par exemple à l'entrée d'un produit en stock ou à une réservation de place
d'avion. Il est important que deux transactions concurrentes (par exemple, deux
réservations sur le même avion) ne s'emmêlent pas dans leurs accès à la base de
données (par exemple, réservent le même siège pour deux passagers différents). On
cherchera donc à assurer que le résultat d'une exécution simultanée de transactions
reste le même que celui d'une exécution séquentielle dans un ordre quelconque des
transactions. Il s'agit de permettre à plusieurs utilisateurs d'accéder aux mêmes données
au même moment. Si ce problème est simple à résoudre quand il s'agit uniquement
d'interrogations et quand on est dans un contexte mono-utilisateur, cela n'est plus le
cas quand il s'agit de modifications dans un contexte multi-utilisateurs. Il s'agit alors de
pouvoir :
➢ Permettre à deux (ou plus) utilisateurs de modifier la même donnée "en même
temps” ;
➢ Assurer un résultat d'interrogation cohérent pour un utilisateur consultant une
table pendant qu'un autre la modifie.
III- Architecture d’un SGBD

D'un point de vue opérationnel, un SGBD est un ensemble de processus et de tâches qui
supportent l'exécution du code du SGBD pour satisfaire les commandes des utilisateurs. Depuis
l'avènement des architectures distribuées autour d'un réseau local, les systèmes sont organisés
selon l'architecture client-serveur. L'architecture client-serveur inclut le noyau d'un SGBD tel
que décrit ci-dessus, appelé DMCS (Description Manipulation and Control Sub-system), qui
fonctionne en mode serveur. Autour de ce serveur s'articulent des processus attachés aux
utilisateurs supportant les outils et les interfaces externes.

a) Architecture Monoposte ou monotache


Dans cette architecture, plusieurs utilisateurs du même poste de travail (PC ou serveur)
peuvent accéder à la BD locale à l’aide d’un SGBD. Chaque processus client a un processus
serveur associé. La machine supportant les serveurs doit partager son temps entre eux.

b) Architecture Client-Serveur
➢ Architecture 2-tiers : Aujourd'hui, plusieurs systèmes proposent un serveur multitâche,
capable de traiter plusieurs requêtes d'utilisateurs différents en parallèle. Cela est
réalisé grâce à un multiplexage du serveur en tâches, les commutations de tâches
étant assurées par le serveur lui-même, au niveau d'un gestionnaire de tâches
optimisé pour les bases de données. Une telle architecture multitâche (en
anglais, multithread) permet de meilleures performances en présence d'un nombre
important d'utilisateurs.

Au-delà du multithread, le besoin en performance a conduit à partitionner les


traitements applicatifs de façon à réduire les communications entre client et serveur.
Ainsi, le client peut invoquer des procédures applicatives qui manipulent la base
directement sur le serveur. Ces procédures applicatives liées à la base sont appelées
des procédures stockées. Elles évitent de multiples commandes et transferts de
données sur le réseau. Ceux-ci sont remplacés par l'invocation de procédures
stockées avec quelques paramètres et la transmission des paramètres retour.
L'architecture obtenue permettant deux couches de traitements applicatifs est
appelée architecture à deux strates (two-tiered architecture).

➢ Architecture 3-tiers : Dans cette architecture, l'application client et le serveur de BD


sont séparées. Le client exécute l'application client pour accéder aux informations
de la BD. Le serveur gère les fonctions requises pour un accès simultané et partagé
des utilisateurs de la BD. Avec l'apparition d'Internet et du Web, les architectures
client-serveur ont évolué vers des architectures à trois strates (three-tiered
architecture). Le client est responsable de la présentation. Il utilise pour cela
des browsers Web. Le serveur d'application exécute le code applicatif essentiel. Le
serveur de données supporte le SGBD et gère éventuellement des procédures
stockées.
L'architecture client-serveur est aujourd'hui bien adaptée aux systèmes répartis
autour d'un réseau local et/ou d'Internet. Elle permet à de multiples postes ou
stations de travail distribués sur la planète de partager les mêmes données. Celles-ci
sont gérées de manière fiable et avec de bons contrôles de concurrence au niveau
du serveur. Un processus client sur la station de travail ou l'ordinateur personnel gère
les applications de l'utilisateur qui émettent des requêtes au serveur. Un client peut
même invoquer plusieurs serveurs : on parle alors d'architecture client-multiserveur.
L'inconvénient, mais aussi l'avantage, du client-serveur est de centraliser la gestion
des données au niveau du serveur.

IV- Taches d’un Administrateur de Base de Données


Les 6 principales responsabilités d’un administrateur de base de données :

a) Installation et Maintenance
Un administrateur de bases de données apporte son aide lors de l'installation et la
configuration d'une nouvelle base de données. L'administrateur configure le matériel et
déploie le système d'exploitation puis le DBA installe le logiciel de base de données et le
configure pour utilisation. Le DBA s’occupe également de la maintenance continue de la
base de données en mettant à jour les correctifs nécessaires.
Dans le cas de l’installation d’une nouvelle base de données, le DBA gère le transfert des
données du système existant vers la nouvelle plate-forme.

b) S'assurer que la base de données est opérationnelle en


permanence
Les bases de données d'aujourd'hui peuvent être massives et contenir des types de
données non structurées telles que des images, des documents ou des fichiers son et vidéo.
La gestion d'une très grande base de données peut nécessiter des compétences de plus
haut niveau ainsi qu'une surveillance et des réglages supplémentaires pour maintenir son
efficacité.

L'optimisation proactive est une attitude qui consiste à prévoir la performance dans une
application dès le début, plutôt que d'attendre que des problèmes surviennent. Il faut
travailler en étroite collaboration avec les développeurs d'applications qui s'exécutent dans
la base de données pour s'assurer que les meilleures pratiques sont suivies afin d'obtenir un
bon rendement.

c) Sauvegarde et restauration de bases de données


Les administrateurs de bases de données créent des plans et des procédures de
sauvegarde et de récupération et s'assurent que les étapes nécessaires sont suivies. Les
sauvegardes sont un processus coûteux et long. Le DBA peut avoir à persuader la direction
de prendre les précautions nécessaires pour préserver les données. Les administrateurs de
base de données ou d'autres membres du personnel peuvent créer les sauvegardes, mais il
incombe à l'administrateur de base de données de s'assurer que tout est fait dans les délais
prévus.

En cas de panne ou de perte de données, le DBA utilisera les sauvegardes existantes pour
restaurer les informations perdues dans le système. L'administrateur de base de données doit
être préparé à toute éventualité, car différents types de défaillances peuvent nécessiter des
stratégies de restauration.

d) Garantir la sécurité des données


Parce que les bases de données centralisent les données d’une entreprise, elles sont des
cibles attrayantes pour les hackers et même pour les employés curieux. Un administrateur de
base de données doit connaître les faiblesses potentielles du logiciel de base de données et
du système global de l'entreprise et s'efforcer de minimiser les risques. Aucun système n'est
totalement à l'abri des attaques, mais la mise en oeuvre des meilleures pratiques peut
minimiser les risques.

Les trois tâches de sécurité de base de données sont :

➢ L’authentification (création de comptes utilisateurs pour contrôler les connexions


à la base de données),
➢ L’autorisation (définition des permissions sur diverses parties de la base de
données)
➢ L’audit (suivi de qui fait quoi avec la base de données).

e) Planification des capacités


L'administrateur de base de données doit connaître la taille actuelle de la base de
données et sa vitesse de croissance afin de pouvoir faire des prévisions sur les besoins futurs.
Si l'entreprise se développe rapidement et qu’il est nécessaire d’ajouter de nombreux
nouveaux utilisateurs, le DBA devra créer la capacité nécessaire pour faire face à la charge
de travail supplémentaire ou éventuellement envisager de changer de solution.

f) Surveillance du rendement
La surveillance des bases de données pour les questions de rendement fait partie de la
maintenance continue du système qu'effectue un administrateur de bases de données. Si
une partie du système ralentit le traitement, le DBA peut avoir besoin de modifier la
configuration du logiciel ou d'ajouter une capacité matérielle supplémentaire.

Vous aimerez peut-être aussi