رکورد را میتوان از سه دیدگاه مدنظر قرار داد :
الف) رکورد در سطح انتزاعی abstractive که رکورد را مستفل از جنبه های نمایش ان و به صورت کلی نگاه میکنیم .
ب) رکورد از دیدگاه برنامه نویس که در سطح منطقی logical قرار میگیرد .
این رکورد توسط برنامه نویس در برنامه تعریف میشود .
ج) رکورد ذخیره شده stored که از نظر فیزیکی مدنظر قرار میگیرد که رکورد در کجا به چه صورتی ذخیره شده است .
رکورد منطقی طراحی شده توسط برنامه نویس ان چیزیستکه برنامه نویس میبیند . حال انکه در سطح فیزیکی رکورد ممکن است اطلاعات دیگری نیز به ان اضافه شود و ساختار رکورد را برای ذخیره در حافظه تغییر دهد . معمولا رکوردها در سطح فیزیکی اطلاعاتی کنترلی و داده ای نیز خواهند داشت . بخش کنترلی اغلب پیشوندی است . که به ان بخش غیر داده ای meta section نیز میگویند . بخش کنترلی نیز توسط سیستم فایل استفاده میشود و از دید برنامه مخفی است .
در بخش کنترلی اطلاعاتی نظیر : طول رکورد . نوع رکورد . اشاره گرها . پرچمهای عملیاتی و حفاظتی . اطلاعاتی خاص ویژه بعضی ساختارها ذخیره میشود .
طول رکورد ممکن است متغیر باشد و اگر ثابت بود نیازی به طول رکورد نداریم .
نوع رکورد در بعضی فایلهای Multi type چند نوعی مهم است . چرا که در این فایلها ممکن است رکوردهای دو نوع موجودیت با هم حفظ شود مثل رکورد اطلاعات استاد و دانشجو باهم . که باید مشخص شود این اطلاعات مربوط به کدامیک است ؟ به فایلهایی که تنها یک نوع رکورد ذخیره میکنند Mono Type گویند .
اشاره گر وظیفه ارتباط منطقی رکورد ها را دارد . چرا که در هنگام ذخیره رکورد به حالت فیزیکی الزاما شبیه به حالت منطقی عملیات ذخیره سازی صورت نمیگیرد . بنابراین با استفاده از اشاره گر ها باید انها را به هم متصل کرد . ( خانه های یک ارایه روی کاغذ کنار یکدیگرند . درحالیکه در هارددیسک به این ترتیب کنار هم قرار نمیگیرند . ) نحوه کنار هم قرار گرفتن خانه های یک ارایه در هارددیسک نحوه قرار گرفتن فیزیکی ان و نحوه قرار گرفتن انها روی کاغذ نحوه منطقی است .
پرچمهای حفاظتی برای نشان دادن عملیاتی که قرار است بر رکورد انجام شود یا شده اند به کار میروند .
این فلگها flag بر دو گونه اند : فلگهایی برای حق دستیابی برای خواندن . حق دستیابی برای نوشتن ( شامل : ایجاد - ویرایش - حذف )
فلگهای (پرچمها) عملیاتی برای نشان دادن عملیاتی است که قرار است روی رکورد انجام شود . یا نشان دادن عملیاتی که روی رکورد انجام شده است .
فرضا قرار است رکوردی حذف شود . عملیات به این صورت خواهد بود که با قرار دادن علامتی خاص بر سر رکورد فرضا 1 ان رکورد حذف منطقی میشود . سپس در فرصت مناسب ان رکورد حذف فیزیکی میشود . مثلا ممکن است با پرچمی مشخص کنیم که کاربر تنها میتواند ان رکورد را بخواند read only و نه تغییر دهد .
اطلاعات ویژه بعضی ساختارها :
در ساختارهای فایلها گاهی اوقات لازم است اطلاعات خاصی بر انها اورده شود که در فصول اینده توضیح خواهیم داد . مثلا در یک رکورد باید این اطلاع باشد که این رکورد رکورد انتهایی فایل است .
کلید Key :
صفت خاصه یا ترکیبی از چند صفت خاصه که در طول حیات فایل (File Life Cycle) نمونه منحصر بفردی از نمونه های موجودیتهای مختلف در فایل باشد را کلید میگوییم . همیشه سعی میشود صفت خاصه ای بعنوان کلید قرار بگیرد که کوتاهترین طول را دارد .
هرگاه چند کلید رکورد داشته باشیم . کلید رکورد اصلی را کلیدی در نظر میگیریم که کوتاهتر است و به ان اصطلاحا Primary Key : PK و به دیگر کلیدها Secondry Key : SK میگوییم
کلید خارجی Foreign Key :
صفت خاصه ای از موجودیت ( رکورد) است که بعنوان کلید شناخته شده است . منتهی این صفت خاصه تنها برای یکتا کردن مقدار موجودیت بوجود امده است و از اول جزء صفات موجودیتهای ما نبوده است .
مثلا فیلد شماره دانشجویی در یک موجودیت کلید فایلی است که بوجود امده است نه انکه از قبل بوده باشد . مثلا در صفات یک دانشجو اگر شماره شناسنامه بعنوان کلید قرار بگیرد چون از قبل جز صفات بوده است دیگر کلید خارجی نیست .