Base de données relationnelle Article, Signification, Explication
Une base de données relationnelles est une base de données structurée suivant les principes de l'algèbre relationnelle. La théorie des bases de données relationnelles est due à Edgar Frank Codd.
Elle est mis en œuvre au moyen d'un Système de Gestion de Bases de Données Relationelles (SGBDR).
| Table of contents |
|
2 Détails techniques 3 Améliorations 4 Historique |
Le concept permet de stocker et d'organiser une grande quantité d'information. Les SGBD permettent de naviguer dans ces données et d'extraire les informations voulues demandées via une requête.
Les données apparaissent comme stockées dans des tables qu'on nomme également relations. Ce système se démarque donc totalement - en termes d' interface - des bases de données de type hiérarchique. En matière d' implémentation, et en fonction des statistiques d'accès à la base, du hiérarchique sera utilisé, mais son emploi n'aura jamais besoin d'être pris en compte par l'utilisateur, ce qui conduit à :
Dans les relations, il est possible de définir deux types de clés:
; clef primaire : permet d'identifier un et un seul n-uplet (par exemple le numéro de sécurité social).
; clef étrangère : c'est un attribut d'une relation qui est clef primaire dans une autre relation. Elle permet donc de lier deux relations entre elles.
Pour accéder aux données on utilise différents opérateurs, notamment la sélection et la projection, mais aussi les jointures (dont il existe différent types).
Les opérations sont communiquées sous forme de requêtes aux SGBDR. La plupart utilisent le langage normé SQL.
Dans une base de données relationelle, le but est de séparer les informations au maximum pour éviter les doublons, et bien sûr on ne veut pas perdre d'information.Principe
Les relations possédent un certain nombre d'attributs permettant de décrire un n-uplet. La non duplication des n-uplets est assuré par le SGBDR.
| On a une table « personne », contenant le nom, le prénom, la date de naissance et la ville de naissance pour chaque personne. Une ligne de la table contiendra donc les informations relatives à une personne. |
|
| |||||||||||||||||||||||||
| De même, on a une table « ville » contenant la population et la superficie de chaque ville. |
|
| |||||||||||||||||||||||||
Si on veut pouvoir connaître, pour chaque personne, la population et la superficie de sa ville de naissance, il est utile, au lieu de stocker le nom de la ville de naissance dans la table « personne », de stocker un identifiant (clé étrangère) se référant à un numéro unique pour chaque ville (clé primaire). Ainsi, les informations concernant chaque ville sont stockées unitairement.
Un des langages les plus utilisés pour construire des requêtes permettant d'interroger et de manipuler les données des bases de données relationnelles est le langage SQL. Pour reprendre notre exemple, SQL sert à formaliser des questions (requêtes) du type : « Quelles sont toutes les personnes nées dans la ville X » ou « Dans quelle ville est né Dupont ».
SQL n'étant pas exactement proche de la formulation intuitive d'une requête, deux approches sont utilisées pour s'en affranchir :
Les bases de données relationnelles étaient pressenties dans les années 1970 comme remplaçants des fichiers classiques dans les systèmes d'exploitation (voir technologie FS). Cela fut implémenté dans les ordinateurs du type IBM Système 38 ou AS/400, ainsi que dans un système d'exploitation nommé Pick, mais sans se généraliser. Les brevets de cette époque étant maintenant dans le domaine public, l'idée redevient d'actualité dans les années 2000 avec le système WinFS (voir Microsoft Windows).
Voir aussi : formes normales C'est un article concernant le Base de données relationnelle. La page contient la signification du Base de données relationnelle , Description et explication au sujet de Base de données relationnelle Améliorations
SQL reste cependant incontournable à ce jour pour effectuer des requêtes générales très complexes. Plusieurs systèmes affichent dans un premier temps en réponse à une requête complexe son coût prévisible (en temps ou en ressources d'accès), en demandant à l'utilisateur confirmation ou invalidation préalablement à toute exécution. On peut imaginer en effet sur des bases courantes des requêtes SQL dont l'exécution demanderait des centaines d'heures ou des milliers d'euros. Une réécriture simple suffit souvent à obtenir le même résultat, ou un analogue fonctionnel, de façon bien plus économique.Historique
