.

Base de données


                



Base de données

Définition

Fichiers regroupant des données de façon structurée afin de faciliter le stockage, la recherche et la diffusion de l'information.
De par sa fonction, centralisation des données, les bases de données sont parfois associées à celle de réseau. On nomme système d'information l'ensemble des moyens mis en oeuvre pour partager l'information à travers un réseau.

Types de base de données

Dans notre métier, on retrouve fréquemment les bases de données suivantes :
- référence (qui regroupe des informations bibliographiques ou factuelles)
- texte intégral (qui regroupe des documents à caractère textuel)
- multimédia (qui regroupe documents sonores, visuels, etc.)
Une base de données peut se trouver sur n'importe quel support : disque dur, cédérom, sur un serveur et accessible en réseau interne ou en ligne (à distance).

Principe d'organisation

Une base de données se compose minimalement d'un fichier structuré en champs qui possèdent des propriétés définissant les caractéristiques de son contenu : un champ de type texte (alphanumérique), numérique, monétaire, date, booléen, incrémental, etc.
Voici un tableau montrant les principales propriétés des champs.
LibelléExemple
TypeA, N, D, M, I, B
Taille10 caractères
Format99999 ; AAAA/MM/JJ
Valeur minimum1 ; - 65540
Valeur maximum100 ; 65540
Valeur par défaut52 ; date du jour

Il y a toujours un champ primaire (clé) qui détermine l'ordre de tri des informations.
La clé primaire donne un accès rapide à l'information. Pour accéder aux informations par un autre champ, on procède de façon séquentielle (recherche plus lente) ou on crée une clé secondaire, c'est-à-dire un index qui reprendra les informations du champ et de la clé primaire.
Fichier primaire
CléNomAnniversaire
1Callas12/12/1965
2Lallier10/04/1956
3Argon15/07/1959
4Rideau01/02/1961
Fichier secondaire (index)
NomNo
Argon3
Callas1
Lallier3
Rideau4
L'accès au fichier primaire est rapide par le numéro d'enregistrement (clé).
Pour un accès rapide par le nom, on passe par un index (fichier secondaire trié par nom).
Le cheminement est le suivant : on recherche une valeur dans l'index. Si on trouve, on récupère le numéro d'enregistrement et on recherche ce numéro dans le fichier primaire.

Type d'index

Un champ peut être indexer de diverses façons :
Le champ entier = tout le contenu du champ correspond à une valeur
Par mot = tous les mots du champ sont indexés (chaque mot équivaut à une valeur)
Multivalué = les valeurs sont identifiées dans le champ en fonction d'un séparateur de valeur (sous-champ).
Les langages documentaires ont développé d'autres notions telles que le retrait de l'article initiale et le dictionnaire des mots vides.
L'article initiale (l', le, la, les) est retiré avant l'indexation du champ.
Le dictionnaire des mots vides est utilisé lors de l'indexation par mots. On indexe tous les mots sauf les mots non significatif qui sont contenus dans le dictionnaire (le, la, les, un, et, ou, donc, ce, ça, il, etc.). En règle générale, on n'indexe pas les mots d'une seule lettre.

Les bases de données relationnelle

Une base de données relationnelle contient plusieurs fichiers (ou tables). Chaque table contient une partie de l'information reliée ensemble par des liens appelés relations. Cela permet d'éviter la redondance et facilite la maintenance des données.

Types de relation entre les tables

On pourrait avoir une relation de 1 à 1, c'est-à-dire que les informations sont du même niveau. (Cela n'est pas véritablement utile sauf dans certains cas où la première table serait trop importante.)
Table 1
CléNomPrénom
1CallasMaria
2LallierPaul
3ArgonLuc
4RideauPierre
Table 2
CléTéléphone
104 75 11 55 22
204 41 22 55 44
304 77 55 84 44
401 55 44 66 33
La clé primaire est utilisé pour relier les deux tables entre elles. Ici, les informations de la table 1 et de la table 2 auraient pu être regroupées dans une seule table !
On peut avoir une relation de 1 à n, c'est-à-dire qu'un enregistrement de la table 1 peut être relié à plusieurs enregistrement de la table 2.
Table 1
CléNomPrénom
1CallasMaria
2LallierPaul
3ArgonLuc
4RideauPierre
Table 2
CléTéléphone
104 75 55 44 66
104 75 41 16 34
104 77 83 55 55
204 35 55 88 44
La table 2 contient les numéros de téléphone des personnes citées dans la table 1. Comme on ne sait pas combien de numéros de téléphone un personne peut avoir, il est pratique de les ranger dans une autre table que la table principale.
On peut avoir une relation de n à 1, c'est-à-dire que plusieurs enregistrements de la table 1 ont la même référence dans la table 2.
Pour obtenir une relation de n à n, il faut créer une table intermédiaire. Imaginons un fichier bibliographique comportant une table de documents et une table d'autorités auteur.
Table document
CléDocTitreEditeur...
D1Un bel automneRouge
D2Un bel hiverBlanc
D3Un beau printempsVert
D4Un bel étéJaune
Table auteur
CléAutNom
A1Argon
A2Callas
A3Lallier
A4Rideau
En admettant qu'un titre peut avoir plusieurs auteurs et qu'un auteur peut avoir écrit plusieurs documents, on ne peut pas rendre compte ici des deux relations en même temps. Il faut donc ajouter une table intermédiaire qui fera le lien entre les deux tables. Ainsi on établie une relation entre le champ Clé 1 des tables titre et intermédiare et une autre relation entre le champ Clé 2 des tables auteur et intermédiaire.
Table intermédiaire
CléDoc(document)CléAut (auteur)
D1A1
D1A2
D2A3
D3A1
D4A4
On peut voir que le document 1 a été écrit par deux auteurs (1 et 2), que le titre 2 a été écrit par l'auteur 1, etc. Et inversement, l'auteur 1 a écrit les documents 1 et 3...

Les interfaces utilisateurs

Par ailleurs, un utilisateur a besoin de saisir de l'information, de la modifier, de la rechercher et de l'imprimer ou de la diffuser. Il faut donc une interface entre lui et la base de donner qui permette de réaliser ces fonctions. Ainsi nous avons des formulaires de saisie/modification, de requêtes pour saisir et rechercher l'information et des formats d'exportation et des états, pour diffuser et imprimer l'information.
Exemple d'un formulaire de saisie (dépouillement des périodiques pour cd-rap).

Pour rechercher l'information, les bases de données relationnelles utilisent le même langage de requête SQL (Standard Query Language). Voici un exemple de requête SQL :
SELECT * FROM Table_auteur WHERE Nom = "Argon"
Cette requête récupèrera toutes les enregistrements correspondant à "Argon" de la table auteur, soit les documents 1 et 3 (Un bel automne et Un beau printemps). C'est le lien entre les deux tables qui fait que les documents sont retrouvés.

Les opérateurs

Selon les types de base de données, on peut utiliser un certain nombre d'opérateur pour l'interrogation. On peut citer les opérateurs de comparaison, booléens, de proximité et la troncature.

Opérateurs de comparaison

Ces opérateurs permettent d'obtenir un point de comparaison dans une échelle de valeur. Ils sont souvent représentés par les symboles suivants : < > = !=, pour signifier plus petit que, plus grand que, égal à, différent de. Ces opérateurs souvent utilisés dans les champs numériques ou les dates (ex. valeur >1998).

Opérateurs booléens

Ces opérateurs sont utilisés pour combiner les termes à l'interrogation. Les opérateurs sont OU, ET et SAUF.
Maison ET Paris - signifie je veux tous les enregistrements qui contiennent le mot maison ainsi que le mot Paris.
Maison OU Cabane - signifie je veux tous les enregistrements qui contiennent soit le mot maison, soit le mot Cabane.
Maison SAUF Cabane - signifie je veux tous les enregistrements qui contiennent le mot Maison mais pas ceux qui contiennent le mot Cabane.

Troncature et masque

La troncature est souvent représenté par l'étoile (*) et le masque par un point d'interrogation (?).
Maison* - équivaut à tous les mots qui commencent par Maison (maison, maisons, maisonnette, etc.)
Maison? - équivaut à tous les mots qui commencent par Maison + une autre lettre (maison et maisons).

Les opérateurs de proximité

Ces opérateurs sont surtout utilisés dans la recherche plein texte, soit dans des champs texte long comme les résumés, soit dans des bases de données de texte intégral. L'opérateur prend diverse forme tel que "adj" pour adjacence.
Maison adj3 ville - signifie les enregistrements qui contiennent les mots maison et ville, mais séparés d'au plus de trois mots.