You are on page 1of 8

Cours de base de données à distance (Institut CERCO MALI) Chapitre I

CHAPITRE I

RAPPEL SUR LA THEORIE DES


BASES DE DONNEES ET
INTRODUCTION A MySQL

Chargé du cours : BOUBACAR TOURE, boubacartoure@sante.gov.ml

Page 1
Cours de base de données à distance (Institut CERCO MALI) Chapitre I

1 THEORIE DES BASES DE DONNEES

1.1 Base de données


Une base de données est un ensemble structuré de données enregistrées sur des supports
accessibles par l’ordinateur pour satisfaire simultanément plusieurs utilisateurs de façon
sélective et en un temps opportun.
Elle doit avoir un certain nombre de caractéristiques :
Données structurées : les informations contenues dans une base de données sont réparties en
enregistrements, chaque enregistrement ayant une structure bien définie ;
Données non redondantes : Une même information ne sera pas répétée plusieurs fois dans la
base de données ;
Données cohérentes : Il ne doit pas être permis d’enregistrer dans une base des informations
incohérentes entre elles ;
Données accessibles directement selon de multiples critères ;
Indépendance des programmes et des données : La base de données doit être indépendante
des programmes qui y ont accès, on doit pouvoir utiliser un autre programme pour traiter
différemment ces données sans avoir à toucher à ces données ;
Sécurité des données stockées : la base de données doit permettre un système de sécurité
permettant de gérer les droits d’accès aux informations par les utilisateurs.

1.2 Système de Gestion de Bases de Données


Un Système de Gestion de Bases de Données (S.G.B.D.) représente un ensemble coordonné
de logiciels qui permet de décrire, manipuler, traiter les ensembles de données formant la
base. Il doit également assurer la sécurité et la confidentialité des données dans un
environnement où de nombreux utilisateurs ayant des besoins variés peuvent interagir
simultanément sur ces données.
Il doit pouvoir être utilisé par des non-informaticiens. Il doit assurer la définition des
structures de stockage et des structures de données et le suivi de leurs évolutions ; c’est ce
qu’on appelle l’administration des données.
Il doit pouvoir au maximum vérifier la cohérence des données. Le SGBD sert donc
d’interface entre les programmes d’application des utilisateurs d’une part, et la base de
données d’autre part.

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 :

La figure suivante présente la majeure partie des fonctionnalités de MySQL qui se


positionnent au sein du serveur de données (SGBD).

Chargé du cours : BOUBACAR TOURE, boubacartoure@sante.gov.ml

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 :

Un serveur MySQL gère une ou plusieurs bases de données.


Chaque base de données contient différents types d'objets (tables, index, fonctions).
L'objet le plus représenté d'une base de données est la table.
Chaque table (appelées encore « relation ») est caractérisée par une ou plusieurs colonnes
(ou « attributs »).

Chargé du cours : BOUBACAR TOURE, boubacartoure@sante.gov.ml

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).

2.4.1 Clés primaires et étrangères

Une table contient généralement une clé primaire.


Une clé primaire est constituée d'une ou plusieurs colonnes.
Les valeurs des colonnes qui constituent la clé primaire d'une table sont uniques pour toutes
les lignes de la table. La clé primaire d'une table permet donc de faire référence de manière
univoque à chaque ligne de la table.

Chargé du cours : BOUBACAR TOURE, boubacartoure@sante.gov.ml

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.

2.4.2 Clés uniques

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.

Par exemple, si la clé


primaire de la table
pizzas est constituée de la
colonne id et s'il
existe une clé unique
constituée de la seule
colonne nom, le schéma ci-
contre propose trois
nouvelles lignes à
l'insertion dont une seule
pourra être ajoutée à la
table.

3) Les différents moteurs de stockage de MySQL (Liste non exhaustive)

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.

Chargé du cours : BOUBACAR TOURE, boubacartoure@sante.gov.ml

Page 6
Cours de base de données à distance (Institut CERCO MALI) Chapitre I

Il y a trois grandes familles de moteurs :


ü Non-transactionnels dits NTST.
ü Transactionnels dits TST.
ü Les autres.

3.1 Le moteur MyISAM :


De licence GPL, Il est de type non transactionnel.
Depuis sa création (version 3.23), il est devenu le moteur par défaut de MySQL. Il a remplacé
Isam en y ajoutant des extensions.
Domaines d'application :
ü Recherche FULL-TEXT (texte intégrale).
ü Tables en lecture seule.
ü Tables de Log.

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.

3.2 Le moteur FEDERATED:

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".

3.3 Le moteur InnoDB :

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.

Chargé du cours : BOUBACAR TOURE, boubacartoure@sante.gov.ml

Page 7
Cours de base de données à distance (Institut CERCO MALI) Chapitre I

3.4 Le moteur AWS S3:

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

Chargé du cours : BOUBACAR TOURE, boubacartoure@sante.gov.ml

Page 8

You might also like