Bases de Données




  1. Qu'est ce qu'une base de données ?

Je vais faire un exemple concret de manière a ce que vous compreniez bien le concept (enfin, j'espere)...
Je voulais avoir pour chaque disque la liste des chansons, la duree, le nombre de piste, si il a une piste CDRom ou non, le nom du chanteur, la nationalite du chanteur, son style de chanson habituel...

A la base, on se retrouve à avoir une version du style :

Liste complète :
+----+-------+----------+-------+-------+----+-------+-----------+----------+-------+
| CC |  Nom  | Chanson  | Temps | Piste | Nb | Type  | Chanteur  | Langue   | Style |
+----+-------+----------+-------+-------+----+-------+-----------+----------+-------+
|  1 | Disk1 | Chanson1 |  3'20 |   1   | 17 | Audio | Chanteur1 | Francais | Rock  |
|  2 | Disk1 | Chanson2 |  4'02 |   2   | 17 | Audio | Chanteur1 | Francais | Rock  |
|  3 | Disk1 | Chanson3 |  1'05 |   3   | 17 | Audio | Chanteur1 | Francais | Rock  |
|  4 | Disk1 | Chanson4 |  2'58 |   4   | 17 | Audio | Chanteur1 | Francais | Rock  |
|  5 | Disk1 | Chanson5 |  3'58 |   5   | 17 | Audio | Chanteur1 | Francais | Rock  |
|  6 | Disk1 | Chanson6 |  5'82 |   6   | 17 | Audio | Chanteur1 | Francais | Rock  |
|  7 | Disk2 | Chanson1 |  2'20 |   1   | 11 | CDRom | Chanteur2 | Anglais  |  Pop  |
|  8 | Disk2 | Chanson2 |  5'02 |   2   | 11 | CDRom | Chanteur2 | Anglais  |  Pop  |
|  9 | Disk2 | Chanson3 |  6'05 |   3   | 11 | CDRom | Chanteur2 | Anglais  |  Pop  |
| 10 | Disk2 | Chanson4 |  8'58 |   4   | 11 | CDRom | Chanteur2 | Anglais  |  Pop  |
| 11 | Disk2 | Chanson5 |  2'58 |   5   | 11 | CDRom | Chanteur2 | Anglais  |  Pop  |
| 12 | Disk2 | Chanson6 |  4'82 |   6   | 11 | CDRom | Chanteur2 | Anglais  |  Pop  |
+----+-------+----------+-------+-------+----+-------+-----------+----------+-------+


Déjà là, on se retrouve avec une base de données... Il y a effectivement des informations qui sont formalisées et ordonnées. Ceci sous-entend qu'on se retrouve avec des données d'un même style dans chaque colonne (durée, nombre ou chaine de caractère). Il s'agit donc bien d'une base de données. En réalité, il s'agit d'une unique table, mais une table suffit a faire une base (même si ce n'est pas forcément le principe).

On se rend compte que les informations sont vraiment redondantes...
Je décide donc de regrouper les informations d'un même style.

Les disques :
+----+-------+----+-------+-----------+----------+-------+
| CA |  Nom  | Nb | Type  | Chanteur  | Langue   | Style |
+----+-------+----+-------+-----------+----------+-------+
|  1 | Disk1 | 17 | Audio | Chanteur1 | Francais | Rock  |
|  2 | Disk2 | 17 | CDRom | Chanteur2 | Anglais  |  Pop  |
+----+-------+----+-------+-----------+----------+-------+
Les chansons :
+----+-------+----------+-------+-------+
| CC |  CCA  | Chanson  | Temps | Piste |
+----+-------+----------+-------+-------+
|  1 |   1   | Chanson1 |  3'20 |   1   |
|  2 |   1   | Chanson2 |  4'02 |   2   |
|  3 |   1   | Chanson3 |  1'05 |   3   |
|  4 |   1   | Chanson4 |  2'58 |   4   |
|  5 |   1   | Chanson5 |  3'58 |   5   |
|  6 |   1   | Chanson6 |  5'82 |   6   |
|  7 |   2   | Chanson1 |  2'20 |   1   |
|  8 |   2   | Chanson2 |  5'02 |   2   |
|  9 |   2   | Chanson3 |  6'05 |   3   |
| 10 |   2   | Chanson4 |  8'58 |   4   |
| 11 |   2   | Chanson5 |  2'58 |   5   |
| 12 |   2   | Chanson6 |  4'82 |   6   |
+----+-------+----------+-------+-------+


On se retrouve maintenant avec une base mieux structurée et plus facile à maintenir. La colonne CCA (appelé champs) donne en fait la valeur de la colonne CA correspondant au disque sur lequel on trouve la chanson. C'est ce qu'on appelle une relation.

Dans les 2 cas, le premier champs de la table est un champ compteur, c'est à dire qu'il s'incrémente à chaque nouvel enregistrement. Cette méthode est pratique car ainsi, un code correspond à un et seulement un enregistrement. Ceci permet d'établir que CC est la clé de la seconde table (car une seule et unique occurence dans toute la table). CC peut également servir d'index. L'index est, comme pour un livre, un moyen pour le moteur de base de données d'accéder rapidement à certains enregistrement qui seront ainsi indexé. Souvent, la clé sert également d'index, bien que n'importe quel champs peut-être un index.

Avec cet exemple, je crois qu'on a fait une présentation assez sommaire, mais malgré tout compréhensible de ce qu'est une base.

Mot à retenir : base, table, enregistrement (ou tuple), champs, clé, index, relation.




  2. Comment créer sa base ?

Une base se crée dans un logiciel et chaque fonctionnement étant différent, reportez-vous aux pages spécifiques... (actuellement que mysql).

Il existe évidemment plusieurs type de base de données. On peut même en trouvé chez Microsoft...
Les plus standards sont MySql, Sybase, Oracle, Access et DBase. Personnellement, j'ai pu utilisé a peu pres tout ces formats. Je ne peux pas en conseiller une plus qu'une autre, par contre, il est clair que certaines d'entre elle ont des avantages non négligeable.

Logiciel Avantages Défauts
mySQL gratuit (unix et windows), rapide, installation simple
Pratique pour Internet
Interface minimale, Non relationnelle
PostGreSQL gratuit pour unix, fonctionne bien pour Internet, relationnelle Interface minimale
Oracle Très puissant, très complet, bonne interfacage avec Internet Pas gratuit du tout, interface java (assez lourd)
Sybase gratuit pour unix, fonctionne bien pour Internet, relationnelle Interface minimale
Access Une bonne interface, La base se trouve dans un unique fichier facilement transportable Lourd, Miscrosoft, possibilité de calcul trop faible, a éviter pour Internet





Page modifiée le : 22/07/2002
Site modifié le : 14/09/2020


Valid XHTML 1.0 Transitional