LINUX:Bases de données relationnelles


retour au menu de Linux


But

Les bases de données sont des moyens pour organiser des ensembles de données. Il en existe de nombreux types d'organisation. Elles peuvent être centralisées ou distribuées. On peut rencontrer des bases de données où les données y sont placées de façon brute, non organisées. Mais la forme les plus rencontrées sont organisées de façon à y retrouver facilement l'information recherchées. On rencontre souvent deux sortes: relationnelles et hiérarchiques.


Par exemple le DNS mondial est un exemple de base de données distribuée et hiérarchique. Active Directory de Microsoft en est une autre. Les bases de données LDAP tel Active Directory sont des bases de données hiérarchiques.

Autre exemple, le logiciel WordPress utilise une base de données relationnelle pour y stocker et organiser le contenu du site.


Nous nous cantonnerons à celles relationnelles.


Description succincte

Une base de données relationnelles est une base de données où l'information est organisée dans des tableaux à deux dimensions appelés tables. Une ligne d'enregistrement représente un relation entre plusieurs données. Cette notion est étendue à des relations entre tables. Ce modèle permet de retrouver facilement et efficacement des données liées entre elles. A ce sujet, il est extrêmement important de bien organiser ce modèle de relations. Par exemple, une donnée ne doit pouvoir être changée qu'à un seul endroit sauf celles qui servent de lien entre tables.

Ces données sont gérées et interroger par le langage SQL. Ce langage possède une base standardisée mais chaque concepteur y ajoute des clauses spécifiques qui complexifient sa portabilité.


Les logiciels qui les gèrent sont de différentes sortes.


On rencontre des logiciels qui ne peuvent être utilisés que par un seul client et souvent avec un accès exclusif à un fichier. C'est le cas d'Access de Microsoft ou de Sqlite (Open-Source). L'utilisation et la gestion sont intégrés. Il ne suit pas le modèle Client-Serveur. On utilise un seul programme qui accède à un ou plusieurs fichiers qui constituent la base de données. Cette approche pose le risque sécuritaire; l'utilisateur peut facilement effacer le fichier ou les fichiers ou les modifier par un autre programme et donc perdre toute l'information. Ils sont donc aussi très sensibles aux virus ou malwares car facilement accessibles.


Beaucoup de bases de données sont organisées selon le modèle de Client-Serveur; c'est à dire qu'il y a une séparation entre le Système de Gestionnaire de Base De Données Relationnelles (SGBDR) qui joue le rôle de serveur et l'application qui va utiliser ces données. Ceci permet de s’abstraire de l'accès direct aux fichiers de la base de données, ce qui diminue drastiquement les risques de perturbations externes. Un utilisateur n'a pas accès aux fichiers et donc ne peut les détruire. Ceci permet également une dissociation de l'emplacement; l'utilisateur peut accéder à la base de données au travers du réseau. De plus plusieurs utilisateurs peuvent l'utiliser conjointement. Notons qu'on n'est pas restreint à l'utilisation d'un seul programme client. Pour sécuriser l'accès aux données, l'utilisateur devra s'authentifier et n'aura accès qu'à certaines données. Ces contraintes font partie des informations contenues dans la base de données et gérées par le SGBDR.


C'est à cette seconde catégorie que nous nous intéresserons.


Les logiciels permettant leur utilisation peuvent être payants ou gratuits (ou partiellement gratuits sous certaines conditions). Nous utilisons ici des logiciels Open-Source. Par exemple Microsoft SQL Server et Oracle sont des logiciels propriétaires et payants.

Sous Linux en Open-Source, les SGBDR les plus connus sont Mariadb (anciennement Mysql) et PostgreSQL. Mysql pourrait être également utilisé sous certaines conditions et les versions car il appartient maintenant à Oracle, autre acteur privé majeur dans le cadre des SGBDR avec son propre logiciel propriétaire.


MariaDB: serveur de base de données

MariaDB est un gestionnaire de base de données client-serveur utilisant le langage SQL. Il fait suite à MySQL.




retour au menu de Linux