وباکا

آموزش تخصصی برنامه نویسی وب

در این قسمت چند قاعده ساده برای تبدیل نمودار er به بانک اطلاعاتی را ارائه آموزش می دهیم، با استفاده از این قواعد می توان یک بانک اطلاعاتی نسبتاً نرمال ایجاد کرد. براي تبديل نمودار ER به بانك اطلاعاتي قواعد زير را استفاده مي كنيم :

قاعده اول:

هر نهاد قوی به یک جدول تبدیل می شود که دارای ستون هایی برای هر کدام از صفات خاصه بوده و هر بخش از صفات خاصه مرکب بصورت يك ستون جداگانه پياده سازي مي گردد.

 

قاعده دوم:

هر موجوديت ضعیف تبدیل به یک جدول شده و این جدول دارای یک کلید خارجی متناظر با کلید اصلی در جدول مربوط به موجوديت قوی است.

مثال:

تبدیل نمودار ای ار به بانک اطلاعاتی

Personal:کارمند                                                Family:اعضای خانواده کارمند

Family یک نهاد ضعیف است چون وجودش وابسته به نهاد Personal می باشد.یعنی اگر کارمندی وجود نداشته باشد اعضای خانواده ی او هم نمی توانند وجود داشته باشند. پياده سازي آن بصورت زير خواهد بود:

قاعده سوم:

برای یک رابطه ی درجه یک (رابطه ای که بین بك موجوديت و خودش است)، یک ستون اضافی به عنوان کلید خارجی در آن ایجاد کرده که در ارتباط با کلید اصلی جدول مي باشد.

مثال:

 

Salary Name Mng_Code Code
200 ali 0 1
150 reza 1 2
120 sara 1 3
110 hadi 3 4
150 zahra 3 5

 

قاعده چهارم:

برای یک رابطه درجه ی 2 و با کاردینالیتی 1:1  برای هر نهاد یک جدول ایجاد کرده و کلید اصلی آن دو جدول با هم متناظر خواهد بود.

قاعده پنجم:

برای یک رابطه درجه2 باکاردینالیتی1:N  نهادطرف یک تبدیل به یک جدول می شود و نهاد طرف چند(N) تبدیل به یک جدول با کلید خارجی متناظر با کلید اصلی جدول دیگری می شود.به عنوان مثال براي نهادهاي كارمند و پرو‍ژه ،  به شرط اینکه بر روي هر پروژه فقط یک کارمند كار كند و هر كارمندي بتواند چند پروژه را انجام دهد،  خواهيم داشت:

قاعده ششم:

در رابطه ی درجه ی 2 با کاردینالیتی  M:N (چند به چند) هر کدام از نهادها به صورت یک جدول پیاده سازی شده و خود رابطه نيز به صورت یک جدول جداگانه ایجاد می شود که دو کلید خارجی متناظر با کلیدهای اصلی در دو جدول نهاد دارد. ضمن  اینکه ترکیب کلیدهای خارجی در جدول رابطه می تواند کلید اصلی آن باشد.

 

مثال: رابطه دانشجو با درس كه هر دانشجو مي تواند چند درس را انتخاب كرده و هر درس مي تواند توسط چند دانشجو انتخاب شود.

قاعده هفتم:

 برای صفاتی که می توانند مقدار آنها  از این چند مقدار معین انتخاب شوند.

مثل رشته در جدول درس ها یا جدول دانشجو و  يا استان محل سکونت در جدول دانشجویان و غیره. یک جدول برای نگهداری مقادیر قابل انتخاب ایجاد می کنیم مثلا جدول رشته ها ودر جدولی که دارای آن صفت است ،صفت به صورت کلید خارجی متناظر با كليد اصلي این جدول پیاده سازی می شود.

قاعده هشتم:

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

 

مثال :جدول دانشجويان و فعاليت هاي آنها

Students

Avg Name Id
17 Ali 100
14 Sara 101

Activities

Title Id ACode
رتبه اول مسابقات ورزشي 100 1
رتبه اول مسابقات علمي 101 2
برگزاري سمينار آموزشي 100 3

قاعده نهم:

یک رابطه تخصیص به صورت دو جدول که جدول اصلی دارای اطلاعات نهاد اصلی(پايه) و جدول مشتق دارای اطلاعات نهادهای خاص(مشتق) مي باشد. در جدول مشتق يك ستون به عنوان كليد خارجي مرتبط با كليد اصلي در جدول پايه خواهد بود و بازاي هر سطر در جدول مشتق بايد يك سطر در جدول پايه وجود داشته باشد.

 

Spay: شروع قرارداد

Epay: پایان قرارداد

Semp: شروع استخدام

Numday: تعداد روزهای کارکرد

 

قاعده دهم :

رابطه تجمیع مثل رابطه بین کامپیوتر و قطعات آن. یک جدول ايجاد مي كنيم که دارای ستونهایی برای صفات خاصه نهاد اصلی است و یک جدول برای هرکدام از نهادهایی جزئي كه دارای ستونهایی برای نگهداری مشخصات آنها بعلاوه  یک ستون بعنوان کلید خارجی مرتبط با کلید اصلی در جدول اصلي هستند.

 

مثال:نمودار زیر را به بانک اطلاعاتی تبدیل کنید.

 

 

پاسخ – جدول ها :

1- جدول پزشک ها

Doctors

ردیف نام ستون نوع داده
1 Dcode عددی
2 Nezam عددی
3 Name کاراکتری

2- جدول بیمه ها

Insurance

ردیف نام ستون نوع داده
1 Icode عددی
2 Addr متنی
3 Tel عددی

 

 

3- جدول بیماران

Bimaran

ردیف نام ستون نوع داده
1 Bcode عددی
2 Name کاراکتری
3 Addr کاراکتری
4 Icode عددی

4- جدول بیماریها

Bymary

ردیف نام ستون نوع داده
1 Ycode عددی
2 Name کاراکتری
3 Sharh کاراکتری
  • جدول رابطه – پزشک ، بیمار ، بیماری

Vizits

ردیف ستون نوع داده
1 Dcode عددی
2 Bcode عددی
3 Ycode عددی
4 Vdate تاریخ

رابطه بین جداول بصورت زیر است:

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطالب