مفاهیم اولیه در ساختار یک فایل، ساختار فیلد ها و رکورد ها (9)
مفاهیم اولیه در ساختار یک فایل، ساختار فیلد ها و رکورد ها (9)
دپارتمان آموزش کامپیوتر – کیش تک؛
ساختار یک فایل
- هر فايل مجموعهای از بخشهای منطقی بنام رکورد (Record) ميباشد.
- هر رکورد مجموعهای از واحدهای مفهومی بنام فيلد (Field) ميباشد.
رکورد در سطح منطقی (ساختار فیلد ها)
از ديد برنامهساز، ركورد مجموعهاي از فيلدهاست كه داراي ساختار مشخص و مبتني بر طرح خاصي ميباشند.
براي پيادهسازي ركورد، دو طرح كلي وجود دارد:
1- ركوردها با قالب ثابت و مكاني
در اين روش تعداد، مكان و طول فيلدها در نمونههاي مختلف ركورد، يكسان است.
2- ركورد با قالب غيرثابت و غيرمكاني
در اين روش تعداد، طول و محل قرارگيري فيلدها در ركورد ممكن است متغير باشند.
انواع ساختار فيلد – مزايا و معايب
1) فيلدهاي با طول مشخص (Fixed Length):
هر يك از فيلدهاي ركورد، آرايه اي ازكاراكتر ها هستند كه در اين روش حداكثر طول آن ها مشخص شده است.
در اين روش:
- دسترسي به هر فيلد راحت و سريع مي باشد
- ولي مقداري از فضاي رزرو شده ممکن است بيهوده مصرف شود.
- از طرفي چنانچه فضاي كافي براي ذخيره سازي درنظر گرفته نشده باشد ممكن است اطلاعات از بين بروند.
- فضاي اضافی با کاراکتر Space (يا صفر) پرميگردد.
اين روش براي داده هايي كه طول آنها تغيير نميكند مناسب است. (كد ملي، شماره دانشجويي،….)
2) فيلدهاي محتوي شاخص طولي (Length indicator):
روش ديگر سازمان دهي فيلدها، جهت تشخيص عناصر اصلي داده در فايل،اين است كه طول هر فيلد درابتداي آن فيلد قرار داده شود. اگر طول هريك از فيلدها كمتر از 256 باشد، براي نگهداري آن نياز به يك بايت است.
در اين روش:
فضاي اضافي رزرو نشده و بيهوده به هدر نميرود.
امکان پرش به فيلدهاي بعدي براحتي ميسر است.
ولي لااقل يک بايت براي هر فيلد اضافه ميشود (با محدوديت طول فيلد: 255)
3) فيلدهاي محتوي کاراکتر پاياني (يا جداکننده) (Separator):
يكي ديگر از روش هاي جداكردن فيلدها از يكديگر، اين است كه بين آنها كاراكتري به عنوان فاصل يا جداكننده قرار گيرد.
در اين روش:
- فضاي اضافی رزرو نشده و بيهوده به هدر نميرود.
- محدوديت روي طول فيلد وجود ندارد.
- ولي کاراکتر جداکننده نبايستي در خود فيلد استفاده شود.
- در ضمن امکان پرش سريع به فيلدهاي بعدي وجود ندارد.
- کاراکترهاي هر فيلد بايستي يک به يک چک شوند.
4) فيلدهاي مشخص شده بوسيله کلمه کليدي:
- هر فيلد بصورت Keyword=value مشخص ميشود.
- مانند حالت سوم نياز به کاراکتر پاياني (يا جدا کننده) ميباشد.
- ترتيب فيلدها اهميتی ندارد.
- در صورت عدم احتياج به يک فيلد، مستقيما فيلد بعدي در رکورد ثبت ميگردد.
- چند کاراکتر اضافي (براي Keyword) به طول هرفيلد اضافه ميشود.
جهت ثبت نام در دوره های کامپیوتر ما اینجا کلیک کنید.
ساختار ركوردها
- مشابه فيلدها، ركوردها نيز به دو روش سازماندهي ميشوند:
- ركوردهايي با طول ثابت(طول ركورد قابل پيش بيني است).
- ركوردهايي با طول متغير(طول ركورد قابل پيش بيني نيست).
درساختار ركوردهايي با طول ثابت، طول ركوردها را مي توان بر حسب تعداد بايتها يا تعداد فيلدها پيش بيني كرد. در هر يك از اين دو حالت، مي گوييم طول ركورد ثابت است.
دلايل متغير بودن طول ركوردها؟
ركوردهاي طول متغير به چند دليل وجود دارند:
1- متغير بودن طول فيلدها: فيلدي به نام FirstName مي تواند تا 11 كاراكتر باشد، ولي نامي مثل “Ali” سه بايتي و نامي مثل “Mohammad” هشت بايتي است. به همين دليل طول ركورد مربوط به “Ali” با طول ركورد مربوط به “Mohammad” مي تواند متفاوت باشد.
2- اطلاعات تكرار شونده: ممكن است برخي فيلدها داراي چندين صفت خاصه باشند. مثلا فيلد دروس ترم در ركورد دانشجو داراي مقادير مختلف خواهد بود. يك دانشجو ممكن است در ترم جاري 5 درس مختلف اخذ كرده باشد و دانشجوي ديگر 7 درس.
3- متفاوت بودن ساختار ركوردها: ممكن است براي ركورد، تعداد مختلفي از فيلدها را داشته باشيم. براي مثال در ركورد كارمندان يك سازمان، فيلدهاي كارمندان رسمي و قراردادي با يكديگر متفاوت است.
انواع ساختار رکورد
1) رکوردهاي با طول مشخص:
- معمولا با فيلدهاي بطول مشخص هستند.
- ولي انواع ديگر فيلدها نيز ميتوانند در چنين رکوردي تعريف شوند.
- به هر حال فضاي باقيمانده با کاراکتري مثل Space پر خواهد شد. (Padding)
2) رکوردهاي همراه با شاخص طول:
- در آغاز رکورد حداقل يک يا دو کاراکتر براي شاخص طول لازم است.
- معمولا با فيلدهاي بطول متغير تعريف ميشوند.
3) رکوردهاي محتوي کاراکتر پاياني:
- کد Ascii پايان رکورد (End-of-Record)
- يا يک کاراکتر ديگر مثل ‘/’ يا ‘\n‘ يا ‘\LF‘
4) رکوردهاي تعريف شده به کمک ايندکس:
- يک فايل جداگانه بنام Index file لازم ميباشد.
- که حاوي آدرس اولين بايت هر رکورد ميباشد.
- معمولا با فيلدهاي بطول متغير تعريف ميشوند.
مزايا و معايب انواع ساختار رکورد چگونه است؟
رکوردهاي با طول ثابت:
- از نظر دسترسي سريع به هر رکورد بهتر هستند.
- ولي مقدار فضاي رزرو شده ممکن است بيهوده بماند.
رکوردهاي با طول متغير:
- از به هدر رفتن فضای اضافی پيشگيري ميکنند.
- ولي دسترسي سريع به هر رکورد مشکل خواهد داشت.
- استفاده از ايندکس امکان دسترسي را سريع ميسازد.