PDA

View Full Version : مهندسی فایل - قسمت اول



حسن صفوی
شنبه 01 اسفند 1383, 14:08 عصر
با سلام خدمت شما خواننده محترم و از اینکه این مقاله (که بیش از 100 قسمت دارد) را انتخاب کردید ممنونم. هدفم از نوشتن این مقاله تجزیه و تحلیل سیستم و ساختار فایل ها در حیطه مهندسی فایل هست. مهندسی فایل خود بخشی از مهندسی داده ها است .سعی می کنم نکات ریز را بطور کامل بررسی کنم و چیزی احیانا از قلم نیفتد.آگاهی از این موضوعات برای یک برنامه نویس (بخصوص برنامه نویس سیستم) خیلی لازم هست و آگاهانه تر می تواند برنامه نویسی کند و در "کاربرد" مورد نظرش بهتر می تواند از سیستم فایل استفاده کند.
سیستم فایل :
قبل از ورود به موضوعات اصلی ابتدا به شرح برخی از مفاهیم مقدماتی می پردازیم که پیوسته در مبا حث سیستم فایل مطرح می شوند . این مفاهیم عبارت اند از : فیلد و اطلاع و رکورد و فایل و ....
فیلد : به مکان ذخیره سازی یک واحد معنایی داده (Semantic data unit) و نامدار (یک فقره اطلاع ) را فیلد گوییم.واحد معنایی داده حالت تجزیه ناپذیری (اتومیستی) دارد یا به بیان دیگر اگر آن را تجزیه کنیم اجزا حاصله در یک حیطه معنای مشخص فا قد معنا می باشد. طول این واحد حد اقل یک کاراکتر ( گاه یک بیت) هست و حداکثر طول آن بستگی به سیستم فایل و زبان برنامه سازی ای دارد که از آن استفاده می کنیم. گاه یک فیلد می تواند از اجزاء کوچکتری تشکیل شده باشد که آن را فیلد مرکب می نامیم ولی اگر کلمه فیلد را به تنهایی بکار بریم منظور همان فیلد ساده هست.
محیط عملیاتی : به محیطی که در رابطه با آن می خواهیم یک سری داده ذخیره کنیم را محیط عملیاتی گویند .
توجه : اصطلاح " خرد جهان واقع " نیز هم معنی محیط عملیاتی هست.
هر محیط عملیاتی از چند موجودیت تشکیل شده مثلا یک اداره از کارمندان ورئیس و غیره تشکیل شده است .
انواع موجودیت ها توسط صفات خاصه مربوط به هر یک از سایر موجودیت ها متمایز می گردنند. مثلا صفت خاصه یک کارمند می تواند اسم و فامیل و قدمت کار و ... باشد.
اطلاع : هر صفت خاصه از دو مولفه تشکیل شده است : یکی اسم صفت خاصه و دیگری مقدار آن مثلا "نام خانوادگی " اسم صفت خاصه است ولی "رضایی" مقدارآن هست.
رکورد :رکورد را می توان از سه دیدگاه بررسی کرد ولی مفهوم کلی آن چنین است:
مجموعه ای از فیلد ها تشکیل رکورد می دهند و همچنین رکورد واحد پردازش فایل از دید برنامه فایل پرداز هست.
برنامه فایل پرداز یا همان پردازشگر فایل نرم افزاری هست که می تواند کار هایی از جمله باز کردن فایل ساختن فایل و همچنین ویرایش فایل مربوط به خود را انجام بدهد مثلا نرم افزار ورد پردازشگر فایل های متنی می باشد.
اگر بخواهیم به موضوع ریزترنگاه کنیم رکورد را می توانیم از سه دیدگاه بررسی کنیم:
رکورد : در سطح انتزاعی
رکورد :در سطح برنامه کاربر
رکورد : در محیط ذخیره سازی

رکورد در سطح انتزاعی :
مجموعه اطلا عاتی هست که در مورد هر یک از نمونه های متمایز یک یا بیش از یک نوع موجودیت از یک خرد جهان واقع می خواهیم داشته باشیم.
اصطلاح خرد جهان واقع را به تفسیر بیشتر بررسی می کنیم:
خرد جهان واقع منظور از جهان بیرونی و محسوس وبه بیان دیگر هر محیطی که در آن فعالیت های داده داری و داده پردازی انجام می شود به منظور رفع مجموعه ای مشخص از نیازهای اطلاعاتی.

رکورد از دید برنامه نویس :
رکورد از این دید در اساس همان مجموعه اطلاعات هست و رکورد از این دید را رکورد منطقی می گوییم و چنین تعریف می کنیم:
مجموعه ای است دارای ساختار مشخص و نامدار از تعدادی فیلد.

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

اینک به شرح هر یک از موارد فوق می پردازیم:

فیلد حاوی طول رکورد :
وقتی که رکورد ها طول متغیر دارند در نظر گرفتن فیلدی برای درج طول یکی از تکنیک های مشخص کردن محدوده رکورد است.در مورد رکورد ها با طول ثابت نیازی به استفاده از این فیلد نیست.
بعدا دلایل متغیر شدن طول رکورد را نیز بررسی می کنیم.

فیلد حاوی نوع رکورد :
در فایل های حاوی بیش از یک نوع رکورد فیلدی برای درج کد نوع در نظر گرفته می شود . برای روشن تر شدن مو ضوع به تعریف فایل رجوع شود.که فایل های تک نوعی و چند نوعی وجود دارد.

فیلد های حاوی اشاره گرها :
برای پیاده سازی منطقی فایل ها (ارتباط ساختاری بین رکورد ها ) وایجاد ساختار فیزیکی از اشاره گر استفاده می شودو البته لزوما در هر ساختاری چنین نیست.اشاره گر اساسا آدرسی است که در فیلدی جای داده می شود و از نقطه ای از فایل مکان "داده ای" را در نقطه دیگر نشان می دهد.
هر اشاره گر (نشانه رو) دارای یک آدرس مبدا و یک مقصد است که به گونه های زیر می توانند تشکیل شوند.
رکورد به رکورد
رکورد به بلاک
بلاک به بلاک
بلاک به رکورد
گروهی از بلاک ها به گروه دیگر
فایل به فایل

(توجه : به مجموعه چند رکورد بلاک گویند که معمولا واحد انتقال داده از فایل به بافر است جزئیات بیشتر در بخش مربوط به بلاک ها گفته می شود)
از نشانه رو ها (اشاره گر ها) برای نشان دادن رکورد بعدی قبلی ویا رکورد سرایند و ... استفاده می شوند.
نشانه رو ها از نظر نوع نشانی بر سه نوعند:
1- نشانی در سطح فیزیکی که سیستم تولید می کند
2- نشانی نسبی :این نوع نشانی نهایتا تبدیل به نشانی فیزیکی می شود
3- شناسه رکورد :که نوعی اشاره گر ضمنی است.

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

فیلد (های ) حاوی فلاگ (های ) عملیات:
می دانیم که فلاگ(پرچم) تعدادی بیت یا بایت است حاوی اطلا عات وضعیتی و راهنما و به منظورهای مختلفی استفاده می شود.
در سیستم فایل فلاگ عملیاتی به دو منظور بکار می رود:
1- برای نشان دادن عملی که قرار است روی رکورد انجام شود.
2- برای نشان دادن عملی که روی رکورد انجام شده است.

فیلد های حاوی فلاگ های حفا ظتی :
در این فیلد درج می شود تا رکورد را از دستیابیهای غیر مجاز مصون بدارد. به این فلاگ گاه قفل در سطح رکورد نیز می گویند.به گونه ای که تنها کاربر مجاز میتواند به اطلا عات در آن رکورد دستیابی داشته باشد.

خب در این قسمت به تفسیر فیلد و رکورد پرداختیم در قسمت آیند ساختار های مربوط به فیلد و رکورد و همچنین تعریف فایل وکلید رکورد و دیگر موضوعات می پردازیم.

Behrouz_Rad
شنبه 01 اسفند 1383, 14:43 عصر
لطفا در زیر عنوان مقالاتتون بنویسید:

برگرفته از کتاب ذخیره و بازیابی اطلاعات تالیف: مهندس حمید رضا مقسمی
و ساختار فایل ها نوشته ی مارک چک جلد آبی

پیشنهاد می کنم عنوان مقاله رو هم به سیستم و ساختار فایل ها تغییر بدید.
با تشکر :wink: :wise1:

حسن صفوی
شنبه 01 اسفند 1383, 19:47 عصر
با تشکر از پیشنهاد شما
ولی تعداد منابع من بیشتر از این دو کتاب بود و البته هدف من آگاهی شما خواننده عزیز بود نه آشنایی با مولف کتاب .

null
دوشنبه 03 اسفند 1383, 22:36 عصر
آقا حسن خوب بود :)
خسته نباشی

joker
سه شنبه 04 اسفند 1383, 11:01 صبح
دوست عزیز چرا ادامه نمیدی ؟
مهم نیست مال کیه و کجاس مهم اینه که توی سایت برنامه نویس نوشته بشه ....

oxygenws
سه شنبه 04 اسفند 1383, 12:52 عصر
مهم نیست مال کیه و کجاس
در صورت کپی برداری (مطلق) و عدم ذکر منتبع، مطلب با دادن اخطار قبلی، حذف خواهد شد.
در مورد اینطور مطالب (که چندین منبع دارند) بهتره که منابع گفته بشه، اما چون حالت نگارش و یا تالیف داره، می تونه زیاد مهم نباشه.
موفق باشید، امید

Behrouz_Rad
سه شنبه 04 اسفند 1383, 14:43 عصر
جالبیه موضوع اینجاست که همین کتاب هایی هم که ایشون از روی اونها مطالب رو می نویسه و توسط ایرانی ها تالیف یا ترجه شده تماما منبع خارجی دارند و این یعنی کپی غیر قانونی از کپی غیر قانونی.
مثلا وقتی آقای مانی قاسم نیا میاد کتاب آموزش ADO.NET میده تو بازار و این کتاب رو از MS Press مایکروسافت ترجمه کرده اسم اینکار رو چی میشه گذاشت؟؟؟
با تشکر

حسن صفوی
سه شنبه 04 اسفند 1383, 16:23 عصر
این یعنی کپی غیر قانونی از کپی غیر قانونی

نکنه با اینجور پست ها کاربر نقره ای شدی؟
اگر منظورت این مقاله هست باید بگم برای کسی مثل شما نوشته نشده(اینها تجربیات چند ساله من هست) در ضمن هیچ منبع ایرانی هم استفاده نکردم مهم اینکه چند نفر راضی باشند تا 1 نفر مخالف.
در ضمن مهندسی فایل با ساختار فایل فرق دارد که در قسمت دوم ذکر می کنم.
این مقاله تا جایی ادامه پیدا می کنه که نتنها در کتاب های ایرانی بلکه در منابع خارجی هم به ندرت پیدا می شود .

M.GhanaatPisheh
چهارشنبه 05 اسفند 1383, 01:49 صبح
حتما این کار رو بکنید دوست عزیز
موفق باشید. :)

Behrouz_Rad
چهارشنبه 05 اسفند 1383, 17:58 عصر
تعداد منابع من بیشتر از این دو کتاب بود

در ضمن هیچ منبع ایرانی هم استفاده نکردم
دم خروس یا قسم حضرت ابوالفضل. مسئله این است.
:گیج:

M-Gheibi
چهارشنبه 05 اسفند 1383, 19:09 عصر
دوستان رعایت کنید PLZ

حسن صفوی
چهارشنبه 05 اسفند 1383, 20:16 عصر
آقای بهروز راد من و نزنی یه وقت. کتاب آقای مقسمی از منبع اقای فولک و سالز برگ هستند اگر تشابه ای در بعضی جاها می بینی این است که هر دو از یک جا ترجمه شدند هنوز هیچ شخص ایرانی راجب به موضوع ساختار فایل از خود تالیفی نداشته در ضمن در مقاله قسمت دوم ذکر شده چرا از تعاریف استفاده کردم بهر حال این مقاله جزوهای است که در دانشگاه شهر ما شیراز عینا تدریس می شه و از صدها منابع جمع آوری شده چه برسد بخوای ایراد از این مقاله بگیری.
خوش باش داداش

Behrouz_Rad
چهارشنبه 05 اسفند 1383, 20:16 عصر
چشم آقای غیبی.بنده معذرت می خوام.
فقط قصدم یادآوری قوانین سایت بود فمون طور که آقا امید گفتن.
:oops: :oops:

Nightbat
سه شنبه 18 اسفند 1383, 09:26 صبح
دم خروس یا قسم حضرت ابوالفضل. مسئله این است.
آقا سره چی دارید بحث می کنید !!!!! :گیج: :sad2: :strange:

aakh1361
سه شنبه 23 فروردین 1384, 22:36 عصر
اقا بعد از سالی یک بنده خدای داره در مورد مهندسی فایل توضیح میده اگه گذاشتید‌!! :mad: :mad: :mrgreen:

setarepardaz
جمعه 12 بهمن 1386, 12:00 عصر
1-کدامیک از اجزای محیط ذخیره و بازیابی بیشتر اهمیت دارد و چرا
2-هدف از ایجاد سیستم ذخیره و بازیابی اطلاعات چیست

Elham_gh
سه شنبه 30 بهمن 1386, 09:42 صبح
جالبیه موضوع اینجاست که همین کتاب هایی هم که ایشون از روی اونها مطالب رو می نویسه و توسط ایرانی ها تالیف یا ترجه شده تماما منبع خارجی دارند و این یعنی کپی غیر قانونی از کپی غیر قانونی.
مثلا وقتی آقای مانی قاسم نیا میاد کتاب آموزش ADO.NET میده تو بازار و این کتاب رو از MS Press مایکروسافت ترجمه کرده اسم اینکار رو چی میشه گذاشت؟؟؟
با تشکر

گویا شما با قوانین نشر آشنا نیستید.مترجمهای ما مقصر نیستند.هر مترجمی که کتابی ترجمه می کنه باید عنوانش بشه "ترجمه و تالیف"! اینکه مترجم بدبخت ناچارا مالف هم می شه!