2010-11-18 378 views
18

¿Cuál es la diferencia entre tuplas y registros?tuplas vs registros

+1

¿En qué contexto, bases de datos? – BoltClock

+0

@BoltClock: en realidad lo estoy preguntando en general, pero supongamos en contexto de Pascal o C – rookie

+0

La terminología depende del contexto: necesita darnos más información. C no tiene ninguna noción de tuplas o registros en el idioma en sí, por lo que depende de la biblioteca o lo que sea que esté usando los términos. –

Respuesta

10

Ambos son product types que le permiten crear tipos de varios tipos más simples. Algunos idiomas tratan a las tuplas como un tipo de registro.

Definiciones

una tupla es un grupo ordenado de elementos, como (10, 25).

Un registro es típicamente un grupo de elementos nombrados como { "x": 10, "y": 25 } donde el valor tiene dos campos etiquetados x y y y el valor del campo es x10.

Etimología

La palabra "tupla" viene del sufijo "tupla" común en "quintuple", "séxtuple", "septuple", "óctuple", que significa grupos de 5, 6, 7, y 8 respectivamente.

La palabra "registro" proviene de las tablas de datos. Puede pensar en todas las tuplas posibles con los campos x y y como una tabla donde las columnas corresponden a campos y filas recopilan todos los campos para una instancia de registro particular.

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

Equivalencia de tipos de productos

se puede tratar a una tupla como un tipo de registro, donde el índice de un elemento en una tupla es su nombre en el registro equivalente, por lo que es (10, 25){ "0": 10, "1": 25 }. Creo que el estándar ML y los idiomas relacionados usan registros como la unidad básica de type conjunction (algebraic data types proporciona disyunción de tipo) y tratan las tuplas como un tipo de registro de esta manera.

5

Según Wikipedia:

En informática, un registro (también llamado tupla o estructura) es una de las estructuras de datos más simples, que consiste en dos o más valores o variables almacenadas en consecutiva posiciones de memoria; para que se pueda acceder a cada componente (llamado campo o miembro del registro) aplicando diferentes desplazamientos a la dirección de inicio.

Yo diría que hay poca diferencia entre una tupla y un registro.

0

El registro es una fila completa de elementos de datos de una tabla, supongamos que un alumno tiene un registro en rollo no. 3 en una tabla, donde como tupla es un super conjunto de registros en el que los datos también pertenecen a otras tablas, p. filas de registros del estudiante no.3 en otras tablas en relación, es decir, asistencia, resultados, contactos, honorarios, etc. Por lo tanto, todo el conjunto de datos de un alumno de todas las tablas es tupla. Como yo lo sé Gracias.