Professional Documents
Culture Documents
CHAPITRE I
Page 1
Cours de base de données à distance (Institut CERCO MALI) Chapitre I
2 INTRODUCTION A MYSQL:
MySQL dérive directement de SQL (Structured Query Language) qui est un langage de
requête vers les bases de données exploitant le modèle relationnel.
MySQL est à la fois le nom du SGBD et le nom de la société (qui se nomme en fait
MySQL AB, décrite sur http://www.mysql.com) dont le siège se trouve en Suède.
Selon leurs dires, leur serveur de données, qui est écrit en C et C++, serait installé de façon
opérationnelle sur plus de six millions de sites.
D’un point de vue coût, l’utilisation du SGBD sur des projets importants (entre 250 000€ et
500 000€) ferait économiser 90 % sur le prix des licences du serveur,60 % sur les ressources
système, 70 % sur le prix du matériel, 50 % sur les tâches d’administration et de support.
Par analogie avec les systèmes d’exploitation, depuis 1999, MySQL connaît le succès de
Linux. Téléchargée près d’un million de fois en trois semaines (en octobre 2005), la version
production de MySQL doit sa popularité du fait de son caractère open source, de ses
fonctionnalités de plus en plus riches, de ses performances, de son ouverture à tous les
principaux langages du marché, de son fonctionnement sur les systèmes les plus courants (les
Chargé du cours : BOUBACAR TOURE, boubacartoure@sante.gov.ml
Page 2
Cours de base de données à distance (Institut CERCO MALI) Chapitre I
distributions classiques de Linux, Windows, Mac OS, BSD, Novell et les dérivés d’Unix) et
de sa facilité d’utilisation pour des applications Web de taille moyenne.
2.1 La licence :
Deux types de licences sont proposés par MySQL : commerciale et GPL. Dans le cadre d’un
développement d’application entièrement sous licence GPL, MySQL est gratuit. Il en va de
même s’il n’est pas copié, modifié, distribué ou employé pour une utilisation en combinaison
avec un serveur Web (si vous développez l’application Web vous-même).
Dans tous les autres cas, il est nécessaire d’obtenir une licence commerciale. Par exemple, si
vous incluez un serveur MySQL ou des pilotes MySQL dans une application non open
source.
2.2 Architecture
MySQL est basé sur une architecture client/serveur.
C'est-à-dire que les clients doivent s'adresser au serveur qui gère, contrôle et arbitre les accès
aux données.
2.3 Fonctionnalités :
Page 3
Cours de base de données à distance (Institut CERCO MALI) Chapitre I
Les API permettent d’intégrer SQL dans des programmes de différents langages.
Les pilotes ODBC, JDBC, API pour les langages C et C++, et les outils MySQL
Administrator, MySQL Query Browser, et MySQL Migration Toolkit sont à installer
séparément.
2.4 Objet :
Page 4
Cours de base de données à distance (Institut CERCO MALI) Chapitre I
Le langage qui permet de gérer ces objets est appelé « Langage de Description des
Données » (LDD).
Les données sont stockées dans les tables sous forme de lignes (ou « tuples »).
Le langage qui permet de manipuler les données est appelé « Langage de Manipulation des
Données » (LMD).
Page 5
Cours de base de données à distance (Institut CERCO MALI) Chapitre I
Par exemple, les tables pizzas et commandes possèdent toutes deux une clé primaire qui est
constituée de leur colonne id respective.
La colonne pizza_id de la table commandes fait référence à la colonne id (donc à la clé
primaire) de la table pizzas.
Ce type de référence est appelée « clé étrangère ». MySQL n'implémente pas les clés
étrangères sous forme de contrainte.
En complément à la clé primaire, une ou plusieurs clés uniques (appelées également « clés
secondaires » ou « clés alternatives ») peuvent être associées à une table.
Les clés uniques sont identiques aux clés primaires à la différence prés que les colonnes qui
les constituent peuvent contenir une valeur NULL.
La plupart du temps, toute table devrait posséder au moins une clé primaire.
Beaucoup de personnes pensent que MySQL ne gère pas les transactions, alors que nous
disposons de plusieurs moteurs de stockage. Certains transactionnels d'autres non.
En effet, MySQL possède une API permettant de développer soi-même un moteur de
stockage, sans avoir à le coder directement dans les binaires. Certaines sociétés ont développé
des moteurs spécifiques aux usages que vous pouvez avoir de votre base de données.
Certaines entreprises ont développé leur propre moteur de stockage, afin qu'il corresponde à
ce qu'elles attendaient d'un SGBD.
Si vous le souhaitez, vous aussi vous pouvez créer votre propre moteur. Pour l'instant, nous
allons vous présenter les principaux moteurs de stockage existants.
Page 6
Cours de base de données à distance (Institut CERCO MALI) Chapitre I
Il est très utilisé pour le web car, comme il ne gère ni les clés étrangères, ni les transactions, il
n'a pas à vérifier la validité des enregistrements. Cela permet donc un précieux gain de temps
sur des tables très fréquemment ouvertes en écriture/lecture.
De licence GPL et classé parmi les autres types, le moteur FEDERATED permet de déporter
les données sur un serveur distant. Il est possible par exemple, d'avoir une base dont les
données sont réparties sur plusieurs serveurs distants géographiquement. Dans une base
utilisant le moteur FEDERATED, on ne trouve qu'un fichier *.frm qui est la définition de
table. Les données sont stockées sur un ou plusieurs serveurs distants. Par le mot "distant", il
faut comprendre que le serveur possédant une table FEDERATED devient client d'un autre
serveur MySQL. Cela oblige cet autre serveur à se trouver à l'extérieur ou dans un réseau
local. En aucun cas il ne peut être le "localhost".
De Licence GPL, InnoDB, est le moteur transactionnel le plus utilisé à l'heure actuelle dans
les secteurs dit sensibles, c'est-à-dire nécessitant une cohérence et une grande intégrité des
données.
Jusqu'à la version 5.1 incluse, c'est le seul moteur supportant les contraintes de clés étrangères
(intégrité référentielle).Il n'est pas concevable d'avoir des informations faisant référence à
quelque chose d'inexistant. Peut-on imaginer un numéro de sécurité sociale qui ne soit pas
associé à une personne ou un code postal associé à aucune ville ?
Il y a des domaines d'application où les données doivent être fiables à 100%.
Au-delà de l'intégrité référentielle, InnoDB propose des mécanismes transactionnels
présentant une grande compatibilité aux critères.
Page 7
Cours de base de données à distance (Institut CERCO MALI) Chapitre I
De type inconnu, de licence propriétaire, son domaine d’activité est les services d'entreposage
distant.
Le célèbre site de vente en ligne Amazon propose un service payant pour le stockage distant
de données. Il est fortement utilisé pour des sauvegardes en ligne à distance et non pas pour y
accéder de manière continue. Via ce service, il est possible de gérer de gros volumes de
données. Amazon S3 vous débarrasse des contraintes liées à la machine, à son emplacement,
au type de serveur etc. Grâce à ce service, vous pouvez avoir un hébergement quasiment
illimité pour vos données.
Le kchdjjvcjjk
Page 8