2010-11-18 13 views
18

Czym różnią się krotki i rekordy?krotki vs rekordy

+1

W jakim kontekście, bazy danych? – BoltClock

+0

@BoltClock: właściwie pytam ogólnie, ale załóżmy, że w kontekście Pascala lub C – rookie

+0

Terminologia zależy od kontekstu: musisz podać nam więcej informacji. C nie ma pojęcia o krotkach lub zapisach w samym języku, więc zależy to od biblioteki lub czegokolwiek, co używa tych terminów. –

Odpowiedz

10

Oba to product types, które umożliwiają tworzenie typów z wielu prostszych typów. Niektóre języki traktują krotki jako rodzaj zapisu.

Definicje

krotka jest uporządkowana grupy elementów, na przykład (10, 25).

Rekord jest zazwyczaj grupa nazwanych elementów jak { "x": 10, "y": 25 } gdzie wartość ma dwa pola oznaczone x i y a wartość pola x jest 10.

Etymologia

Słowo „krotka” pochodzi od „wspólne” -tuple przyrostek „pięciokrotnych sześcioodcinkowy” „” „”, „siedmiokrotny ośmiokrotne”, które oznaczają grupy 5, 6, 7 i 8 odpowiednio.

Słowo "rekord" pochodzi z tabel danych. Możesz myśleć o wszystkich możliwych krotkach z polami x i y, ponieważ tabela, w której kolumny odpowiadają polom i wierszom, zbiera wszystkie pola dla określonej instancji rekordu.

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

Równoważność rodzajów produktów

można traktować krotki jako swego rodzaju rekord, gdzie indeks elementu w krotce ma swoją nazwę w równoważnym rekordu, więc (10, 25) jest { "0": 10, "1": 25 }. Wierzę, że Standard ML i języki pokrewne używają rekordów jako podstawowej jednostki dostarczającej typ dysocjacji) i traktują krotki jako rodzaj zapisu w ten sposób.

5

Według Wikipedii:

W informatyce rekord (zwany także krotka lub struct) jest jedną z najprostszych struktur danych, składający się z dwóch lub więcej liczb lub zmiennych przechowywane w kolejnych pozycje pamięci; aby dostęp do każdego komponentu (nazywanego polem lub członkiem rekordu) był możliwy poprzez zastosowanie różnych przesunięć względem adresu początkowego.

Powiedziałbym, że między krotką a rekordem jest niewielka różnica.

0

Rekord to kompletny wiersz elementów danych z jednego stołu, powiedzmy, że uczeń ma rekord pod rolką nr. 3 w jednej tabeli, gdzie jako krotka jest super zbiorem rekordów, w których dane należą również do innych tabel, np. rzędy rekordów w rolce studenckiej nr 3 w innych tabelach w związku, tj. frekwencja, wyniki, kontakty, opłaty itp. Tak więc cała grupa danych jednego ucznia ze wszystkich tabel jest krotką. Jak ja to wiem. Dzięki.