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

تبدیل نمودار ER به جداول بانک اطلاعاتی
نمودار ER توسط چن از دانشگاه MIT در سال 1975 برای طراحی بانکهای اطلاعاتی پیشنهاد شد. همانطور که میدانید این نمودار گرافیکی که برای ایجاد ساختار منطقی کلی یک پایگاه داده مورد استفاده قرار میگیرد، از اشکالی چون، مستطیل ها، لوزی ها، بیضی ها و خطوط برای نمایش نهادها، روابط و ویژگی ها و اتصالات بین آنها استفاده میکند.
قواعد ایجاد جداول از نمودار ER
هنگامیکه نمودار ER رسم میشود میتواند به مجموعه ای از جداول با رعایت قواعد خاصی تبدیل گردد. در واقع به ازای هر مجموعه نهاد و هر مجموعه رابطه (به ازای هر مستطیل و لوزی) در نمودار ER میتوان جدولی منحصر به فرد ایجاد کرد به طوریکه هر جدول دارای یک نام و یک یا چند ستون می باشد. همچنین هر جدول دارای سطرهایی است که این سطرها باید بصورت یکتا قابل تشخیص باشند. نام جدول از نام نهاد یا رابطه به دست می آید. برای مثال در نمودار ER بدست آمده از سیستم بانکی و مشتریان و وام، میتوانیم دارای جداولی با نامهای مشتری، افتتاح، حساب و ... باشیم. ستونهای این جداول نیز از ویژگی های موجود در مجموعه نهادها و روابط به دست می آیند. برای مثال جدول مشتری دارای ستونهایی به نام های کدمشتری، شماره حساب، کد شعبه، نام، شهر و خیابان می باشد. منحصر به فرد بودن سطرها نیز از طریق مقدار ستونهایی ایجاد میشود که بعنوان کلید اصلی مطرح شده اند. در جدول مشتری دو ستون کد مشتری و شماه حساب قادر خواهند بود تمامی سطرهای جدول مشتری را بصورت یکتا معرفی سازند. در واقع جداول و نمودار ER در مدل نهاد – رابطه هر دو یک نمایش منطقی از یک نمایش واقعی هستند. در حقیقت اساس حل مسئله به دست آوردن پایگاه داده رابطه ای در مدل نهاد – رابطه تبدیل نمایش یک پایگاه داده از مدل ER به مدل جداولی است.
البته این تبدیل همراه با ایجاد تغییراتی نیز حاصل میگردد و نمی توان گفت این دو نمایش، کاملا با یکدیگر یکسان اند. در حقیقت مدل جدولی به اصلاح مدل ER پرداخته و روابط موجود در نمودار ER را تسهیل میسازد.
تبدیل مجموعه نهادهای قوی به جدول
هر مجموعه نهاد قوی در نمودار ER باید به جدولی منحصر به فرد تبدیل گردد. ستونهای این جدول بوسیله ویژگی های هر نهاد قوی در نمودار ER بدست می آید. پس در یک سیستم هر یک از نهادهای قوی تبدیل به یک جدول خواهند شد و ستونهای هر کدام از این جداول از ویژگی های آن نهاد به دست می آید و کلید اصلی هر جدول از کلیدهای اصلی تعریف شده پیروی می نماید.
در تبدیل هر نهاد، اعم از نهاد قوی یا نهاد ضعیف باید ویژگی های مشتق شده از جدول حذف گردد، چون ویژگی های مشتق شده از دیگر ویژگی های موجود در آن نهاد قابل محاسبه هستند.
تبدیل مجموعه نهادهای ضعیف به جدول
اگر B یک مجموعه نهاد ضعیف و وابسته به مجموعه نهاد قوی A باشد، کلید اصلی نهاد A باید به کلید اصلی نهاد B نیز اضافه شود. در نمودار ER مثال ذکر شده، نهاد قسط یک نهاد ضعیف بوده که وجود آن به نهاد وام وابسته است. نهاد قسط دارای ویژگی های تاریخ پرداخت و میزان پرداخت می باشد و کلید اصلی آن شماره قسط است. پس باید برای جدول شدن کلید کد وام که کلید اصلی نهاد وام است نیط به کلیدهای اصلی نهاد قسط اضافه گردد.
تبدیل رابطه ها به جدول
فرض کنید در نمودار ER یک رابطه نیز دارای ویژگی هایی باشد. در اینصورت آن رابطه باید تبدیل به جدول گردد بطوریکه کلیدهای اصلی نهادهای مرتبط به آن رابطه نیز به کلید اصلی آن رابطه (در صورت وجود) اضافه گردد. رابطه های فاقد ویژگی نمیتوانند به جدول تبدیل شوند زیرا اینگونه رابطه ها باعث پدیده افزونگی در پایگاه داده میشوند.
تبدیل ویژگی های چندمقداری به جدول
مواردی که تاکنون مطرح شدند این مفهوم را بیان کردند که به ازای هر ویژگی، یک ستون به جدول اضافه میشود. اما ویژگی چند مقداری از این قاعده پیروی نمیکنند. برای یک ویژگی چند مقداری جدولی حاصل میشود که دارای دو ستون است. یکی از این ستونها مقادیر متفاوت آن ویژگی را مشخص میکنند و ستون دیگر که خود میتواند به تعداد یک یا بیشتر ستون باشد برابر ستونهای کلید اصلی نهادی است که آن ویژگی به ان نهاد تعلق دارد.
تبدیل نهادهای تعمیم یافته به جدول
اگر در نمودار ER، نهادهای تعمیم یافته ای وجود داشته باشد برای مجموعه نهادهای سطح بالاتر جدولی ایجاد میگردد سپس به ازای هر یک از مجموعه نهادهای سطح پایینتر نیز جدولی ایجاد خواهد شد به طوری که وِیژگی های کلید اصلی مجموعه نهادهای سطح بالاتر نیز به جداول مجموعه نهادهای سطح پایینتر اضافه گردد.