PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزشی مفاهیم اولیه سیستم فایل



آبجی
15th February 2010, 03:03 PM
نوع موجودیت entity type :

به هر چیزی در اطراف محیط ما اعم از افراد اشیا و هر پدیده ای كه میتوانیم در رابطه با انها اطلاع داشته باشیم موجودیت گفته میشود . هر موجودیت میتواند نوع گونه ای در سطح طبقاتی خود داشته باشد كه به ان نوع موجودیت entity type گوییم . مثلا نوع موجودیت گوسفند حیوان است .

محیط عملیاتی یا خرد جهان واقع semantec data unit :
به محیطی گفته میشود كه میخواهیم در رابطه با ان محیط یك سری داده ها را ذخیره بازیابی و پردازش كنیم .
مثلا اگر محیط عملیاتی كلاس درس باشد . موجودیتهای ان كلاس اعم از دانشجو استاد و صندلیها از محیط عملیاتی اطلاعاتی به مامیدهند .

صفات خاصه attribute :
انواع موجودیت ها entity types توسط صفات خاصه مربوط به خودشان از یكدیگر متمایز میشوند . به عبارت دیگر عاملی كه مسبب تمایز دو موجودیت در یك محیط عملیاتی میشود صفت خاصه ان موجودیت است .
مثلا صفت خاصه استاد : مدرك . سابقه تحصیل . درجه استادی . نام . نام خانوادگی میتواند باشد .

اطلاع :
هر صفت خاصه از دو مولفه تشكیل میشود : اسم صفت خاصه و مقدار صفت خاصه .
به مجموعه این دو مولفه صفت خاصه گوییم . كه منجر به وجود اطلاع در مورد ان موجودیت میشود . اطلاع توسط انسان یا ماشین ذخیره بازیابی و پردازش میشود .
در مثال زیر نام درس : اسم صفت خاصه است و ذخیره وبازیابی اطلاعات مقدار صفت خاصه است .
نام درس = ذخیره و بازیابی اطلاعات

فیلد :
به مكان ذخیره شدن یك واحد معنادار ( فقره اطلاع) فیلد گوییم . فیلد كوچكترین واحد اطلاعات در فایل است كه معنایی منطقی دارد .

ركورد :
به مجموعه ای از فیلدهای مربوط به یك نوع موجودیت در یك محیط عملیاتی ركورد گویند .
مثلا به مجموعه فیلدهای : نام – نام خانوادگی – مدرك – ادرس ركورد گوییم . واحد پردازش فایل است از دید پردازشگر فایل .

فایل :
‌مجموعه ركوردها فایل را میسازد .

ساختارهای فیلد :
برای مشخص كردن فیلدها در ركوردها راههای مختلفی وجود دارد :

1.قراردادن فیلدها در طولهای از قبل تعیین شده و ثابت :
مثلا در ساختار یك ركورد تعیین میكنیم كه طول فیلد های زیر به ترتیب چقدر است :
نام – نام خانوادگی – ادرس – معدل – رشته
15بایت-25بایت – 50 بایت – 4 بایت – 5 بایت .
در روش استفاده شده در مثال فوق یعن استفاده از روش بصورتیكه طول فیلد قبلا تعریف شده باشد مشكلاتی به چشم میخورد :
یك ایراد این روش انست كه برای رساندن فیلدها به طول تعیین شده در صورتیكه طول داده ما در فیلد به سایز فیلد نمیرسد میبایست از فضای خالی جهت رساندن فیلد به طول تعریف شده استفاده كرد كه این روش باعث اتلاف حافظه و بزرگ شدن فایل میشود .
همچنین ممكن است داده ها در آینده بزرگتر از اندازه تعیین شده برای فیلد شوند .
در ضمن استفاده از این روش برای فیلدهایی كه قرار است مقداری مانند آدرس یا نام یا نام خانوادگی را نگهداری كند مشكل بنظر میرسد چراكه ممكن است آدرس در آینده تغییر كند و در اندازه فعلی فیلد جا نشود . اما استفاده از این روش برای چیزهایی كه اندازه معینی دارند مانند معدل یا نمرات افراد روش مناسبی است .

2.قرار دادن طول فیلد در ابتدای هر فیلد . مثال زیر را ببینید :
کد:
03ali13aghamohammadi08engineer
04amir07azemati06doctor



3. استفاده از یك كاراكتر ویژه (حدفاصل delimiter) برای مشخص كردن پایان هر فیلد :

کد:
ali,aghamohammadi,engineer
amir,azemati,doctor



4. به كاربردن نام هر فیلد در مقابل هر فیلد .
کد:
name=vahid,family=aghamohammadi
name=amir,family=aghamohammadi



مزیت این ساختار توانایی جابجایی فیلدها در یك ركورد است و همچنین اگر فیلدی مقداری نداشته باشد نام ان نیز ذكر نمیشود . اما مشكلی كه این روش دارد انستكه در این روش استفاده از نام هر فیلد میتواند فضای زیادی را مصرف كند .

آبجی
15th February 2010, 03:04 PM
ساختارهای ركورد ها :

بعضی از روشهای سازماندهی به ركوردها عبارتند از :

1.ركوردهای با طول ثابت :
در این روش طول ركوردها در تمامی فایل یكسان است . این روش متداول ترین روش سازماندهی ركوردهاست . ( ثابت بودن طول ركورد الزاما به معنای ثابت بودن طول فیلدهای تشكیل دهنده نیست . )

2. تعیین طول ركوردها بر حسب تعداد فیلد های ان :
در این روش طول ركورد از n فیلد تشكیل میشود . منتهی این n در كل فایل یكی است . در مثال زیر n=4 است :

کد:
vahid,aghamohammadi,engineer,arash,kiyani,doctor



3. ذخیره طول ركورد در اول هر ركورد :

در این روش طول هر ركورد در ابتدای ركورد ذكر میشود . این روش برای فایلهایی به كار میرود كه اغلب ركوردهای با طول متغیر دارند .

4. استفاده از اندیس برای اشاره به ابتدای هر ركورد :
اندیس ها در فایل دیگری نگهداری میشوند و مقادیر در فایل دیگری . مثال زیر را ببینید :
کد:
vahid,aghamohammadi,ali,moosavi,mohammad,rezaiee
1,21,34



هر یك از اعداد 1و21و34 در فایل دیگری هستند كه به ابتدای هر ركورد در فایل دیگر اشاره میكنند .

5. استفاده از علامتی برای جدا كردن ركوردها .
در این روش با استفاده از یك علامت خاص میتوان ركوردها را از هم جدا كرد :

کد:
vahid,aghamohammadi|ali,moosavi|mohammad,rezaiee



با توجه به سازماندهی هایی كه در بالا برای ركورد تعریف كردیم . میتوانیم به این نتیجه برسیم كه كلا دو نوع ساختار برای ركوردها داریم :


1. ركورد با قالب ثابت و مكانی كه تعداد ‚ مكان و طول فیلدها در نمونه های مختلف ثابت بوده و تعریف این ساختار از قبل مشخص شده است .
2. ركورد با قالب غیر ثابت و غیر مكانی كه در هر فیلد اسم هر فیلد و مقدار هر فیلد مشخص میشود .

روش مناسب انستكه این نكته كه طول هر ركورد ممكن است متحرك شود را در نظر بگیریم .

متحرك بودن طول ركورد به دلایل زیر است :

الف- طول بعضی فیلدها ممكن است متغیر باشد .
ب-تعداد فیلدهای یك ركورد متغیر باشد ( مثلا دانشجویی آدرس نداشته باشد . )

آبجی
15th February 2010, 03:04 PM
ركورد را میتوان از سه دیدگاه مدنظر قرار داد :

الف) ركورد در سطح انتزاعی 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 :
صفت خاصه ای از موجودیت ( ركورد) است كه بعنوان كلید شناخته شده است . منتهی این صفت خاصه تنها برای یكتا كردن مقدار موجودیت بوجود امده است و از اول جزء صفات موجودیتهای ما نبوده است .
مثلا فیلد شماره دانشجویی در یك موجودیت كلید فایلی است كه بوجود امده است نه انكه از قبل بوده باشد . مثلا در صفات یك دانشجو اگر شماره شناسنامه بعنوان كلید قرار بگیرد چون از قبل جز صفات بوده است دیگر كلید خارجی نیست .

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد