Outils personnels
Vous êtes ici : Accueil Base de données
Se connecter


Mot de passe oublié ?
Nouvel utilisateur ?
 

Base de données

Par Benjamin Poulain Dernière modification 14:52

Les bases des données, au sens large, sont simplement des moyens de stocker les données d'un programme sur le disque dur. Dans un monde idéal, l'ensemble des données d'un programme pourraient être en mémoire RAM et leur accès serait tout le temps rapide. Dans la réalité, diverses raisons font que c'est tout à fait impossible, et la majorité des programmes reposent sur un système de base de donnée.

Quand les données sont sur le disque dur, ce sont les temps d'accès qui deviennent critique. Un disque dur infiniment lent en comparaison du processeur, et l'objectif principal des bases de données et de limiter autant que possible le temps perdu sur les disques dur.

La solution ultime à l'accès au donnée n'existe pas, il faut donc faire des concessions sur ce qu'on attend des bases de données. Dans certains cas, on voudra que les  lectures soient rapide, dans d'autres cas ce sont les modifications qui sont fréquente.

En plus du stockage de données, d'autres fonctionnalités sont souvent disponibles dans les bases de données: assurer l'intégrité des données, gérer des utilisateurs et leurs droits, réaliser des calculs simple sur les données, etc. Ces possibilités valorisent les bases de données, mais ne sont pas fondamentale pour la gestion des données.

Le modèle relationnel

En général, lorsqu'on parle de base de données, on envisage directement le modèle relationnel, SQL, et les implémentations comme PostgreSQL ou SQLite.

Le modèle relationnel est un modèle extrêmement populaire de base de données. C'est le type principal de base utilisé, certains développeurs ignorent jusqu'à l'existence d'autres modèles de données.

Les bases de données relationnelles stockent les données dans des tables, les colonnes donnent les types des données, les lignes sont les données elle-même. Les tables peuvent être reliés entre elle par les données, c'est pourquoi on parle de modèle relationnel. Les liens entre les tables font qu'il est impossible de supprimer une ligne d'une table si une autre table est lié à cette ligne, de même qu'il est impossible de lier une table a des données qui n'existent pas.

Les bases des données relationnelle ont un avantages significatif sur leurs concurrent, elles ont un langage commun pour manipuler les données: le SQL. Le SQL est un langage permettant de réaliser des requêtes à la base de donnée, il permet d'insérer, de modifier et d'accéder aux données. Ce langage n'est réellement compatible entre les bases de données car chaque base promeut ses spécificités. Néanmoins, les différents variantes de SQL se ressemble beaucoup.

Vis-à-vis du type d'optimisation que fournissent les bases de données, les bases de données relationnelles sont optimisés pour des ensembles de données qui varient fréquemment. Le modèle de table est particulièrement adapté aux modifications fréquentes, les accès aux données sont évidemment loin d'être optimaux, mais le compromis est jugé acceptable.

Wishlist

Les articles souhaité pour cette section:

  • le modèle entité relation
  • la normalisation des modèles relationnels
  • mapping objet relationnel
  • data warehouses et ETL

Les gestionnaires de bases de données (relationnelles)

Il existe de nombreux logiciels libre de gestion de bases de données (SGBDR). Parmi ceux-ci, citons deux outils populaires pour la gestion de données:

  • PostgreSQL: PostgreSQL est la base de données open source la plus avancée technologiquement. C'est la base qui offre les meilleures performances et le plus de fonctionnalités. C'est une base de données de type serveur, les données sont donc accessible simultanément pour plusieurs logiciels, y compris via un réseau.
  • SQLite: SQLite est une bibliothèque en langage C qui met en place les fonctionnalités principales des bases de données relationnelles, SQL y compris. L'avantage de SQLite est que le système de base de données est directement intégré avec les programmes distribués.

Il existe aussi une autre base de données libre qui est populaire pour le développement de sites Web: MySQL.

Actions sur le document