در علم کامپیوتر، یک **رکورد** (همچنین به آن **ساختار** یا **داده مرکب** گفته می‌شود) مجموعه ای از داده‌های ساختار یافته‌است. رکوردهای موجود در یک پایگاه داده یا صفحه گسترده معمولاً «ردیف» نامیده می‌شوند.

یک رکورد مجموعه‌ای از اطلاعات (Field) است که این اطلاعات می‌توانند از انواع مختلف داده‌ها باشند و معمولاً با تعداد و ترتیب ثابت هستند. فیلدهای یک رکورد ممکن است به‌ویژه در برنامه‌نویسی شیءگرا، عضو (Member) یا المان (Element) نامیده شوند که در اینصورت ممکن است با عناصر یک مجموعه اشتباه گرفته شوند.

به‌عنوان مثال، یک تاریخ که شامل فیلد سال، ماه و روز است می‌تواند به عنوان یک رکورد ذخیره شود. یک رکورد پرسنل ممکن است شامل نام، حقوق و دستمزد و رتبه باشد. رکورد اطلاعات یک دایره می‌تواند دارای یک مرکز و شعاع باشد - در این مثال، خود این مرکز ممکن است به عنوان یک رکورد نقطه ای که حاوی مختصات x و y است، نشان داده شود.

تفاوت رکورد و آرایه در این است که تعداد اعضای یک رکورد معمولاً ثابت بوده و هر عضو دارای نام است و می‌تواند نوع مختلفی داشته باشد.

*رکورد* یک نوع داده است که مقادیر و متغیرهایی را توصیف می‌کند. بیشتر زبان‌های رایانه‌ای مدرن به برنامه‌نویس اجازه می‌دهد انواع جدیدی از رکوردها را تعریف کند. این تعریف شامل مشخص کردن نوع داده‌های هر فیلد است که به آن می‌توان دسترسی پیدا کرد. در تئوری نوع، نوع محصول (بدون نام فیلد) به دلیل سادگی، عموماً ترجیح داده می‌شوند، اما انواع رکورد مناسب در زبان‌هایی مانند System F-sub مورد مطالعه قرار می‌گیرد. از آنجا که سوابق نظری نوع ممکن است علاوه بر داده‌ها شامل زمینه‌های درجه اول عملکرد نیز باشد، می‌توانند بسیاری از ویژگی‌های برنامه‌نویسی شی گرا را بیان کنند.

رکوردها می‌توانند در هر فضای ذخیره‌سازی، از جمله حافظه اصلی و دستگاه‌های ذخیره انبوه مانند نوارهای مغناطیسی یا دیسک‌های سخت وجود داشته باشند. رکوردها یک مؤلفه اساسی اکثر داده ساختارها به ویژه داده ساختارهای پیوندی هستند. بسیاری از پرونده‌های رایانه ای به عنوان آرایه ای از سوابق منطقی، که اغلب به سوابق فیزیکی بزرگتر یا بلوک‌هایی برای کارایی دسته‌بندی می‌شوند، سازماندهی می‌شوند.

پارامترهای یک عملکرد یا رویه اغلب می‌توانند به عنوان قسمتهایی از یک رکورد مشاهده شوند؛ و آرگومان‌های ارسال شده به آن عملکرد می‌توانند به عنوان یک مقدار رکورد که در زمان تماس به آن متغیر اختصاص می‌یابد، مشاهده شوند. همچنین، در پشته فراخوانی که اغلب برای اجرای تماسهای رویه ای استفاده می‌شود، هر ورودی یک *سابقه فعال سازی* یا *قاب تماس است* که شامل پارامترهای رویه و متغیرهای محلی، آدرس برگشت و سایر قسمتهای داخلی است.

یک شیء در زبان برنامه‌نویسی شیءگرا، درواقع یک رکورد است که رویه‌هایی جهت کنترل رکورد به آن اختصاص یافته است؛ و انواع شیء حالات پیچیده‌تری از انواع رکورد هستند. در واقع در اکثر زبان‌های شیءگرا، رکوردها صرفاً حالت‌های خاصی از اشیاء هستند که بعنوان ساختار داده قدیمی ساده (PODS) شناخته می‌شوند تا از اشیائی که از ویژگی‌های شیءگرایی استفاده می‌کنند متمایز گردند.

یک رکورد را می‌توان به عنوان آنالوگ رایانه‌ای یک دستیار ریاضی مشاهده کرد، البته ممکن است بسته به قراردادها و زبان برنامه‌نویسی خاص تاپل یک رکورد در نظر گرفته شود یا برعکس. در همین راستا، یک نوع رکورد را می‌توان به عنوان آنالوگ زبان رایانه ای محصول Cartesian دو یا چند مجموعه ریاضی یا اجرای یک نوع محصول انتزاعی به یک زبان خاص مشاهده کرد.

منابع
-----

1. ↑  "Computer Science Dictionary Definitions". *Computing Studenta*. Archived from the original on 24 January 2021. Retrieved Jan 22, 2018.
2. ↑  Radványi, Tibor (2014). *Database Management Systems*. Eszterházy Károly College. p. 19. Retrieved 23 September 2018.
3. ↑  Kahate, Atul (2006). *Introduction to Database Management Systems*. Pearson. p. 3. ISBN 978-81-317-0078-5. Retrieved 23 September 2018.
4. ↑  Connolly, Thomas (2004). *Database Solutions: A Step by Step Guide to Building Databases* (2nd ed.). Pearson. p. 7. ISBN 978-0-321-17350-8.
5. ↑  Felleisen, Matthias (2001). *How To Design Programs*. MIT Press. pp. 53, 60. ISBN 978-0-262-06218-3.

| * ن
* ب
* و
انواع داده |
| --- |
| یکاهای اطلاعات | 
* بیت (رایانه)
* بایت
* Trit
* Tryte
* Word
* آرایه بیتی

 |
| عددی | 
* Arbitrary-precision or bignum
* Complex
* Decimal
* Fixed point
* ممیز شناور
	+ Double-precision floating-point format
	+ Extended precision
	+ Long double
	+ Octuple precision
	+ Quadruple precision
	+ فرمت ممیز شناور با دقت یگانه
	+ Reduced precision
		- Minifloat
		- Half precision
		- bfloat16
* متغیرهای رشته‌ای کوتاه
	+ signedness
* Interval
* Rational

 |
| اشاره‌گر | 
* آدرس حافظه
	+ آدرس فیزیکی
	+ virtual
* مرجع (علوم رایانه)

 |
| نوشته ساده | 
* نویسه (رایانه)
* رشته (علوم رایانه)
	+ null-terminated

 |
| Composite | 
* Algebraic data type
	+ generalized
* نوع داده آرایه
* آرایه انجمنی
* کلاس (برنامه‌نویسی)
* Dependent
* Equality
* Inductive
* لیست (نوع داده انتزاعی)
* شیء (علوم رایانه)
	+ metaobject
* Option type
* Product
* رکورد یا ساختار (علم کامپیوتر)
* Refinement
* Set
* Union
	+ tagged

 |
| دیگر | 
* نوع داده بولی
* Bottom type
* ظرف (نوع داده انتزاعی)
* Enumerated type
* مدیریت استثناء
* Function type
* Opaque data type
* Recursive data type
* نشان‌بر
* جریان (رایانش)
* Top type
* Type class
* Unit type
* نوع void

 |
| موضوعاتمرتبط | 
* نوع داده انتزاعی
* ساختمان داده‌ها
* برنامه‌نویسی جنریک
* Kind
	+ metaclass
* چندریختی پارامتری
* Primitive data type
* Protocol
	+ رابط (رایانش)
* چند ریختی زیرنوعی (برنامه نویسی کامپیوتر)
* Type constructor
* Type conversion
* سیستم انواع
* نظریه نوع‌ها

 |
| See also الگو:یکاهای اطلاعات |