BiblioTIC : l'informatique et l'Internet au service des bibliothèques/Les systèmes de gestion de bases de données relationnels
Définitions
[modifier | modifier le wikicode]Une base de données (BD ou BDD, en anglais data base ou DB) est une collection de données cohérentes et stockées de manière structurée (note : quel que soit le nombre de ces données). Alors que les données sont de plus en plus nombreuses, une base de données permet de mettre des données à la disposition d'utilisateurs pour une consultation, une saisie ou bien une mise à jour, tout en s'assurant des droits accordées à chacun des utilisateurs.
La notion de base de données est souvent (mais ce n'est pas obligatoire) liée à celle de réseau dans la mesure où celle-ci peut être utilisée par des utilisateurs différents qui accèdent à des informations communes. Une BD peut cependant être locale (utilisable sur une machine par un utilisateur) ou répartie (les informations sont stockées sur des machines distantes et accessibles par réseau).
Dans toute entreprise, on est souvent amené à manipuler des données ayant la même structure (par exemple, la liste des membres du personnel ou la liste des lecteurs dans une bibliothèque) et qui sont gérées par des moyens informatiques.
Un système de gestion de bases de données (SGBD ou, en anglais, DBMS pour database management system) est un ensemble de programmes qui permettent à des utilisateurs de créer et maintenir une base de données. Les activités supportées sont :
- la définition d'une base de données (spécification des types de données à stocker);
- la construction d'une base de données (stockage des données proprement dites);
- la manipulation des données (principalement : ajouter, supprimer, retrouver des données).
Autrement dit : un système de gestion de base de données (SGBD) est un logiciel (ou plusieurs) assurant la structuration, le stockage, la maintenance, la mise à jour et la consultation des données d'une base de données.
Un modèle de données est un ensemble de concepts permettant de décrire la structure d'une base de données. Le modèle le plus utilisé est le modèle relationnel. Historiquement jusque dans les années 60, les données étaient organisées classiquement en fichiers. Les premiers SGBD sont apparus à la fin des années 60 et c'est à partir de 1970 que sont apparus les systèmes relationnels.
Les fonctionnalités des SGBD
[modifier | modifier le wikicode]- Contrôler la redondance d'informations : la SGBD doit pouvoir éviter, dans la mesure du possible, des informations redondantes afin d'éviter un gaspillage d'espace mémoire et des erreurs.
- Assurer le partage des données (partageabilité) : une base de données doit permettre à plusieurs utilisateurs d'accéder à la même information en même temps. La SGBD doit inclure un mécanisme de contrôle de la concurrence, basé sur des techniques de verrouillage des données (par exemple pour éviter qu'on ne lise une information qui est en cours de mise à jour)
- Vérifier l'intégrité des données : celles-ci doivent être cohérentes entre elles. Lorsque des éléments font référence à d'autres, ceux-ci doivent être présents. Les données doivent être cohérents (par exemple, l'âge d'une personne est défini par un nombre entier positif)
- Assurer l'indépendance physique : un remaniement de l'organisation physique des données n'entraîne pas de modification dans les programmes d'application
- Assurer l'indépendance logique : un remaniement de l'organisation logique des fichiers (par exemple la création d'une nouvelle rubrique) n'entraîne pas de modification dans les programmes d'application non concernés
- Gérer les autorisations d'accès pour assurer la sécurité des données : une BD étant multi-utilisateurs, le problème de la confidentialité des données se trouve posé. Des droits (pour la création, la lecture, la mise à jour,…) doivent être accordés
- Offrir des interfaces d'accès multiples : la SGBD doit offrir plusieurs interfaces d'accès en fonction des types d'utilisateurs (utilisateur final, programmeur d'application)
- Assurer la sécurité et la reprise après la panne (pour éviter les pannes disques, les SGBD s'appuient sur un mécanisme de journalisation qui permet de régénérer une base de données automatiquement à partir d'une version de sauvegarde et du journal des mouvements).
Un SGBD doit être manipulable c'est-à-dire qu'une personne qui ne connaît pas la base de donnée doit pouvoir effectuer une recherche sans faire référence à des éléments techniques de la BD. La BD doit pouvoir évoluer physiquement et logiquement sans que cela ne gêne les utilisateurs. L'accès à l'information (tenant compte du débit c'est-à-dire du nombre de transactions par secondes et du temps de réponse c'est-à-dire le temps d'attente moyen pour une transaction) doit être fourni rapidement.
Le modèle relationnel
[modifier | modifier le wikicode]Dans un système de gestion de bases de données relationnelles (SGBDR), les données sont enregistrées dans des tableaux (tables), sans préjuger de la façon dont les informations sont stockées dans la machine. Ces tables sont à deux dimensions : lignes et colonnes.
Une ligne est également appelée enregistrement. Toutes les données d'une même colonne (champ) sont du même type.
Nom | Prénom | Sexe | Adresse | Code postal | Ville |
---|---|---|---|---|---|
Adam | Pierre | M | 1 Impasse du Pavé | 1000 | Bruxelles |
Eve | Pierrette | F | 25 boulevard de France | 7500 | Tournai |
On parle de :
- classes : groupe d'entités du monde réel ayant les mêmes caractéristiques et le même comportement (par exemple, la classe "CLIENT");
- attributs : propriétés de la classe (par exemple, les "Nom" et "Prénom" du client).
Un identifiant caractérise de façon unique les instances d'une classe (par exemple, un numéro de client). Pour exploiter la BD, l'utilisateur doit pouvoir disposer d'une interface qui lui permet d'introduire une requête et de visualiser les données. Cet outil est un formulaire qui permet donc d'afficher, de saisir ou de sélectionner des données. Pour dialoguer avec les SGBD qui ne sont pas équipés d'un interface graphique, il faut recourir au langage SQL (Structured Query Langage). Les états permettent d'imprimer les données.
La création d'une base de données
[modifier | modifier le wikicode]Lorsqu'une base de données est en cours de création, une fenêtre s'ouvre et permet de définir la table, champ par champ en précisant le nom du champ et le type de données qu'il contient.
- Texte. Le champ peut contenir n'importe quel caractère alphanumérique (chiffre, lettre, signe de ponctuation). Ce type de données est utilisé pour le texte, mais aussi pour les nombres sur lesquels on n'effectue pas de calculs (code postal, numéro de téléphone) (< 256 caractères)
- Mémo. Le champ peut contenir n'importe quel caractère alphanumérique. Le type mémo est réservé aux champs de type texte susceptibles de contenir plus de 255 caractères (< 65.536 caractères)
- Numérique. Données numériques (non monétaires) susceptibles d'être utilisées dans des opérations mathématiques (1 à 16 octets)
- Date/heure. Données de date et/ou d'heure (pour les années comprises entre 100 et 9999) (8 octets)
- Monétaire. Données monétaires, présentées avec deux chiffres après la virgule, et le symbole monétaire du pays (€ pour la France ou la Belgique)(8 octets)
- Numéro Auto. Numérotation automatique, séquentielle (commençant à 1) ou aléatoire. Souvent utilisée pour générer le code des enregistrements (4 octets) (entier long)
- Oui/non. Variable booléenne (deux valeurs possibles uniquement)(1 bit)
- Objet OLE. Pour lier un objet extérieur, ou incorporer un objet dans la base. Souvent utilisé pour les données multimédia. Peut servir pour tout fichier binaire (document Word, feuille de calcul Excel, etc.)(< 1 Go)
- Lien hypertexte. Permet d'enregistrer des URL de sites web et des adresses de courrier électronique
Source : CERIG/EFPG
La liste des propriétés d'un champ dépend du type de données choisi. Les principales propriétés sont :
- taille du champ;
- format : définit la manière dont les informations s'affichent (par exemple le format monétaire européen affiche deux chiffres après la virgule, puis un espace et le symbole de l'euro);
- masque de saisie : guide la saisie des données et exerce un contrôle. (par exemple : un code postal belge est composé de 4 caractères, un code français de 5 caractères, dans les deux cas de chiffres uniquement;
- valeur par défaut : valeur qui s'affiche dans le champ avant saisie par l'utilisateur;
- valide si : condition de validité du champ (par exemple un chiffre compris entre 2 autres chiffres)
- message si erreur : ce message s'affiche si la condition de validité précédente n'est pas satisfaite;
- null interdit : le champ correspondant ne peut rester vide lors de la saisie d'un enregistrement;
- chaîne vide autorisée : le champ peut contenir une chaîne ne comportant aucun caractère;
- indexé : un fichier index est associé au champ de telle sorte que les recherches d'information s'effectuent plus rapidement.
Les SGBD sont équipées d'un outil appelé liste (de choix) et qui permet d'éviter de saisir intégralement les mêmes données (par exemple, le nom d'une commune).
Un SGBDR (de type Access par exemple) permet d'établir des relations entre tables. Par exemple entre fournisseurs et produits, entre clients et commandes.