C6 : Bases de données
💚 Vocabulaire
Vocabulaire
Généralités
Une base de données relationnelle est une base de données dans plusieurs tableaux à deux dimensions.
Les tables
Table
Chaque tableau est appelé une table ou une relation
Entités
Chaque ligne d'une table est une entité (on parle également d'enregistrement). Chaque entité est représentée par un n-upplet, c'est-à-dire un ensemble de n informations distinctes.
Les attributs
Les colonnes d'une table correspondent aux différentes informations des entités. On les appelle les attributs de la table.
Pour chaque attribut, on précise l'ensemble des valeurs que cet attribut peut prendre. Cet ensemble est appelé le domaine de l'attribut.
Clé primaire
La clé primaire d'une table est l'attribut (ou un ensemble d'attributs) qui permet d'identifier de façon unique chaque entité de la table.
Schéma relationnel d'une table
Le schéma relationnel d'une table est la liste des attributs avec leur domaine, en précisant la clé primaire.
Liens entre les tables d'une base de données : clés étrangères
Une clé étrangère est un attribut (ou un ensemble d'attributs) d'une relation dont les valeurs correspondent aux valeurs de la clé primaire d'une autre table. Une clé étrangère permet donc, dans une relation, de faire référence aux entités d'une autre relation.
Structure d'une base de données relationnelle
Il existe deux méthodes pour décrire entièrement la structure d'une base de données relationnelle.
Dans les deux cas, par convention :
- - les attributs (ou ensembles d'attributs) soulignés sont les clés primaires
- - les attributs (ou ensembles d'attributs) précédés de # sont les clés étrangères.
Avec du texte
Le texte doit contenir :
- • La liste des schémas relationnels des tables (en précisant les clés primaires) sous la forme NOM_TABLE(attr1:domaine1, attr2:domaine2...).
- • La liste des liens entre les tables : les clés étrangères et les tables auxquelles elles font référence.
Avec un schéma
Il est possible de représenter une base de données relationnelle sous la forme d'un diagramme.
Intégrité d'une base de données relationnelle
Une base de données relationnelle est dite intègre si elle respecte les trois contraintes d'intégrité qui ont été évoquées précédemment, et qui sont résumées ici :
- - contrainte de domaine : il faut que les données appartiennent aux domaines des attributs ;
- - contrainte de relation : chaque entité d'une table (d'une relation) doit être identifiée par une clé primaire, cette clé primaire (un attribut, ou une combinaison d'attributs) doit permettre d'identifier les entités par des valeurs uniques ;
- - contrainte de référence : lorsque l'attribut d'une table fait référence (clé étrangère) aux données d'une autre table, il faut obligatoirement utiliser les valeurs de la clé primaire de cette autre table ;
SGBD (Système de gestion de bases de données relationnelles)
La manipulation d'une base de données relationnelle se fait à l'aide d'un SGBD (Système de gestion de bases de données relationnelles).
• Le SGBD permet de créer ou de modifier la structure d'une base de données :
• Le SGBD permet d'ajouter, de modifier ou de supprimer des données, tout en assurant que les données respectent les contraintes d'intégrité de la base.
• Le SGBD permet, à l'aide d'un langage de requêtes, d'interroger la base de données : il permet de sélectionner certaines données de la base en fonction de critères spécifiés.
Plus globalement :
- - le SGBD gère d'éventuels droits d'accès aux données ;
- - le SGBD gère les accès multiples à la base (accès concurrents) de façon que deux personnes ne modifient pas les données en même temps...
Enfin, le SGBD peut assurer également la sûreté des données : duplication des données en cas de panne, sauvegarde...