دادهها ممکن است در فایل به دو صورت متنی و باینری وجود داشته باشند. این دو روش ذخیره شدن دادهها در موارد زیر با یکدیگر تفاوت دارند.
– تعیین انتهای خط؛
– تعیین انتهای فایل؛
– نحوه ذخیره شدن اعداد روی دیسک.
در فایل متنی اعداد به صورت رشتهای از کاراکترها ذخیره میشوند، ولی در فایل باینری اعداد با همان صورتی که در حافظه قرار میگیرند روی دیسک ذخیره میشوند. برای مثال، در فایل متنی عدد ۵۲۶، سه بایت را اشغال میکند، زیرا هر رقم آن به صورت کاراکتر در نظر گرفته میشود، ولی در فایل باینری این عدد در ۲ بایت ذخیره میگردد (چون عدد ۵۲۶ عدد صحیح است و اعداد صحیح در حافظه کامپیوتر در دو بایت ذخیره میشوند).
در فایل متنی، کاراکتری که پایان خط را مشخص میکند، در حین ذخیره شدن روی دیسک باید به کاراکترهای CR/LF، line feed، carriage تبدیل شود و در حین خوانده شدن عکس این عمل باید صورت گیرد؛ یعنی کاراکترهای CR/LF باید به کاراکتر تعیینکننده پایان خط تبدیل شوند. بدیهی است که این تبدیلها مستلزم صرف وقت است، لذا دسترسی به اطلاعات موجود در فایلهای متنی کندتر از فایلهای باینری است.
اختلاف دیگر فایلهای متنی و باینری در تشخیص انتهای فایل است. در هر دو روش ذخیره فایلها، طول فایل را سیستم نگهداری میکند و انتهای فایل با توجه به این طول مشخص میگردد. در حالت متنی کاراکتر ۱A (در مبنای ۱۶) یا ۲۶ (در مبنای ۱۰) مشخصکننده انتهای فایل است (کلید z + Ctrl). در حین خواندن دادهها از روی فایل متنی، وقتی کنترل به این کاراکتر رسید بیانگر این است که دادههای موجود در فایل تمام شدهاند. در فایل باینری ممکن است عدد ۱A (در مبنای ۱۶) یا ۲۶ (در مبنای ۱۰) جزئی از اطلاعات باشند و بیانگر انتهای فایل نباشند. لذا نحوه تشخیص انتهای فایل در فایل باینری با فایل متنی متفاوت است.
از نظر نحوه ذخیره و بازیابی دادهها در فایل دو روش وجود دارد:
– سازمان فایل ترتیبی
– سازمان فایل تصادفی.
در سازمان فایل ترتیبی، رکوردها به همان ترتیبی که از ورودی خوانده میشوند در فایل قرار میگیرند و در هنگام بازیابی، به همان ترتیبی که در فایل ذخیره شدهاند در دسترس قرار میگیرند.
در سازمان فایل تصادفی، به هر رکورد یک شماره اختصاص مییابد. لذا اگر فایل دارای n رکورد باشد، رکوردها از ۱ تا n شمارهگذاری خواهند شد. وقتی که رکورد در یک فایل با سازمان تصادفی قرار گرفت، محل آن توسط الگوریتم پیداکننده آدرس که با فیلد کلید ارتباط دارد مشخص میشود. در این صورت دو رکورد با فیلد کلید مساوی نمیتوانند در فایل تصادفی وجود داشته باشند. در سازمان فایل تصادفی مستقیماً میتوان به هر رکورد دلخواه دسترسی پیدا کرد بدون اینکه رکوردهای قبل از آن خوانده شوند.
دیدگاهها بسته شدهاند.