فصل پنجم
مدیریت فایل هایی از رکورد ها
کلید های رکورد
برای جستجو بین رکورد ها باید یک شکل استاندارد برای کلید ها تعریف کنیم . این شکل استاندارد را شکل کانونیک کلید می نامند.
جستجوی ترتیبی
در این روش فایل رکورد به رکورد خوانده می شود تا رکوردی با یک کلید خاص پیدا شود.
ارزیابی جستجوی ترتیبی
به طور کلی کار مورد نیاز برای جستجوی ترتیبی در فایلی با
N رکورد با n متناسب است.
حداکثر n مقایسه و به طور میانگین n/2 مقایسه مورد نیاز است.
بهبود کارایی جستجوی ترتیبی با بلوک بندی رکورد ها
- در این روش با خواندن بلوکی از چند رکورد به یکباره و سپس پردازش آن بلوک از رکورد ها در حافظه , کارایی جستجو را بهبود می بخشیم.
- گرچه بلوک بندی می تواند منجر به بهبود چشمگیر کارایی شود , مرتبه عملکرد جستجوی ترتیبی را تغییر نمی دهد.
- زمان جستجو هنوز o(N) است و با اندازه فایل نسبت مستقیم دارد.
- بلوک سازی , اختلاف میان سرعت دستیابی در حافظه و زمان دستیابی در حافظه ثانویه را نشان می دهد.
- بلوک سازی تعداد مقایسه هایی را که باید در حافظه انجام شود تغییر نمی دهدو احتمالا مقدار داده های انتقال یلفته میان حافظه و دیسک را افزایش می دهد.
- با بلوک سازی در زمان صرفه جویی می شود زیرا مقدار جستجو کاهش می یابد.
- بدین ترتیب تفاضل میان زمان جستجو و زمان عملیات دیگر , نظیر انتقال داده ها با دستیابی به حافظه , نیروی محرکه طراحی ساختار فایل است.
ابزار های یونیکس برای پردازش ترتیبی
متداول ترین ساختار فایل که در یونیکس وجود دارد یک فایل اسکی با کاراکتر خط جدید به عنوان فاصل رکورد ها و در صورت امکان , فضای خالی به عنوان فاصل فیلد هاست.
دستیابی مستقیم
- هنگامی که بتوانیم مستقیما به ابتدای یک رکورد برویم و آن را به حافظه وارد کنیم به آن رکورد دستیابی مستقیم داریم.
رکورد های سرایند
هر فایل دارای یک رکورد سرایند است که حاوی سه مقدار است:
- اندازه سرایند
- تعداد رکورد ها
- اندازه هر رکورد
دستیابی به فایل و سازمان دهی فایل
- رکورد های طول متغییر و رکورد های طول ثابت مربوط به بحث سازمان دهی فایل و دستیلبی مستقیم و دستیابی ترتیبی مربوط به مبحث دستیابی به فایل می باشد.
- تعامل میان ساز مان دهی فایل و دستیابی به فایل , بسیار سودمند است.
داده های انتزاعی برای دستیابی به فایل
این مفهوم که نیازی نیست داده ها را به صورتی که در یک رسانه خاص ظاهر شده اند در نظر بگیریم , در عملیات مدل دادهای انتزاعی مستتر است.
سرآیند ها و فایل های خود توصیف گر
به فایلی که در رکورد سرایند آن اطلاعات بیشتری در باره ساختار فایل وجود داشته باشد فایل خود توصیف گر می گویند.
اطلاعاتی که میتوان در سرآیند نوشت
- نامی برای هر فیلد
- طول هر فیلد
- تعداد فیلد های هر رکورد
عوامل موثر بر قابلیت حمل
- اختلاف میان سیستم های عامل
- اختلاف میان زبان ها
- اختلاف در معماری ماشین
توافق بر سر رمز گذاری دودویی
- IEEE مشخصات فرمت استاندارد را برای اعداد ممیز شناور 32 بیتی , 64 بیتی و 128 بیتی و برای اعداد صحیح 8 بیتی , 16 بیتی و 32 بیتی وضع کرده است.
یونیکس و قابلیت حمل
یونیکس ابزاری به نام dd فراهم آورده است.گرچه dd اساسا برای کپی کردن داده ها از روی سیستم های یونیکس بر روی نوار و بالعکس در نظر گرفته شده است, می توان آن را برای تبدیل از منبع فیزیکی دیگری به کار برد.
مواردی که ابزار dd در اختیار قرار می دهد:
- تبدیل از یک اندازه بلوک به دیگری
- تبدیل رکورد های طول ثابت به طول متغییر و بالعکس
- تبدیل اسکی به ابسدیک و بالعکس
- تبدیل همه کاراکتر ها به حروف کوچک یا حروف بزرگ
- تبادل هر جفت دلخواه از بایتها