2010-11-18 41 views
18

Quelle est la différence entre tuples et records?tuples vs records

+1

Dans quel contexte, les bases de données? – BoltClock

+0

@BoltClock: en fait, je demande généralement, mais supposons dans le contexte de Pascal ou C – rookie

+0

La terminologie dépend du contexte: vous devez nous donner plus d'informations. C n'a aucune notion de tuples ou d'enregistrements dans le langage lui-même, cela dépend donc de la bibliothèque ou de tout autre élément qui utilise les termes. –

Répondre

10

Les deux sont product types qui vous permettent de générer des types à partir de plusieurs types plus simples. Certaines langues traitent les tuples comme une sorte d'enregistrement.

Définitions

un tuple est un groupe ordonné d'éléments similaires (10, 25).

Un enregistrement est typiquement un groupe d'éléments nommés comme { "x": 10, "y": 25 } où la valeur a deux champs marqués x et y et la valeur du champ x est 10.

Etymologie

Le mot "tuple" vient du suffixe "uplet" commun sur "quintuple", "sextuple", "septuple", "octuple" qui signifie des groupes 5, 6, 7, et 8 respectivement.

Le mot «record» provient de tables de données. Vous pouvez penser à tous les tuples possibles avec les champs x et y sous la forme d'une table où les colonnes correspondent aux champs et les lignes collectent tous les champs pour une instance d'enregistrement particulière.

value address  field x field y 
0xABCD   10   25 
0x1234   42   "xyz" 

Equivalence des types de produits

Vous pouvez traiter un tuple comme une sorte de disque, où l'indice d'un élément dans un tuple est son nom dans l'enregistrement équivalent, (10, 25) est { "0": 10, "1": 25 }. Je crois que Standard ML et les langues connexes utilisent les enregistrements comme unité de base de type conjunction (algebraic data types fournissent la disjonction de type) et traitent les tuples comme un genre d'enregistrement de cette manière.

5

Selon Wikipedia:

En science informatique, un record (également appelé tuple ou struct) est l'un des plus simples structures de données, composé de deux ou plusieurs valeurs ou variables stockées dans consécutives positions de mémoire; de sorte que chaque composant (appelé champ ou membre de l'enregistrement) peut être accédé en appliquant différents décalages à l'adresse de départ.

Je dirais qu'il y a peu de différence entre un tuple et un enregistrement.

0

L'enregistrement est une ligne complète d'éléments de données d'une table, disons qu'un étudiant a un enregistrement sous le numéro de rouleau. 3 dans une table, où tuple est un super ensemble d'enregistrements dans lequel les données appartiennent également à d'autres tables, par ex. des rangées d'enregistrements de la liste des élèves n ° 3 dans d'autres tableaux en relation avec la présence, les résultats, les contacts, les frais, etc. Donc, tout ce lot de données d'un étudiant de toutes les tables est tuple. Comme je le sais. Merci.