مفاهیم اساسی ساختار فایل
سازمان دهی فیلد ها و رکورد ها
- واحد اصلی داده ها فیلد است.
- آرایه مجموعه ای از فیلد های مثل هم است.
- رکورد مجموعه ای از فیلد های متفاوت است.
- رکوردی که در حافظه نگهداری می شود را یک شی گویند
- فیلد های رکورد را اعضای آن می نامند.
ساختار های فیلد
- قرار دادن فیلدها در طول هایی قابل پیش بینی
- شروع کردن هر فیلدی با نشانگر طول فیلد
- قرار دادن یک فاصل در انتهای هر فیلد برای جدا کردن آن از فیلد بعدی
- استفاده از یک عبارت کلیدی برای شناسایی هر فیلد و محتویات آن
روش 1: ثابت کردن طول هر فیلد
- مزیت این روش در این است که با محاسباتی ساده می توان داده ها را از فیلد های اولیه باز یابی کرد
- عیب این روش این است که افزودن فضاهای خالی مورد نیاز برای رساندن فیلد ها به طولی ثابت باعث می شود فایل ها بسیار بزر گتر شوند.
روش2: قرار دادن نشانگر طول فیلد در ابتدای هر فیلد
اگر فیلد ها بیش از حد طولانی نباشند (کمتر از 256بایت) می توان طول آنها را تنها با یک بایت در آغاز هر فیلد نگهداری کرد.
این فیلدها را مبتنی بر طول می نامند.
روش 3 : جدا کردن فیلد ها با فاصل
در این روش کافی است یک کاراکتر خاص یا ترتیبی از کاراکتر ها را که در فیلد ظاهر نمی شود انتخاب کنیم و آن فاصل راپس از نوشتن هر فیلد در فایل وارد کنیم.
در بسیاری از موارد از کاراکتر فضای خالی استفاده
می شود.
روش 4 : استفاده از عبارت کلیدی برای شناسایی فیلد ها
این روش دارای مزیتی است که بقیه ندارند و نخستین ساختاری است که در آن فیلد اطلا عاتی در باره خودش فراهم می آورد.
اما عیب این روش فضای زیادی است که تلف می کند.
ساختار های رکورد
- رکورد مجموعه ای از فیلد ها است.
- مجموعه ای از رکورد ها فایل را تشکیل می دهند.
- برای مراجعه به داده های مقیم در حافظه از کلمه شی و برای مراجعه به داده های مقیم در فایل از کلمه رکورد استفاده می شود.
روش های سازمان دهی رکورد های فایل
- قابل پیش بینی کردن طول رکورد ها بر حسب بایت.
- قابل پیش بینی کردن طول رکورد ها بر حسب فیلد ها.
- شروع هر رکورد با یک نشانگر طول که تعداد بایتهای رکورد را نشان می دهد.
- استفاده از فایل دیگری برای نگهداری آدرس شروع هر رکورد.
- قرار دادن فاصل در انتهای هر رکورد برای جدا کردن آن از رکورد بعدی.
روش 1 : قابل پیش بینی کردن طول رکورد ها بر حسب بایت
- فایلی با طول ثابت , فایلی است که در آن تعداد بایتهای همه رکورد ها یکسان است.
- رکورد های با طول ثابت , غالبا به عنوان محلی برای نگهداری تعداد متغیری از فیلد ها , با طول متغیر به کار می روند.
روش 2 : قابل پیش بینی کردن طول رکورد ها بر حسب فیلد ها.
- در این روش به جای آنکه مشخص کنیم هر رکورد در فایل حاوی تعداد ثابتی از بایتهاست , می توان مشخص کرد که حاوی تعداد ثابتی از فیلد هاست.
روش 3: شروع هر رکورد با یک نشانگر طول که تعداد بایتهای رکورد را نشان می دهد.
- در این روش فیلدی در ابتدای هر رکورد در نظر گرفته می شود و طول رکورد در آنجا ذخیره می گردد.
- از این روش معمولا برای کار با رکورد هایی با طول متغییر استفاده می شود.
روش 4 : استفاده از فایل دیگری برای نگهداری آدرس شروع هر رکورد.
- برای نگهداری آفست بایت مربوط به رکورد های موجود در فایل , می توان از اندیس استفاده کرد.با آفست بایت می توان ابتدای هر رکورد را یافت و طول رکورد را محاسبه کرد
روش 5 : قرار دادن فاصل در انتهای هر رکورد برای جدا کردن آن از رکورد بعدی.
- این حالت در سطح رکورد ها , دقیقا مشابه راه حلی است که برای متمایز ساختن فیلد ها در برنامه ها به کار می رود.