Vous êtes sur la page 1sur 15

ADMINISTRATION DES BASES DE DONNEES

Objectif général : administrer de manière intégrée une BD libre.


Objectifs spécifiques :
- Configurer les serveurs SGBD.
- Gérer les vues, les indexes, les séquences.
- Gérer les privilèges et les droits d’accès ;
- Maîtriser le processus de sauvegarde et de restauration ;
- Connaître le déploiement du SGBD soit sur Linux, soit
sur Windows.

PLAN DU COURS :
CHAP 1 : GENERALITES SUR L’ADMINISTRATION DES BD

1.1- Définitions
Base de données : ensemble de données organisées et structurées sur un support
permanent qui modélisent un univers réel, et dans laquelle il est possible de les
stocker, afin de consulter, et de modifier leur contenu facilement. Elle est
accessible par différents programmes et des utilisateurs.

Administration des BD : action de gérer et d’interagir avec une BD, à travers un


logiciel permettant d’effectuer des opérations, appelé SGBD.

1.2- Objectifs d’un SGBD

SGBD : logiciel de gestion de données stockées dans le contenaire (BD).


Ses objectifs sont :
- Gérer la structure physique des données.
- Gérer la structure logique des données (table, relations)
- Gérer l’intégrité des données (cohérence et accès
simultané aux données)
- Gérer la sécurité des données ( contrôle la disponibilté en
accordant les privilèges d’accès aux utilisateurs avec le
LCD : langage de définition des données)

Types de SGBD
- Le SGBD hiérarchique : DL1
- …réseau : TDMS
- …relationnel : oracle, MySQL, Postgre, Microsoft SQL
- …relationnel objet : oracle version évoluée
- …objet

1.3- Architecture d’un SGBD

Architecture client-serveur.

Requête
Client Serveur
Application utilisateur Réponse SGBD

Figure 1.1 illustration architecture client-serveur

On a 2 types d’architectures client-serveur


• Architecture client-serveur à 2 niveaux (2 tiers 2/3)
• …à 3 niveaux (3 tiers 3/3)

Les 3 principaux composants des SGBD :

- La logique de présentation : présentation des données à


l’écran via l’interface utilisateur et l’interaction avec ces
derniers.
- La logique applicative : prise en charge des traitements à
effectuer dans l’application.
- La logique d’accès aux données : exécution des requêtes
par le SGBD, pour fournir à la logique applicative les
données dont elle a besoin.

Figure 1.2. Architecture client-serveur 2/3

Figure 1.3. Architecture client-serveur 3/3


Avantages et inconvénients.

Caractéristiques 2/3 Caractéristiques 3/3


Gestion de données décentralisée. Données centralisées, donc meilleur accès
aux données, avec célérité.
Administration plus fastidieuse, car il
faut configurer chaque machine. Meilleure sécurité sur le plan interne et
externe.
Meilleure sauvegarde des données,
Maintenance plus coûteuse.
administration plus facile.
Meilleure maintenance matérielle et
logicielle, car uniquement le serveur
d’application est mis à jour.

1.4- Les tâches d’un administrateur

Les personnes intervenantes dans l’admin des BD :


• L’utilisateur final : élément central, car la BD est
conçu pour lui.
• Le concepteur de la BD : définit l’architecture
physique et logique de la BD.
• Le développeur d’application : code l’application
que l’utilisateur utilisera pour accéder à la BD .
• L’administrateur de BD : gère les utilisateurs, et
les données stockées. Il garanti donc la sécurité
des données afin de minimiser les risques
d’attaque par les hackeurs et les employés
malveillants. Ceci à travers l’authentification
(création des comptes utilisateurs), l’autorisation
(définit les privilèges ou droits d’accès), l’audit
(contrôle en permanence qui fait quoi dans la
BD). Aussi, il planifie les capacités, en faisant
des prévisions sur des besoins futurs en ayant
connaissance de la taille actuelle de la BD et de
sa vitesse de croissance ; il assure la sauvegarde
et la restauration grâce à une politique bien
établie et devant être respectée. Il assure la
disponibilité des données (un serveur de BD peut
échouer en raison des facteurs environnementales
comme la température, l’énergie, des pannes
logiciels, des interruptions de la connectivité du
réseau, des interventions naturelles comme les
intempéries, souris ou personne malveillante). Il
s’assure du rendement continu en modifiant la
configuration du logiciel, ajouter une capacité
matérielle supplémentaire s’il se rend compte
qu’une partie du système ralenti le traitement.
CHAP 2: ADMINISTRATION DES BD MY SQL

2.1- Definition
My SQL : système de gestion des BD relationnelles, distribué sous double licence
GPL et Propriétaire, crée par l’entreprise My SQL AB, co-fondée en 1995 par
MICHAEL WIDENIUS, DAVID AXMARK et ALLAN LARSEAN. En 2008,
l’entreprise est achetée par SUN MICROSYSTEMS, et en 2009 SUN
MICROSYSTEMS est acquis par ORACLE CORPORATION qui possède 2
produits concurrent : MY SQL et ORACLE DATABASE.
En 2009, les créateurs de My SQL ont crée un autre SGBDR, Maria DB, pour
continuer son développement en tant que projet OpenSource, compatible 100%
avec MySQL sous licence GPL.

2.2- Versions et types de licence

• Versions
C’est chacun des états d’un logiciel ayant subit des modifications. Garder une
version My SQL à jour permet d’éviter les failles de sécurité, profiter les derniers
progrès ce qui eepermet d’augmenter la production et corriger les bugs mineurs
ou majeurs déjà rencontrés ou non, et gagner en temps sur les bugs évitables dans
l’avenir.

Quelques versions de My SQL :


My SQL version 3.19 à 3.23 (1996- 2001).
My SQL version 4 à 4.1 (2003- 2004).
My SQL version 5.0 à 5.7 (2005- 20015).
My SQL version 8.0 à 8.x (2018- à nos jours).
Connaître sa version My SQL :
En ligne de commande, ouvrir le terminal du serveur MYSQL sous linux ou
Windows, et taper la commande MYSQL -V.
Via PHP MyAdmin, une fois connecté, une boîte de dialogue s’affiche « serveur
de BD » ou « DATABASE SERVER », sur la partie droite de l’écran ; on y
trouvera la version de MySQL.

Mettre à jour sa version de MYSQL :


Sous linux, on utilise le terminal Linux, et on tape la commande « Sudo apt -get
Update » ; nécessité de connaître son mot de passe « root ». Si la commande
précédente ne fonctionne pas, on essaye « Sudo apt -get install MySQL – server »
Sous Windows, le plus simple est de passer par le terminal linux, qu’on acquière
en installant le logiciel putty, puis on tape les mêmes commandes.
• Licence
C’est un contrat sous forme de document textuel entre le développeur de
l’application, son code source sous-jacent et son utilisateur final, afin de protéger
la propriété intellectuelle du développeur, du logiciel, et limiter toute réclamation
à son encontre pouvant découler de son utilisation.
Types de licences :
Licence libre / Opens Source : selon RICHARD STALLMAN, c’est un logiciel
constitué de 4 libertés : liberté d’exécuter le programme pour tous les usages,
liberté d’étudier le fonctionnement du programme, et de l’adapter à ses besoins,
liberté de redistribuer des copies, liberté d’améliorer le programme. Selon lui, la
différence fondamentale entre les licences libre et les licences opens source est
dans leur philosophie : « l’open source est une méthode logique de
développement, le logiciel libre est un mouvement social ».
Pour qu’un logiciel soit qualifié d’Open source, il doit respecter ces 10
conditions :
- La distribution libre.
- Le programme est distribué avec le code source.
- La licence autorise les modifications, les programmes
dérivés, et la redistribution sous les mêmes termes que la
licence du logiciel original.
- Pour des raison d’intégrité du code, la licence doit exiger
que les œuvres dérivées portent un nom ou un numéro de
version différentes de ceux du logiciel original.
- Pas de discrimination de personne ou groupe de personne
par la licence.
- Aucune interdiction d’utiliser le programme dans un
domaine d’activité spécifique.
- Les droits relatifs au programme s’appliquent à tout ceux
à qui il est redistribué, sans obligation pour eux d’obtenir
une licence supplémentaire.
- La licence ne doit pas être spécifique à un produit.
- La licence ne doit pas imposer des restrictions sur
d’autres logiciels distribués avec le logiciel sous licence.
- La licence ne doit pas dépendre d’une autre.

Types de licences Open Source / Libres :


- Copyleft : autorisation donnée par un auteur du logiciel,
d’utiliser, d’étudier, de modifier et de diffuser son
programme. On a : le copyleft fort ou strict, où le logiciel
et ses composants modifié ou non ne peuvent être
redistribués que sous licence initiale ; le copyleft faible
ou standard, dans lequel le logiciel modifié ou non et ses
composants ne peuvent être redistribué que sous licence
initiale, mais de nouveaux composants peuvent être
ajoutés et redistribués sous une autre licence. Ex : licence
MPL (Mozilla, DSL, GNU).

- GPL ou GNU GPL (GYEONSANG NATIONAL


UNIVERSITY / GENERAL PLUBIC LICENCE) :
licences recommandées pour rendre le code accessibles
et réutilisables. Elles bénéficient d’un copyleft fort. Ex :
LGPL, AGPL.

- La licence MIT (MASSACHUSSETTS INSTITUTE


OF TECHNOLOGY) : licence avec peu d’obligation à
l’utilisateur, comparé au copyleft. La redistribution du
programme modifié n’est pas soumise à une licence
spécifique. Elle est compatible avec de très nombreuses
licences, notamment GNU GPL. Ex : licence Expat,
licence X11.

- License BSD (BERKELEY SYSTEM


DISTRIBUTION): ressemble à la licence MIT, elle est
permissive, sans copyleft. Ex : licence Apache, licence
Free BSD.

NB : une licence libre est forcément Open source ; une


licence libre ou Open Source n’est pas forcément gratuite.

Licence Propriétaire : licence non libre, elle n’exerce pas les 4 libertés
logicielles. Des limitations légales permises par les droits d’auteurs sont établies
par les ayant droits et s’appliquent au logiciel et sont encadrés par un contrat de
licence utilisateur final (CLUF), nommé licence propriétaire. Les licences CLUF
ne sont pas forcément payantes. Ex : MICROSOFT (payant) ; SKYPE (gratuit)
WINDOW MEDIA PLAYER (produit propriétaire mais gratuit).

2.3- Les outils d’administration

Le choix de l’outil d’administration s’appuie sur les critères suivants :


- Le type de licence ;
- Payant ou gratuit ;
- Des BD prises en charge ;
- Capacité d’importer / exporter des données ;
- Type de langue de traduction ;
- Accessibilité depuis un navigateur web ;
- Administration de plusieurs serveurs ;
- Tableau de bord visuel ;
- Surveillance des instructions SQL ;
- Fonctionnalités de sauvegarde automatique ;
- Facilité d’installation ;
- Système d’exploitation pris en charge ;

Quelques outils d’administration existants :


Nom outil Type de S. E SGBD Payant /
d’administration licence Gratuit
Page Admin4 Open source Windows/ Postgre SQL Gratuit
Linux / Mac
OS
Administrateur Open source -//- Plusieurs Payant
SGBD :
MYSQL et
Postgre

DbVisualizer Open source -//- Plusieurs Payant


SGBD :
MYSQL

PHP My Open source -//- MYSQL, Gratuit


Admin Maria DB

Quest Propriétaire -//- Microsoft Payant


SQL Server

Ms Access Propriétaire Windows MySQL Payant

2.4- Architecture MYSQL

Décrit la relation entre les différents composants de MYSQL : Architecture


client – serveur 3 tiers avec les couches suivantes : la couche client, la
couche serveur, la couche de stockage.

Couche client Connexion – Authentification - Sécurité

Traitement des Threads

Couche serveur
Query Analyser Metadata
cache cache

Buffer & Optimizer Key


cache cache

Couche de
stockage Inno DB My ISAM NDB MERGE Memory
➢ La Couche client : elle gère la connexion entre le client et le serveur. Son
client obtient une fois qu’il a émis une demande, son propre thread et ou sa
connexion ; ceci via l’interface en ligne de commande MYSQL, l’interface
graphique (MYSQL QUERY BROWSER) ou l’interface web (PHP MY
ADMIN). Elle gère également l’authentification en fournissant le nom et le
mot de passe de l’utilisateur. Enfin, elle gère la sécurité en ceci qu’après
l’authentification, le serveur vérifie que le client a des privilèges pour
exécuter certaines requêtes.

➢ La couche serveur : analyse, optimise et gère les requêtes soumises au


serveur. Elle permet :

- Le traitement des threads : chaque connexion au serveur


est un thread auquel le serveur MYSQL associe les
tampons dans la mémoire.
- Analyser : elle effectue l’analyse syntaxique de la
requête. Cela peut se conclure par des techniques
d’optimisation tels que la réécriture de la requête, l’ordre
de balayage des tables, le choix de l’index à utiliser.
- Query Cache : elle stocke le jeu de résultat complet pour
l’instruction de la requête entrée ; si la requête écrite par
le client est identique dans le cache, le serveur ignore
simplement l’analyse, l’optimisation et même
l’exécution.
- Buffer cache : stocke en mémoire tampon la demande
précédemment posée par l’utilisateur.
- Meta-Data cache : zone de mémoire réservée utilisée
pour le suivi des informations sur la BD, les indexes ou
les objets.
- Key cache : entrée d’indexes qui identifie les données de
manière unique d’un objet dans un cache.

➢ La couche de stockage : plusieurs types de moteur de stockage sont


utilisés selon les situations et les exigences. Ce qui différencie MYSQL et
les autres SGBDR. Parmi ces moteurs on a : MY ISAM, Memory, NDB,
Merge…
le choix du moteur de recherche se base sur 2 points : Transactionnel oui
ou non, type de verrouillage ligne ou table.
Comparaison entre Inno DB et MyIsam

Transactionnel Verrouillage

Inno DB OUI Ligne

MyISAM NON Table

2.6- Démarrage et arrêt d’un serveur


Aller à l’invite de commandes Windows ou Linux, puis insérer le chemin
d’accès du serveur contenant MYSQL, et enfin, ajouter la commande
« mysqld » (sous Windows) ou « Sudo mysqld » (Linux)
TAF : accéder et démarrer le serveur MYSQL et définir le chemin d’accès
au serveur.

2.7- Changement de version, Migration


Migration : passer d’une version moins récente, à une version plus récente.

Pour effectuer une migration, on procède comme suit :


- Créer une nouvelle BD dans la nouvelle version de
MYSQL
- Migrer le contenu de l’ancienne base de données vers la
nouvelle, pour cela, on exporte le fichier de la BD de
l’ancienne version, et on importe le fichier exporté de
l’ancienne version vers las BD de la nouvelle version.
- Mettre à jour vette nouvelle version
- Tester la nouvelle BD, si OK, alors supprimer
l’ancienne.

TAF : effectuer les mises à jour de son serveur (Etapes) ; Effectuer un


changement de version de notre logiciel MYSQL en montrant la méthode/
étapes.

2-8- Les objets d’une BD


La création et la manipulation de ces objets se définissent par le composant
DDL du langage SQL. Les objets de la BD sont :

➢ Les tables : permettent de stocker les données.

➢ Les index : permettent d’accélérer les recherches dans une table

➢ Les vues : requête à laquelle on a donné un nom, et qui peut être gérée
comme une table. Il permet de masquer le schéma d’une BD.
➢ Les séquences : permettent de générer automatiquement des numéros
uniques pour créer une valeur de clé primaire artificielle.
➢ Déclencheurs : permettent de définir un ensemble d’actions à effectuer en
réponse à une opération d’insertion, de mise à jour ou de suppression sur
une table spécifiée.

2.9- Moteur de stockage : MYISAM et Inno DB

Ils sont constitués d’algo permettant de stocker et d’enregistrer les


données, et de les récupérer via des requêtes SQL. Comme moteur de
stockage, on a :

• MYISAM
Moteur par défaut des versions inférieurs à 5.5 ; ils sont caractérisé par :
- La non transaction : la non récupération et corruption des
données en cas de panne d’électricité lors d’une
opération ; le fichier est corrompu car les changements
effectués ne peuvent être annulés.
- Permet un verrouillage de table en lecture et en écriture
- Permet l’indexation du contenu
- Ne gère pas les relations

• Inno DB

- Transactionnelle : offre plusieurs sécurités tel que la


récupération des données en cas d’interruption d’une
opération. Les données ne sont pas corrompus par des
fragments de nouvelles données ; si une mise à jour
échoue, les changements sont annulés ; meilleure
performance de lecture.
- Gère les relations
- Permet le verrouillage de données au niveau ligne
(plusieurs personnes peuvent utiliser une même page)
- Ne permet pas l’indexation du contenu

Remarque : Inno DB est plus lent que MYISAM, il


occupe plus de place sur le disque dur, en mémoire vive
que MYISAM.

2.10- Paramétrage d’Inno DB

Ressoruces d’Inno DB :
- Les « tablespaces » : ensemble des fichiers utilisés pour
stocker les données er les indexes de toutes les tables. La
structure des tables reste stockée dans le fichier .frm
- Les fichiers journaux : pour conserver les traces des
transactions en cours.

Vous aimerez peut-être aussi