2010-11-18 34 views
18

Sự khác nhau giữa các bộ dữ liệu và bản ghi là gì?tuples vs hồ sơ

+1

Trong bối cảnh, cơ sở dữ liệu nào? – BoltClock

+0

@ BoltClock: thực sự tôi hỏi chung, nhưng hãy giả sử trong ngữ cảnh của Pascal hoặc C – rookie

+0

Thuật ngữ phụ thuộc vào ngữ cảnh: bạn cần cung cấp thêm thông tin cho chúng tôi. C không có khái niệm về tuple hoặc bản ghi trong ngôn ngữ riêng của mình, do đó phụ thuộc vào bất kỳ thư viện hoặc bất cứ điều gì khác đang sử dụng các điều khoản. –

Trả lời

10

Cả hai đều là product types cho phép bạn tạo các loại từ nhiều loại đơn giản hơn. Một số ngôn ngữ coi tuples là một loại bản ghi.

Định nghĩa

Tuple là nhóm phần tử được sắp xếp, như (10, 25).

Một kỷ lục thường là một nhóm các phần tử có tên như { "x": 10, "y": 25 } trong đó giá trị có hai lĩnh vực nhãn xy và giá trị của trường x10.

Từ nguyên

Từ "tuple" xuất phát từ chung "-tuple" hậu tố vào "quintuple", "gấp sáu lần", "gấp bảy lần", "gấp tám lần" có nghĩa là nhóm 5, 6, 7, và 8 tương ứng.

Từ "bản ghi" xuất phát từ các bảng dữ liệu. Bạn có thể nghĩ về tất cả các bộ dữ liệu có thể có với các trường xy dưới dạng bảng nơi cột tương ứng với trường và hàng thu thập tất cả các trường cho một bản ghi cụ thể.

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

tương đương của các loại sản phẩm

Bạn có thể điều trị một tuple như một loại hồ sơ, nơi mà các chỉ số của một phần tử trong một tuple là tên của nó trong kỷ lục tương đương, vì vậy (10, 25){ "0": 10, "1": 25 }. Tôi tin rằng tiêu chuẩn ML và các ngôn ngữ liên quan sử dụng hồ sơ làm đơn vị cơ bản của type conjunction (algebraic data types cung cấp loại bỏ) và xử lý các bộ dữ liệu dưới dạng bản ghi theo cách này.

5

Theo Wikipedia:

Trong khoa học máy tính, một kỷ lục (còn gọi là tuple hoặc struct) là một trong những cấu trúc dữ liệu đơn giản nhất, bao gồm hai hoặc nhiều giá trị hoặc các biến lưu trữ trong liên tiếp vị trí bộ nhớ; để mỗi thành phần (được gọi là một trường hoặc thành viên của bản ghi) có thể được truy cập bằng cách áp dụng các offset khác nhau cho địa chỉ bắt đầu.

Tôi sẽ nói có sự khác biệt nhỏ giữa một bộ và bản ghi.

0

Bản ghi là một hàng đầy đủ các phần tử dữ liệu của một bảng, giả sử một học sinh có một bản ghi trong cuộn số không. 3 trong một bảng, trong đó tuple là một tập hợp siêu bản ghi trong đó dữ liệu thuộc về các bảng khác, ví dụ: hàng của hồ sơ của sinh viên cuộn số 3 trong bảng khác trong mối quan hệ tức là tham dự, kết quả, địa chỉ liên lạc, lệ phí vv Vì vậy, đó là toàn bộ rất nhiều dữ liệu của một sinh viên từ tất cả các bảng là tuple. Như tôi biết. Cảm ơn.