پایگاه داده‌های رابطه‌ای

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

پایگاه داده‌های رابطه‌ای[ویرایش]

پایگاه داده رابطه ای،[۱] به آن دسته از پایگاه‌های داده اطلاق می‌شود که بر اساس مدل رابطه‌ای طراحی و ایجاد شده باشند. پس از پایگاه‌های داده‌ای سلسله مراتبی و شبکه‌ای، که هر یک دارای ضعف‌هایی بودند، متخصصان در جستجوی مدلی بودند که دارای ساختار داده‌ای با انتزاع قوی ابداع گردید. مدل رابطه‌ای در سال ۱۹۷۰ توسط ادگار کاد مطرح شد. این مدل دارای ساختار داده‌ای با انتزاع قوی بوده و اساساً ساختار داده‌ای در آن بر اساس یک مفهوم ریاضی بنام رابطه استوار است. در اینجا لازم است به این نکته توجه شود که مفهوم رابطه با مفهوم ریاضی آن تاحدودی متفاوت است.

ساختار داده‌های رابطه‌ای[ویرایش]


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

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

تعریف رابطه[ویرایش]


با فرض وجود n مجموعه S1، S2، ... ، Sn رابطه R تعریف شده روی این n مجموعه، مجموعه‌ای است از n تایی‌ها که به آن تاپل می‌گویند به نحوی که جزء اول هر n تایی از S1، جزء دوم از S2 و... مقدار بگیرد. هریک از مجموعه‌های S1، S2 و... میدان یا دامنه نامیده می‌شود. دامنه، مجموعه مقادیری است که یک صفت از رابطه مشخص می‌تواند داشته باشد.

برای درک بهتر موضوع مثالی را از جدول اعضای کتابخانه در یک دانشگاه با جزییات بیشتر بیان می‌کنیم. فرض کنید مجموعه‌های زیر را داشته باشیم:


• مجموعه مقادیر شماره دانشجویان:S1
• مجموعه اسامی دانشجویان:S2
• مجموعه مقادیر مقطع تحصیلی:S3
• مجموعه مقادیر شماره عضویت در کتابخانه:S4
• مجموعه مقادیر تاریخ عضویت در کتابخانه:S5


در اینصورت، STT با پنج صفت خاصه مرتبط با پنج مجموعه بالا، یک رابطه بوده و به صورت زیر نوشته می‌شود:
(STID,STNAME,STDEG,STMJR,STDEID)
با فرض وجود n دامنه D1، D2،... ، Dn رابطه R از دو قسمت تشکیل شده‌است:

1- مجموعه عنوان: مجموعه‌ای نامدار است که از n صفت به صورت Ai: Di که در آن هر Ai نام یک صفت است و هر Di نام دامنه صفت است. به این مجموعه شمای رابطه نیز می‌گویند که به صورت شماتیک چنین است:
{ <A1: D1> , <A2: D2> , … , <An: Dn>}
2- مجموعه بدنه: مجموعه‌ای است از m تاپل به نحوی که t خود مجموعه‌ای است از n عنصر به صورت Ai: vi که در آن vi مقداری است از نوع دامنه Di.
{ <A1: vi1> , <A2: vi2> , … , <An: vin>}
(i = 1 , 2 , 3 , … , m)

تناظر بین مفاهیم رابطه‌ای و مفاهیم جدولی[ویرایش]


برای پیاده سازی مدل رابطه‌ای در محیط انتزاعی از رابطه استفاده می‌شود. برای پیاده سازی مدل رابطه‌ای در ساختار پایگاه داده از مفهوم جدول استفاده می‌شود. در جدول ۱ تناظر بین اجزا، دو مفهوم رابطه و جدول آورده شده‌اند.

جدول ۱: تناظر بین اجزا مفهوم رابطه و جدولی در داده‌های رابطه‌ای
اجزا مفهوم رابطه اجزا مفهوم جدولی
رابطه جدول
تاپل سطر
صفت ستون
دامنه مجموع مقادیر ستون
درجه تعداد ستون‌ها
کاردینالیتی تعداد سطرها

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

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

Libss.png

ویژگیهای رابطه[ویرایش]


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


•رابطه تاپل تکراری ندارد، زیرا بدنه رابطه مجموعه‌است و مجموعه نمی‌تواند عنصر تکراری داشته باشد.
•تاپل‌ها نظم ندارند زیرا بدنه رابطه مجموعه‌است و مجموعه در حالت کلی فاقد نظم است.
•صفات رابطه نظم مکانی ندارند زیرا سرآیند، رابطه مجموعه‌است و مجموعه در حالت کلی فاقد نظم است.
•تمام صفات تک مقداری (تجزیه نشدنی) هستند زیرا در نمایش جدولی رابطه، در تقاطع هر سطر و ستون باید یک مقدار وجود داشته باشد.

انواع کلید در مدل رابطه‌ای[ویرایش]


ابر کلید[ویرایش]

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

کلید کاندید[ویرایش]

کلید کاندید امکانی است برای ارجاع به "تک تاپل" در رابطه. مجموعه صفات k از رابطه R یک کلید کاندید است، اگر دارای خاصیت غیر کاهشی و یکتایی باشد.

کلید اصلی[ویرایش]

یکی از کلیدهای کاندید رابطه که شرایط زیر را داشته باشد:


•شناسایی کننده نوع موجودیت (تک تاپل) در رابطه باشد. مانند شماره عضویت کتابخانه برای هر دانشجو.
•از نظر طول، کوتاه تر باشد. یعنی بین دو کلید کاندید، کلید کوتاه تر برای کلید اصلی بودن بهتر است.

کلید جانشین[ویرایش]

هر کلید کاندید بغیر از کلید اصلی را کلید بدیل گویند.

کلید خارجی[ویرایش]

دو رابطه R1 و R2 را در نظر بگیرید. هر زیر مجموعه از صفات رابطه R2 که هر مقدار معلوم آن با یک مقدار از کلید کاندید R1 برابر باشد، کلید خارجی در رابطه R2 است. نقش کلید خارجی برای نمایش ارتباطات بین انواع موجودیت‌ها (و در نتیجه بین نمونه‌های آنها) بکار می‌رود.

انواع رابطه[ویرایش]


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


شکل ۱: نمایش نحوه ارتباط بین رابطه ها


Paygahe rabetei.svg

قواعد جامعیت در مدل رابطه‌ای[ویرایش]



در هر محیط عملیاتی همیشه مجموعه‌ای از قواعد معنایی،[۲] بامحدودیتهای جامعیتی،[۳] وجود دارند. اگر داده‌های ذخیره شده در پایگاه داده همواره این محدودیت‌ها را رعایت کنند، جامعیت پایگاه داده تامین می گردد. جامعیت پایگاه داده‌ها به معنی صحت، دقت و سازگاری داده‌های ذخیره شده در پایگاه داده‌ها در تمام لحظات است. هر سیستم پایگاه داده باید بتواند جامعیت پایگاه داده را کنترل و تضمین کند. عواملی مانند آنچه در زیر آمده‌است می‌تواند باعث نقض جامعیت شود:


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


برای کنترل و تضمین جامعیت، قواعدی لازم است تا سیستم مدیریت بتواند بر اساس آنها عمل کرده و باعث انطباق محتوای پایگاه با واقعیات باشدو این قواعد را قواعد جامعیتی و یا محدودیتهای جامعیتی گویند.

انواع قواعد جامعیت[ویرایش]


قواعد جامعیت در مدل رابطه‌ای به دو رده کلی تقسیم می‌شوند که به شرح هریک خواهیم پرداخت:
•قواعد کاربری،[۴]
•فراقواعد،[۵]

قواعد کاربری[ویرایش]

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


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

فرا قواعد[ویرایش]


قواعدی هستند که باید توسط هر سیستم رابطه در هر پایگاه داده رابطه‌ای اعمال گردند. این قواعد به دو گروه کلی تقسیم می‌شوند:


•قاعده جامعیت موجودیتی،[۶]:این قاعده ناظر بر کلید اصلی است و به این شرح است که هیچ جزء تشکیل دهنده کلید اصلی رابطه نمی‌تواند مقدار هیچ داشته باشد. دلیل توجیه کننده این قاعده این است که هر مقدار یک کلید اصلی، در واقع شناسه آن تاپل در رابطه‌است و عامل تمییز نمونه‌های موجودیت (تاپل‌ها) در رابطه‌است و بدیهی است که عامل تمییز خود نمی‌تواند مقدار هیچ یا ناشناخته داشته باشد.
•قاعده جامعیت ارجاعی،[۷]:این قاعده ناظر بر کلید خارجی بوده و به این شرح است که اگر صفت خاصه Ai در رابطه R2 کلید خارجی باشد در این صورت Ai در R2 می‌تواند مقدار هیچ داشته باشد، در غیر اینصورت باید حتماً مقداری باشد که در رابطه مرجع R1 وجود دارد عبارت دیگر مقدار کلید خارجی نمی‌تواند در رابطه مرجع وجود نداشته باشد.


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

مثالی از یک محیط عملیاتی[ویرایش]


سازمان یا شرکتی را در نظر می گیریم که پروژه هایی را در دست اجرا دارد .در پروژه ها از قطعاتی در کار ساخت استفاده می شود و تهیه کنندگانی این قطعات را تأمین می کنند. قطعات در پروژه ها استفاده می شوند. هر تهیه کننده در یک شهر دفتر دارد. هر قطعه می تواند در ساخت قطعه دیگر نیز بکار رود. کارمند مدیر پروژه است و یا در پروژه کار می کند. نمودار زیر را می توان برای این مثال ارائه داد.

Mesal.png


ارتباط ممکن است مابین بیش از دو موجودیت باشد (SPJ). اطلاعاتی که از این ارتباط بین سه موجودیت به دست می آید همیشه لزومًا همان اطلاعاتی نیست که از ارتباط دو به دوی موجودیت ها بدست می آید.
به عنوان نمونه:
•تهیه کننده S1 قطعه P1 را تهیه می کند.
•قطعه P1 در پروژه J1 به کار رفته است.
•تهیه کننده S1 برای پروژه J1 قطعه تهیه کرده است.
•تهیه کننده S1 قطعه P1 را برای استفاده در پروژه J1 تهیه کرده است.



منابع[ویرایش]


• فروزنده، حبیب (1390). مدیریت پایگاه داده. تهران، عابد
• سهرابی، محمد کریم (1387). پایگاه داده. تهران، پوران پژوهش
• ریاضی نیا، مهدی (1388). پایگاه داده (کامپیوتر). تهران، جهاد دانشگاهی Gorter, o., (2004). Database File System. Available in: ech.inhelsinki.nl/dbfs/dbfs-screen

پانویس[ویرایش]

  1. Relational databases
  2. Semantic Rules
  3. Integrity Constraints
  4. User Defined Rules
  5. Meta Rules
  6. Entity Integrity Rule
  7. Referential Integrity Rule