Académique Documents
Professionnel Documents
Culture Documents
Conçu par :
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
• 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 :
12. Évaluation :
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.
• 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.
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.
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.
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.
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.
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.