Dans une base de données , une table est un ensemble de données connexes organisées sous forme de tableau ; composées de colonnes et de lignes .
Dans les bases de données relationnelles et les bases de données à fichiers plats , une table est un ensemble d'éléments de données (valeurs) utilisant un modèle de colonnes verticales (identifiables par nom) et de lignes horizontales .la cellule étant l'unité où une ligne et une colonne se croisent. Un tableau comporte un nombre spécifié de colonnes, mais peut comporter n'importe quel nombre de lignes. Chaque ligne est identifiée par une ou plusieurs valeurs apparaissant dans un sous-ensemble de colonnes particulier. Un choix spécifique de colonnes qui identifient de manière unique les lignes est appelé la clé primaire .
« Table » est un autre terme pour « relation » ; bien qu'il y ait une différence dans le fait qu'une table est généralement un multi-ensemble (sac) de lignes alors qu'une relation est un ensemble et n'autorise pas les doublons. Outre les lignes de données réelles, les tables sont généralement associées à des métadonnées , telles que des contraintes sur la table ou sur les valeurs dans des colonnes particulières.
Les données d'une table n'ont pas besoin d'être stockées physiquement dans la base de données. Les vues fonctionnent également comme des tables relationnelles, mais leurs données sont calculées au moment de la requête. Les tables externes (dans Informix ou Oracle par exemple) peuvent également être considérées comme des vues.
Dans de nombreux systèmes de calcul statistique, tels que R et pandas de Python , un cadre de données ou une table de données est un type de données prenant en charge l'abstraction de table. Conceptuellement, il s'agit d'une liste d'enregistrements ou d'observations contenant tous les mêmes champs ou colonnes. L'implémentation consiste en une liste de tableaux ou de vecteurs , chacun portant un nom.
Tables versus relations
En termes de modèle relationnel de bases de données, une table peut être considérée comme une représentation pratique d'une relation , mais les deux ne sont pas strictement équivalentes. Par exemple, une table SQL peut potentiellement contenir des lignes en double, alors qu'une vraie relation ne peut pas contenir de lignes en double que nous appelons tuples . De même, la représentation sous forme de table implique un ordre particulier des lignes et des colonnes, alors qu'une relation est explicitement non ordonnée. Cependant, le système de base de données ne garantit aucun ordre des lignes à moins qu'une ORDER BYclause ne soit spécifiée dans l' SELECT instruction qui interroge la table.
Une représentation tout aussi valable d'une relation est un graphique n -dimensionnel , où n est le nombre d'attributs (colonnes d'un tableau). Par exemple, une relation avec deux attributs et trois valeurs peut être représentée sous la forme d'un tableau avec deux colonnes et trois lignes, ou sous la forme d'un graphique bidimensionnel avec trois points. Les représentations sous forme de tableau et de graphique ne sont équivalentes que si l'ordre des lignes n'est pas significatif et si le tableau ne contient pas de lignes en double.
Comparaisons
Bases de données hiérarchiques
Dans les systèmes non relationnels, les bases de données hiérarchiques , la contrepartie distante d'une table est un fichier structuré , représentant les lignes d'une table dans chaque ligne du fichier et chaque colonne dans une ligne. Cette structure implique qu'une ligne peut contenir des informations répétitives, généralement dans les segments de données enfants. Les données sont stockées dans une séquence d'enregistrements physiques.
Feuilles de calcul
Contrairement à une feuille de calcul , le type de données d'une colonne est généralement défini par le schéma décrivant la table. Certains systèmes SQL , tels que SQLite , sont moins stricts concernant les définitions de types de données de colonnes.