بانک اطلاعاتی انتخاب واحد دانشجویی
بانک اطلاعاتی انتخاب واحد:
در ابتدا با چند تعریف آشنا می شیم.هم بعنوان مرور برای خودم و هم چند تا نکته تجربی خودم رو بهشون اضافه کردم که تو کمتر کتابهایی دیدمشون. راستی نظر هم یادتون نره.
بانک اطلاعاتی رابطه ای:
بانک های اطلاعتی که از جداول برای ذخیره اطلاعات استفاده میکنند رو رابطه ای میگن. در واقع در این بانک ها به هر جدول یک رابطه گفته میشه. برخلاف تصور عموم و خودم درگذشته که فکر میکردم منظور از بانک رابطه ای اینه که جدول ها با هم ارتباط دارند.
موجودیت: هر چیزی که بخواهیم در مورد آن اطلاعاتی ذخیره کنیم موجودیت نام دارد. موجودیت ها در بانک اطلاعاتی بصورت جدول ذخیره میشوند.مثلا جدول مشخصات دانشجویان،اساتید،درسهاو... هر کدوم یک موجودیت هستند.
فیلد: به هر مشخصه که برای نگهداری اطلاعات در جدول ها استفاده میکنیم فیلد گفته میشود.مانند نام ،نام خانوادگی،تاریخ تولد،شماره ملی و...
رکورد: مجموعه ای از فیلدها رو میگن.در واقع مجموعه ای از اطلاعات مرتبط به هم و ذخیره شده درباره هر فرد یا شیء را گویند.رکوردها همان سطرها در جدول ها هستند.
کلید: کلیدها راه شناسایی رکوردها در جداول هستند. از کاربرهای دیگر کلیدها استفاده از آنها برای ایجاد ارتباط بین جداول است که در ادامه به آن پرداخته خواهد شد.
انواع کلید:
1-کلید کاندید:هر فیلد ویا ترکیبی از فیلدها که با استفاده از آن بتوان رکوردهای جدول را متمایز نمود،کلید کاندید است. برای مثال فیلد کد ملی و یا ترکیب فیلدهای (نام + کدملی) کلید کاندید هستند زیرا می توانند بعنوان متمایزکننده رکوردها در جدول استفاده شوند.ملاحظه میشود که در یک جدول تعداد زیادی کلید کاندید وجود دارد. در واقع برای کلید شدن کاندیدهای زیادی وجود دارد.
2- کلید اصلی: کلید کاندیدی که هیچ قسمت کوچکتر وساده تر آز آن دیگر کلید نباشد. در مثال قبلی کلید کاندید (نام +کدملی) را نمی توان بعنوان کلید اصلی در نظر گرفت. زیرا کد ملی خود بتنهایی میتواند بعنوان متمایز کننده کلید ها استفاده شود. ولی کلید کاندید کد ملی کلید اصلی است.
نکته :اگر در یک جدول چند کلید اصلی وجود داشته باشد،برای داشتن سرعت دستیابی بیشتر، کلید ساده تر و کوتاهتر را انتخاب میکنیم.
3- کلید خارجی: همانطور که قبلا نیز اشاره شده،یکی از کاربرهای کلیدها استفاده از آنها برای ایجاد ارتباط بین جداول است. اگر میخواهید بین جدول ها ارتباط ایجاد کنید،باید فیلدی نظیر کلید اصلی جدول اول را در جدول دوم تعریف کنید. به بیان ساده تر،اگر ما درجدولی مانند "ب" فیلدی را داشته باشیم،که این فیلد در جدول دیگری مانند "الف" کلید اصلی باشد،به این فیلد در جدول "ب" کلید خارجی میگویند.
تفاوت کلید خارجی با کلید اصلی این است که مقادیر کلید اصلی در جدول تکرار نمیشود. ولی مقادی کلید خارجی تکرارپذیرند.
انواع رابطه ها (پیوندها) بین جدول ها :
هنگام ایجاد رابطه،کلید اصلی ازیک جدول را با کلید خارجی از جدول دیگر ارتباط میدهیم. بنابراین به دو کلید نیاز خواهیم داشت.
1- رابطه یک به یک:رابطه ای که در آن هر رکورد از جدولی مانند "الف" با یک رکورد از جدولی مانند "ب" در ارتباط باشد را "یک به یک" گویند. این نوع رابطه کمتر بوجود می آید تا بخواهید آنرا پیاده سازی کنیم. شاید مهمترین دلیل برای استفاده از رابطه یک به یک شکستن جدولی بزرک به دو جدول کوچکتر باشد ما هم در بانک اطلاعاتی انتخاب واحد از این نوع رابطه نداریم.
مثال:فرض کنید در یک جدولی مشخصات دانشجوها ذخیره شده باشه مثل:کد ملی ،نام ، نام خانوادگی،تاریخ تولد ،رشته تحصیلی،سال ورود.و تو یک جدول دیگه کد دانشجویی ذخیره شده باشه.البته به همراه کد ملی ،تا مشخص بشه که هر کد دانشجویی متعلق به کدوم دانشجو هست.همانطور که میبینین ما در اغلب موارد می تونیم حتی رابطه یک به یک رو از بین ببریم و اطلاعات رو در یک جدول ذخیره کنیم.ولی خوب،همیشه هم اینطور نیست.
2- رابطه یک به چند یا چند به یک: رابطه ای که در اون هر رکورد از جدول "الف" با چند رکورد از جدول "ب" ارتباط داشته باشه رو" یک به چند" میگن. اگه از نگاه جدول "ب" به رابطه نگاه کنیم اونوقت میشه رابطه "چند به یک". برای پیاده سازی رابطه یک به چند کلید اصلی طرف یک رابطه به عنوان کلید خارجی طرف چند رابطه در نظر گرفته میشه.مثلا در رابطه یک به چند درس وگروه درسی( که در ادامه میبینیمش و در موردش توضیح هم میدم)کلید اصلی جدول مشخصات درسها (یعنی کد درس)به عنوان کلید خارجی جدول گروه درسی در نظر گرفته میشه. برای تشخیص طرف یک و طرف چند رابطه هم دو روش وجود دارد.
1-تعریف رابطه ی بین رکوردها در دوجدول. مثلا در اینجا میگوییم:
هر درس میتواند در چند گروه درسی ارائه شود و هر گروه درسی مختص یک درس است.
2- روش دوم که روش ساده تری است به اینصورت است که با در نظر گرفتن جدول های ایجاد شده، آن جدول که دارای کلید اصلی است طرف یک و آن جدول که دارای کلید خارجی است طرف چند رابطه میباشد.
رابطه یک به چند از پراستفاده ترین رابطه ها تو بانک های اطلاعاتی هستش. مثل رابطه درس و گروه درسی یا استاد و گروه درسی که در ادامه مطالب و در قسمت پیاده سازی بانک توضیح مفصل اونها رو میدم.
3- رابطه چند به چند: رابطه ای که در اون چند رکورد از جدول "الف" با چند رکورد از جدول "ب" ارتباط داشته باشه رو" چند به چند" میگن.این نوع رابطه هم مانند رابطه یک به چند معمولا زیاد استفاده میشه.برای پیاده سازی این رابطه باید از یک جدول واسطه بین دوتا جدولی که میخواهیم بینشون رابطه چند به چند باشه استفاده کنیم و در این جدول واسطه کلید اصلی هر دو تا جدول رو قرار میدیم. مثلا رابطه بین دانشجو و درس.
هر دانشجو میتواند چند درس(گروه درسی) را انتخاب کند و هر درس(گروه درسی) میتواند توسط چند دانشجو می تواند انتخاب شود.
که از یک جدول واسطه به اسم انتخاب واحد استفاده میکنیم که در اون کد دانشجو کد گروه درسی و اطلاعات دیگه رو ذخیره میکنیم.
ذکر این نکته اهمیت دارد که در سیستم انتخاب واحد، دانشجو در واقع گروه درسی را انتخاب می کند نه درس را.
نگران نباشید.در قسمت پیاده سازی مفصل توضیح میدم.
برای درک بهترمفهوم رابطه ها توضیحات بیشتری نیاز نیست و در واقع در قسمت پیاده سازی بانک اطلاعاتی درآینده این مفاهیم را در عمل به کار میبریم.
به امید پیروزی
در ابتدا با چند تعریف آشنا می شیم.هم بعنوان مرور برای خودم و هم چند تا نکته تجربی خودم رو بهشون اضافه کردم که تو کمتر کتابهایی دیدمشون. راستی نظر هم یادتون نره.
بانک اطلاعاتی رابطه ای:
بانک های اطلاعتی که از جداول برای ذخیره اطلاعات استفاده میکنند رو رابطه ای میگن. در واقع در این بانک ها به هر جدول یک رابطه گفته میشه. برخلاف تصور عموم و خودم درگذشته که فکر میکردم منظور از بانک رابطه ای اینه که جدول ها با هم ارتباط دارند.
موجودیت: هر چیزی که بخواهیم در مورد آن اطلاعاتی ذخیره کنیم موجودیت نام دارد. موجودیت ها در بانک اطلاعاتی بصورت جدول ذخیره میشوند.مثلا جدول مشخصات دانشجویان،اساتید،درسهاو... هر کدوم یک موجودیت هستند.
فیلد: به هر مشخصه که برای نگهداری اطلاعات در جدول ها استفاده میکنیم فیلد گفته میشود.مانند نام ،نام خانوادگی،تاریخ تولد،شماره ملی و...
رکورد: مجموعه ای از فیلدها رو میگن.در واقع مجموعه ای از اطلاعات مرتبط به هم و ذخیره شده درباره هر فرد یا شیء را گویند.رکوردها همان سطرها در جدول ها هستند.
کلید: کلیدها راه شناسایی رکوردها در جداول هستند. از کاربرهای دیگر کلیدها استفاده از آنها برای ایجاد ارتباط بین جداول است که در ادامه به آن پرداخته خواهد شد.
انواع کلید:
1-کلید کاندید:هر فیلد ویا ترکیبی از فیلدها که با استفاده از آن بتوان رکوردهای جدول را متمایز نمود،کلید کاندید است. برای مثال فیلد کد ملی و یا ترکیب فیلدهای (نام + کدملی) کلید کاندید هستند زیرا می توانند بعنوان متمایزکننده رکوردها در جدول استفاده شوند.ملاحظه میشود که در یک جدول تعداد زیادی کلید کاندید وجود دارد. در واقع برای کلید شدن کاندیدهای زیادی وجود دارد.
2- کلید اصلی: کلید کاندیدی که هیچ قسمت کوچکتر وساده تر آز آن دیگر کلید نباشد. در مثال قبلی کلید کاندید (نام +کدملی) را نمی توان بعنوان کلید اصلی در نظر گرفت. زیرا کد ملی خود بتنهایی میتواند بعنوان متمایز کننده کلید ها استفاده شود. ولی کلید کاندید کد ملی کلید اصلی است.
نکته :اگر در یک جدول چند کلید اصلی وجود داشته باشد،برای داشتن سرعت دستیابی بیشتر، کلید ساده تر و کوتاهتر را انتخاب میکنیم.
3- کلید خارجی: همانطور که قبلا نیز اشاره شده،یکی از کاربرهای کلیدها استفاده از آنها برای ایجاد ارتباط بین جداول است. اگر میخواهید بین جدول ها ارتباط ایجاد کنید،باید فیلدی نظیر کلید اصلی جدول اول را در جدول دوم تعریف کنید. به بیان ساده تر،اگر ما درجدولی مانند "ب" فیلدی را داشته باشیم،که این فیلد در جدول دیگری مانند "الف" کلید اصلی باشد،به این فیلد در جدول "ب" کلید خارجی میگویند.
تفاوت کلید خارجی با کلید اصلی این است که مقادیر کلید اصلی در جدول تکرار نمیشود. ولی مقادی کلید خارجی تکرارپذیرند.
انواع رابطه ها (پیوندها) بین جدول ها :
هنگام ایجاد رابطه،کلید اصلی ازیک جدول را با کلید خارجی از جدول دیگر ارتباط میدهیم. بنابراین به دو کلید نیاز خواهیم داشت.
1- رابطه یک به یک:رابطه ای که در آن هر رکورد از جدولی مانند "الف" با یک رکورد از جدولی مانند "ب" در ارتباط باشد را "یک به یک" گویند. این نوع رابطه کمتر بوجود می آید تا بخواهید آنرا پیاده سازی کنیم. شاید مهمترین دلیل برای استفاده از رابطه یک به یک شکستن جدولی بزرک به دو جدول کوچکتر باشد ما هم در بانک اطلاعاتی انتخاب واحد از این نوع رابطه نداریم.
مثال:فرض کنید در یک جدولی مشخصات دانشجوها ذخیره شده باشه مثل:کد ملی ،نام ، نام خانوادگی،تاریخ تولد ،رشته تحصیلی،سال ورود.و تو یک جدول دیگه کد دانشجویی ذخیره شده باشه.البته به همراه کد ملی ،تا مشخص بشه که هر کد دانشجویی متعلق به کدوم دانشجو هست.همانطور که میبینین ما در اغلب موارد می تونیم حتی رابطه یک به یک رو از بین ببریم و اطلاعات رو در یک جدول ذخیره کنیم.ولی خوب،همیشه هم اینطور نیست.
2- رابطه یک به چند یا چند به یک: رابطه ای که در اون هر رکورد از جدول "الف" با چند رکورد از جدول "ب" ارتباط داشته باشه رو" یک به چند" میگن. اگه از نگاه جدول "ب" به رابطه نگاه کنیم اونوقت میشه رابطه "چند به یک". برای پیاده سازی رابطه یک به چند کلید اصلی طرف یک رابطه به عنوان کلید خارجی طرف چند رابطه در نظر گرفته میشه.مثلا در رابطه یک به چند درس وگروه درسی( که در ادامه میبینیمش و در موردش توضیح هم میدم)کلید اصلی جدول مشخصات درسها (یعنی کد درس)به عنوان کلید خارجی جدول گروه درسی در نظر گرفته میشه. برای تشخیص طرف یک و طرف چند رابطه هم دو روش وجود دارد.
1-تعریف رابطه ی بین رکوردها در دوجدول. مثلا در اینجا میگوییم:
هر درس میتواند در چند گروه درسی ارائه شود و هر گروه درسی مختص یک درس است.
2- روش دوم که روش ساده تری است به اینصورت است که با در نظر گرفتن جدول های ایجاد شده، آن جدول که دارای کلید اصلی است طرف یک و آن جدول که دارای کلید خارجی است طرف چند رابطه میباشد.
رابطه یک به چند از پراستفاده ترین رابطه ها تو بانک های اطلاعاتی هستش. مثل رابطه درس و گروه درسی یا استاد و گروه درسی که در ادامه مطالب و در قسمت پیاده سازی بانک توضیح مفصل اونها رو میدم.
3- رابطه چند به چند: رابطه ای که در اون چند رکورد از جدول "الف" با چند رکورد از جدول "ب" ارتباط داشته باشه رو" چند به چند" میگن.این نوع رابطه هم مانند رابطه یک به چند معمولا زیاد استفاده میشه.برای پیاده سازی این رابطه باید از یک جدول واسطه بین دوتا جدولی که میخواهیم بینشون رابطه چند به چند باشه استفاده کنیم و در این جدول واسطه کلید اصلی هر دو تا جدول رو قرار میدیم. مثلا رابطه بین دانشجو و درس.
هر دانشجو میتواند چند درس(گروه درسی) را انتخاب کند و هر درس(گروه درسی) میتواند توسط چند دانشجو می تواند انتخاب شود.
که از یک جدول واسطه به اسم انتخاب واحد استفاده میکنیم که در اون کد دانشجو کد گروه درسی و اطلاعات دیگه رو ذخیره میکنیم.
ذکر این نکته اهمیت دارد که در سیستم انتخاب واحد، دانشجو در واقع گروه درسی را انتخاب می کند نه درس را.
نگران نباشید.در قسمت پیاده سازی مفصل توضیح میدم.
برای درک بهترمفهوم رابطه ها توضیحات بیشتری نیاز نیست و در واقع در قسمت پیاده سازی بانک اطلاعاتی درآینده این مفاهیم را در عمل به کار میبریم.
به امید پیروزی
+ نوشته شده در یکشنبه هشتم شهریور ۱۳۸۸ ساعت 17:25 توسط سید سجاد سید حقیقی
|
خورشید را باور دارم حتی اگر پشت ابرها باشد...