آشنایی با نمودار رابطهای (ER)
نمودار Entity Relation (ER) اولین بار درسال ۱۹۷۶ توسط چِن (Chen) از دانشگاه MIT جهت طراحی بانک های اطلاعاتی معرفی شد. یکی از چالش هایی که در آن زمان وجود داشت بیان ساده ای از بانک های اطلاعاتی به دور مدل خاصی بود. این مدل به دلیل سادگی و قابلیت فهم بالا، اهمیت فراوانی پیدا کرد و به تدریج استفاده از آن گسترش یافت. در ادامه به مفاهیم موجود در ER میپردازیم.
موجودیت یا پدیده
موجودیت عبارت از پدیده هایی است که در بانک اطلاعاتی وجود خارجی دارد. برای مثال پدیده هایی همچون استاد، دانشجو، درس، دانشکده از جمله موجودیت های هستند که در بانک اطلاعاتی دانشگاه وجود دارند.
موجودیت ها دو نوع هستند. نوع اول موجودیت هایی که مستقل از هر موجودیت دیگر است و به خودی خود معنی خواهد داشت که به این موجودیت ها مستقل می گویند. نوع دوم موجودیت هایی هستند که وجودشان وابسته به یک نوع موجودیت دیگر است که به آن وابسته گویند. برای مثال فرض کنید در پایگاه داده ای می خواهیم اطلاعات دانشجو و اطلاعات خانواده او را ذخیره نماییم. در اینجا دانشجو یک موجودیت مستقل و خانواده دانشجو که وابسته به وجود دانشجو است یک موجودیت وابسته به شمار می آید.
صفت
هر موجودیت دارای ویژگی هایی است که آن را نسبت به موجودیت های دیگر متمایز می سازد، به این ویژگی ها صفت می گویند. برای مثال برای موجودیت دانشجو می توانیم صفت هایی همچون شماره دانشجویی ، نام ، تاریخ تولد و کد رشته تعریف نماییم.
انواع صفات
کلید
صفت کلید عبارت است از یک یا چند صفت از هر موجودیت که مقادیر آن منحصر به فرد است. برای مثال موجودیت دانشجو را در نظر بگیرید صفت شماره دانشجویی برای این موجودیت مقادیر منحصر به فردی خواهد داشت پس می تواند صفت کلید باشد اما صفت کد رشته نمی تواند کلید باشد؛ زیرا ممکن است چند دانشجو در یک رشته در حال تحصیل باشند.
صفات کلید در نمودار ER دو نوع هستند. نوع اول کلید اصلی که کلید همان موجودیت است و با کشیدن یک خط زیر نام صفت نمایش داده می شود. نوع دوم کلید فرعی که کلیدی است که به سبب رابطه بین موجودیت ها به عنوان صفت این موجودیت در نظر گرفته شده است که با کشیدن دو خط در زیر نام صفت مشخص می شود.
کلید = شماره دانشجویی
کلید = نام + نام خانوادگی + ت.تولد
صفت ساده و مرکب
برخی از صفاتی که در بانک اطلاعاتی داریم ممکن است از تشکیل چند صفت کوچکتر به وجود آمده باشند، به چنین صفاتی که هم خودشان به تنهایی و هم بخش های آن ها معنی دار هستند صفات مرکب گوییم. برای مثال صفت آدرس یک صفت مرکب است زیرا آدرس به بخش های کوچکتری مانند خیابان کوچه و پلاک تقسیم می شود. اکثر صفات موجود در بانک اطلاعاتی تجزیه پذیر نیستند. به صفاتی که از بخش های کوچکتری تشکیل نشده باشند صفات ساده گوییم.
صفت مبنا و مشتق
صفات از نظر ذخیره شدن مقادیر به دو دسته تقسیم می شوند:
دسته اول صفاتی هستند که به شکل مستقیم مقادیر آن ها در پایگاه داده ذخیره خواهد شد که به این نوع از صفات، مبنا می گویند. برای مثال صفت نام دانشجو یا رشته تحصیلی از نوع صفات مبنا می باشند.
دسته دوم صفاتی هستند که مقادیر آن ها در پایگاه داده ذخیره نشده است و با توجه به مقادیر صفات دیگر تعیین می شود که به این نوع از صفات، مشتق گوییم. برای مثال صفت سن که با توجه به تاریخ تولد محاسبه خواهد شد از نوع مشتق می باشد. صفات مشتق را با خط چین نمایش خواهیم داد.
ارتباط
به تعامل میان دو یا چند موجودیت مختلف با یکدیگر ارتباط می گویند. برای مثال موجودیت های درس و دانشجو با یکدیگر ارتباط دارند.
هر ارتباط باید خصوصیات مختلفی را داشته باشد:
هر ارتباط یک نام دارد.
هر ارتباط معنای مشخصی دارد که آن ارتباط را از سایر ارتباطات متمایز می سازد.
هر ارتباط نمونه هایی دارد.
ماهیت ( چندی ) ارتباط
ماهیت یا چندی ارتباط بیانگر چگونگی ارتباط میان مجموعه نمونه های دو موجودیت مختلف است. به طور کلی سه نوع چندی داریم :
یک به یک ۱ : ۱
یک به چند ۱ : N
چند به چند N : M
با بیان مثال های مختلف به بررسی هریک از ماهیت های گفته شده می پردازیم.
در مثال فوق ارتباط بین دانشجو و درس یک به یک می باشد یعنی هر دانشجو می تواند یک درس را انتخاب نماید و هر درس نیز می تواند توسط یک دانشجو انتخاب شود.
در بالا یک ماهیت یک به چند را مشاهده میکنیم با توجه به این چندی هر دانشجو می تواند چند درس را انتخاب نماید و هر درس می تواند فقط توسط یک دانشجو انتخاب شود.
با توجه به ماهیت چند به چند رابطه بالا، هر دانشجو می تواند چند درس را انتخاب نماید و در مقابل هر درس می تواند توسط چند دانشجو انتخاب شود.
در ماهیت های یک به چند باید به دو نکته مهم توجه کرد:
۱- موجودیت سمت ۱ یک موجودیت مستقل و موجودیت سمت n یک موجودیت وابسته است که وابستگی آن به موجودیت سمت ۱ می باشد.
۲- شرکت موجودیت سمت ۱ همیشه در ارتباط اختیاری می باشد اما در مقابل شرکت موجودیت سمت n اجباری می باشد. به عبارتی دیگر هر نمونه از موجودیت سمت n باید با یک موجودیت سمت ۱ ارتباط داشته باشد. برای نمایش این نوع موجودیت ها به یکی از دو شکل زیر عمل می شود.
ارتباط IS_A
برخی از موجودویت ها وارث موجودیت های دیگری هستند. برای مثال موجودیت استاد و موجودیت دانشجو هر دو از نوع موجودیت شخص می باشند. یعنی استاد و دانشجو صفات یک شخص را دارند. برای نمایش IS_A به روش زیر عمل می کنیم:
در این مقاله با مفهوم مدل رابطه ای ER آشنا شدیم. حال با توجه به مفاهیم گفته شده می توان نمودار ER هر پایگاه داده ای را رسم نماییم. در مقاله بعدی به تبدیل مدل رابطه ای ER به جدول رابطه ای می پردازیم.
مدل های داده مفهومی، منطقی و فیزیکی در مرجع نمودار ER
در حالی که هر سه سطح یک مدل مرجع نمودار ER موجودیتهایی با ویژگیها و روابط را شامل میشوند، اما در اهدافی که به خاطر آنها ایجاد شدهاند و مخاطبانی که هدف قرار میدهند تفاوت دارند.
یک شناخت کلی از سه مدل داده این است که تحلیلگر کسب و کار از یک مدل مفهومی و منطقی برای مدلسازی اشیاء تجاری موجود در سیستم استفاده میکند، در حالی که طراح پایگاه داده یا مهندس پایگاه داده مدل مفهومی و منطقی نمودار ER را برای ایجاد مدلی فیزیکی از نمودار رابطهای ارائه میکند. ساختار پایگاه داده برای ایجاد پایگاه داده، آماده است. در ادامه، به معرفی سه مدل داده نمودار ER میپردازیم:
مدل داده مفهومی
مدل مفهومی نمودار رابطهای، اشیاء تجاری که باید در یک سیستم وجود داشته باشند و روابط بین آنها را مدلسازی میکند. در یک مدل مفهومی با شناسایی اشیاء تجاری درگیر در رابطه، تصویری کلی از سیستم ارائه میشود. این مدل داده مشخص میکند چه موجودیتهایی (نه جداول) وجود دارند. به عنوان مثال، جداول “چند به چند” ممکن است در یک مدل داده منطقی یا فیزیکی وجود داشته باشد اما آنها فقط به شکل یک رابطه فاقد کاردینالیتی در مدل داده مفهومی نمایش داده میشوند.
نکته: مرجع نمودار رابطهای مفهومی از استفاده از تعممیمسازی در مدلسازی «نوعی» رابطه بین دو موجودیت پشتیبانی میکند، به عنوان مثال، مثلث، نوعی شکل است. این کاربرد مانند تعمیم دادن در نمودار رابطهای UML است. توجه داشته باشید که فقط در مدل مفهومی از تعمیم دادن رابطه پشتیبانی میشود.
مدل داده منطقی
مدل منطقی مرجع نمودار ER نسخه دقیق و جزئیتری از یک مدل مفهومی نمودار رابطهای است. یک مدل منطقی نمودار رابطهای به منظور توسعه مدل مفهومی و با تعریف دقیق ستونها در هر موجودیت و معرفی موجودیتهای عملیاتی و معاملاتی ایجاد میشود.
اگرچه یک مدل داده منطقی هنوز هم جدا از سیستم پایگاه داده واقعی که پایگاه داده در آن ایجاد میشود عمل میکند، اما اگر روی طراحی تأثیر بگذارد، میتوانید استفاده از آن را در نظر بگیرید.
یک نمودار رابطهای فیزیکی، نمایی از طراحی واقعی یک پایگاه داده رابطهای را نشان میدهد. در یک مدل داده فیزیکی، مدل دادههای منطقی با اختصاص دادن به هر ستون با نوع، طول، جای خالی و غیره توضیح میدهد.
از آنجایی که یک مرجع نمودار ER فیزیکی نشان میدهد که چگونه دادهها باید در یک DBMS خاص سازماندهی و به هم ربط داده شوند. لازم است که قرارداد و محدودیتهای مربوط به سیستم پایگاه داده واقعی که در آن پایگاه داده ایجاد خواهد شد را در نظر بگیریم. مطمئن شوید که انواع ستونها توسط DBMS پشتیبانی میشوند و از کلمات ذخیره شده در نامگذاری موجودیتها و ستونها استفاده نمیشوند.
مطالب زیر را حتما مطالعه کنید
حسگرها و فناوریهای پوشیدنی و کاربردهای آنها در پزشکی
نکاتی که باید پیش از دانلود نمودار ER بدانید
درخت دودویی
ساختمان داده درخت
مدار منطقی – گیت های منطقی
مدار منطقی-جبر بول
2 Comments
Join the discussion and tell us your opinion.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
برای چه نوع رابطه ای استفاده میشود؟
از انواع دیگر مدل های رابطه ای هم اشاره ای میکنید؟
باسلام … اصولا برای این که یک پایگاه داده بر اساس اصول طراحی شود ابتدا باید موجودیت ها و صفات مختلف آن ها را شناسایی کنیم. مدل اصلی پیاده سازی این موارد شناسایی شده نمودار ER می باشد. پس از رسم نمودار ER میتوان آن را به جدول رابطه ای تبدیل کرده و به راحتی در هر یک از محیط های ایجاد پایگاه داده (SQL Server, MySQL , …. ) ، دیتابیس را ایجاد نماییم. آموزش تبدیل نمودار ER به جدول رابطه ای به زودی در سایت قرار خواهد گرفت.