پایگاه داده رابطه‌ای
پایگاه داده رابطه‌ای به آن دسته از پایگاه‌های داده اطلاق می‌شود که بر اساس مدل رابطه‌ای طراحی و ایجاد شده باشند. پس از پایگاه‌های داده‌ای سلسله مراتبی و شبکه‌ای، که هر یک دارای ضعف‌هایی بودند، متخصصان در جستجوی مدلی بودند که دارای ساختار داده‌ای با انتزاع قوی ابداع گردید. مدل رابطه‌ای در سال ۱۹۷۰ توسط ادگار کاد مطرح شد. این مدل دارای ساختار داده‌ای با انتزاع قوی بوده و اساساً ساختار داده‌ای در آن بر اساس یک مفهوم ریاضی به نام رابطه استوار است. در اینجا لازم است به این نکته توجه شود که مفهوم رابطه با مفهوم ریاضی آن تاحدودی متفاوت است.
برای طراحی پایگاه داده‌ها در سطح انتزاعی پایین‌تر از سطح مدل‌سازی، به یک ساختار داده‌ای از یک مدل داده‌ای نیاز است و اساساً همین مدل داده‌ای تأمین‌کننده محیط انتزاعی است. در پایگاه داده رابطه‌ای بالاخص در محیط انتزاعی مورد استفاده کاربر، رابطه نمایشی جدولی دارد و اساساً پایگاه داده رابطه‌ای مجموعه‌ای است از تعدادی نوع جدول. مفاهیم ساختار جدولی عبارتند از: سطر، جدول و ستون
هر جدول از نظر محتوای داده‌ای مجموعه‌ای است از نمونه‌های متمایز از انواع سطرها و هر سطر نیز مجموعه‌ای از مقادیر است که هر کدام از یک مجموعه برگرفته شده‌اند. به هر یک از عناصر سطر یک ستون گویند. لازم است ذکر شود که در ساختار جدولی، تنها عنصر ساختاری اساسی همین مفهوم نوع جدول است.
با فرض وجود n مجموعه S1، S2، …، Sn رابطه R تعریف شده روی این n مجموعه، مجموعه‌ای است از n تایی‌ها که به آن تاپل می‌گویند به نحوی که جزء اول هر n تایی از S1، جزء دوم از S2 و… مقدار بگیرد. هریک از مجموعه‌های S1، S2 و… میدان یا دامنه نامیده می‌شود. دامنه، مجموعه مقادیری است که یک صفت از رابطه مشخص می‌تواند داشته باشد.
برای درک بهتر موضوع مثالی را از جدول اعضای کتابخانه در یک دانشگاه با جزییات بیشتر بیان می‌کنیم. فرض کنید مجموعه‌های زیر را داشته باشیم:
در اینصورت، STT با پنج صفت خاصه مرتبط با پنج مجموعه بالا، یک رابطه بوده و به صورت زیر نوشته می‌شود: با فرض وجود n دامنه D1، D2،... ، Dn رابطه R از دو قسمت تشکیل شده‌است:
۱- مجموعه عنوان: مجموعه‌ای نامدار است که از n صفت به صورت Ai: Di که در آن هر Ai نام یک صفت است و هر Di نام دامنه صفت است. به این مجموعه شمای رابطه نیز می‌گویند که به صورت شماتیک چنین است:
۲- مجموعه بدنه: مجموعه‌ای است از m تاپل به نحوی که t خود مجموعه‌ای است از n عنصر به صورت Ai: vi که در آن vi مقداری است از نوع دامنه Di.
برای پیاده‌سازی مدل رابطه‌ای در محیط انتزاعی از رابطه استفاده می‌شود. برای پیاده‌سازی مدل رابطه‌ای در ساختار پایگاه داده از مفهوم جدول استفاده می‌شود. در جدول ۱ تناظر بین اجزاء، دو مفهوم رابطه و جدول آورده شده‌اند.
جدول ۱: تناظر بین اجزاء مفهوم رابطه و جدولی در داده‌های رابطه‌ای
نکته: مفاهیم جدول و رابطه تا حدود زیادی به یکدیگر نزدیک بوده و در مواردی به اشتباه به جای یکدیگر مورد استفاده قرار می‌گیرند.
مثال: جدول زیر، مثالی است که نشان دهنده مفاهیم جدول و رابطه در نمونه عینی از عضویت در کتابخانه‌ای دانشگاهی.
رابطه به عنوان تنها عنصر ساختاری اصلی در مدل رابطه‌ای برای نمایش انواع موجودیتها و انواع ارتباطات بکار می‌رود. در واقع در مدل رابطه‌ای هم نوع موجودیت و هم نوع ارتباط با مفهوم رابطه نمایش داده می‌شوند و در نتیجه هم نمونه موجودیت و هم نمونه ارتباط با مفهوم تاپل نشان داده می‌شوند. رابطه دارای چهار ویژگی زیر می‌باشد:
هر ترکیبی از صفات جدول را که یکتایی مقدار داشته باشد، ابر کلید گویند. به بیانی دیگر هر زیر مجموعه عنوان رابطه می‌باشد که یکتایی مقدار در بدنه رابطه را داشته باشد. تعریف دیگر ابر کلید عبارت است از هر ترکیبی از اسامی صفات رابطه که در هیچ دو تاپل مقدار یکسان نداشته باشد.
کلید کاندید امکانی است برای ارجاع به «تک تاپل» در رابطه. مجموعه صفات k از رابطه R یک کلید کاندید است، اگر دارای خاصیت غیر کاهشی و یکتایی باشد.
یکی از کلیدهای کاندید رابطه که شرایط زیر را داشته باشد:
هر کلید کاندید بغیر از کلید اصلی را کلید بدیل گویند.
دو رابطه R1 و R2 را در نظر بگیرید. هر زیر مجموعه از صفات رابطه R2 که هر مقدار معلوم آن با یک مقدار از کلید کاندید R1 برابر باشد، کلید خارجی در رابطه R2 است. نقش کلید خارجی برای نمایش ارتباطات بین انواع موجودیت‌ها (و در نتیجه بین نمونه‌های آنها) بکار می‌رود.
انواع رابطه عبارتند از:
"رابطه نامدار:" رابطه‌ای که با یک نام به سیستم معرفی شده باشد.
"رابطه مبنا:" نوعی رابطه نامدار که استقلال وجودی دارد و مشتق از رابطه‌های دیگر نیست و داده‌های ذخیره شده متناظر دارد.
"رابطه مشتق:" رابطه‌ای که به کمک یک عبارت رابطه‌ای بر حسب رابطه‌های نامدار دیگر و در نهایت برحسب رابطه‌های مبنا تعریف می‌شود. انواع رابطه و ارتباط بین آن‌ها در شکل ۱ آمده‌است.
شکل ۱: نمایش نحوه ارتباط بین رابطه ها
در هر محیط عملیاتی همیشه مجموعه‌ای از قواعد معنایی، بامحدودیتهای جامعیتی، وجود دارند. اگر داده‌های ذخیره شده در پایگاه داده همواره این محدودیت‌ها را رعایت کنند، جامعیت پایگاه داده تأمین می‌گردد. جامعیت پایگاه داده‌ها به معنی صحت، دقت و سازگاری داده‌های ذخیره شده در پایگاه داده‌ها در تمام لحظات است. هر سیستم پایگاه داده باید بتواند جامعیت پایگاه داده را کنترل و تضمین کند. عواملی مانند آنچه در زیر آمده‌است می‌تواند باعث نقض جامعیت شود:
برای کنترل و تضمین جامعیت، قواعدی لازم است تا سیستم مدیریت بتواند بر اساس آن‌ها عمل کرده و باعث انطباق محتوای پایگاه با واقعیات باشد و این قواعد را قواعد جامعیتی یا محدودیتهای جامعیتی گویند.
قواعد جامعیت در مدل رابطه‌ای به دو رده کلی تقسیم می‌شوند که به شرح هریک خواهیم پرداخت:
قواعد کاربری که گاه به آن‌ها قواعد محیطی یا قواعد وابسته به داده نیز می‌گویند، قواعدی هستند که توسط کاربر مجاز و برای یک پایگاه داده خاص تعریف می‌شوند. این قواعد وابسته به واقعیات محیط هستند و در بعضی منابع به آن‌ها محدودیت‌های جامعیتی معنایی نیز می‌گویند. مانند قواعدی که برای طراحی یک پایگاه داده‌های کتابشناختی از سوی کتابدار سیستم برای پایگاه داده‌های کتابخانه استفاده می‌شود. قواعد کاربری در مدل رابطه‌ای به چهار دسته تقسیم می‌شوند:
قواعدی هستند که باید توسط هر سیستم رابطه در هر پایگاه داده رابطه‌ای اعمال گردند. این قواعد به سه گروه کلی تقسیم می‌شوند: سازمان یا شرکتی را در نظر می‌گیریم که پروژه‌هایی را در دست اجرا دارد. در پروژه‌ها از قطعاتی در کار ساخت استفاده می‌شود و تهیه‌کنندگانی این قطعات را تأمین می‌کنند. قطعات در پروژه‌ها استفاده می‌شوند. هر تهیه‌کننده در یک شهر دفتر دارد. هر قطعه می‌تواند در ساخت قطعه دیگر نیز بکار رود. کارمند مدیر پروژه است یا در پروژه کار می‌کند. نمودار زیر را می‌توان برای این مثال ارائه داد.
ارتباط ممکن است مابین بیش از دو موجودیت باشد (SPJ). اطلاعاتی که از این ارتباط بین سه موجودیت به دست می‌آید همیشه لزومًا همان اطلاعاتی نیست که از ارتباط دو به دوی موجودیت‌ها بدست می‌آید. به عنوان نمونه:
Gorter, o. , (2004). Database File System. Available in: ech.inhelsinki.nl/dbfs/dbfs-screen