پایگاه داده رابطه‌ای: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
جز Mehran صفحهٔ پایگاه داده‌های رابطه‌ای را به پایگاه داده رابطه‌ای منتقل کرد: عنوان باید مفرد باشد
ویکی‌سازی
خط ۱:
'''پایگاه داده رابطه‌ای'''،<ref> {{به انگلیسی|Relational databases</ref>}} به آن دسته از [[پایگاه‌های داده]] اطلاق می‌شود که بر اساس [[مدل رابطه‌ای]] طراحی و ایجاد شده باشند. پس از پایگاه‌های داده‌ای سلسله مراتبی و شبکه‌ای، که هر یک دارای ضعف‌هایی بودند، متخصصان در جستجوی مدلی بودند که دارای ساختار داده‌ای با انتزاع قوی ابداع گردید. مدل رابطه‌ای در سال ۱۹۷۰ توسط [[ادگار کاد]] مطرح شد. این مدل دارای ساختار داده‌ای با انتزاع قوی بوده و اساساً ساختار داده‌ای در آن بر اساس یک مفهوم ریاضی بنام رابطه استوار است. در اینجا لازم است به این نکته توجه شود که مفهوم رابطه با مفهوم ریاضی آن تاحدودی متفاوت است.
== پایگاه داده‌های رابطه‌ای ==
'''پایگاه داده رابطه‌ای'''،<ref>Relational databases</ref> به آن دسته از [[پایگاه‌های داده]] اطلاق می‌شود که بر اساس [[مدل رابطه‌ای]] طراحی و ایجاد شده باشند. پس از پایگاه‌های داده‌ای سلسله مراتبی و شبکه‌ای، که هر یک دارای ضعف‌هایی بودند، متخصصان در جستجوی مدلی بودند که دارای ساختار داده‌ای با انتزاع قوی ابداع گردید. مدل رابطه‌ای در سال ۱۹۷۰ توسط [[ادگار کاد]] مطرح شد. این مدل دارای ساختار داده‌ای با انتزاع قوی بوده و اساساً ساختار داده‌ای در آن بر اساس یک مفهوم ریاضی بنام رابطه استوار است. در اینجا لازم است به این نکته توجه شود که مفهوم رابطه با مفهوم ریاضی آن تاحدودی متفاوت است.
 
=== ساختار داده‌های رابطه‌ای ===
برای طراحی پایگاه داده‌ها در سطح انتزاعی پایین‌تر از سطح مدل سازی، به یک ساختار داده‌ای از یک مدل داده‌ای نیاز است و اساساً همین مدل داده‌ای تامینتأمین کننده محیط انتزاعی است. در پایگاه داده رابطه‌ای بالاخص در محیط انتزاعی مورد استفاده کاربر، رابطه نمایشی جدولی دارد و اساساً پایگاه داده رابطه‌ای مجموعه‌ای است از تعدادی نوع جدول. مفاهیم ساختار جدولی عبارتند از: '''سطر، جدول و ستون'''
----
 
برای طراحی پایگاه داده‌ها در سطح انتزاعی پایین‌تر از سطح مدل سازی، به یک ساختار داده‌ای از یک مدل داده‌ای نیاز است و اساساً همین مدل داده‌ای تامین کننده محیط انتزاعی است. در پایگاه داده رابطه‌ای بالاخص در محیط انتزاعی مورد استفاده کاربر، رابطه نمایشی جدولی دارد و اساساً پایگاه داده رابطه‌ای مجموعه‌ای است از تعدادی نوع جدول. مفاهیم ساختار جدولی عبارتند از: '''سطر، جدول و ستون'''
{{سخ}}
 
سطر ۱۱ ⟵ ۸:
 
=== تعریف رابطه ===
----
 
با فرض وجود 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 از دو قسمت تشکیل شده‌است:
سطر ۳۸ ⟵ ۳۳:
 
=== تناظر بین مفاهیم رابطه‌ای و مفاهیم جدولی ===
----
 
برای پیاده‌سازی مدل رابطه‌ای در محیط انتزاعی از رابطه استفاده می‌شود. برای پیاده‌سازی مدل رابطه‌ای در ساختار پایگاه داده از مفهوم جدول استفاده می‌شود. در جدول ۱ تناظر بین اجزا، دو مفهوم رابطه و جدول آورده شده‌اند.
 
برای پیاده‌سازی مدل رابطه‌ای در محیط انتزاعی از رابطه استفاده می‌شود. برای پیاده‌سازی مدل رابطه‌ای در ساختار پایگاه داده از مفهوم جدول استفاده می‌شود. در جدول ۱ تناظر بین اجزا،اجزاء، دو مفهوم رابطه و جدول آورده شده‌اند.
<center>جدول ۱: تناظر بین اجزا مفهوم رابطه و جدولی در داده‌های رابطه‌ای </center>
 
<center>جدول ۱: تناظر بین اجزااجزاء مفهوم رابطه و جدولی در داده‌های رابطه‌ای </center>
<center>
{| class="wikitable"
|-
! اجزااجزاء مفهوم رابطه!! اجزااجزاء مفهوم جدولی
|-
| رابطه || جدول
سطر ۶۸ ⟵ ۶۳:
 
==== ویژگیهای رابطه ====
----
رابطه به عنوان تنها عنصر ساختاری اصلی در مدل رابطه‌ای برای نمایش انواع موجودیتها و انواع ارتباطات بکار می‌رود. در واقع در مدل رابطه‌ای هم نوع موجودیت و هم نوع ارتباط با مفهوم رابطه نمایش داده می‌شوند و در نتیجه هم نمونه موجودیت و هم نمونه ارتباط با مفهوم تاپل نشان داده می‌شوند. رابطه دارای چهار ویژگی زیر می‌باشد:
 
{{سخ}}•رابطه*رابطه تاپل تکراری ندارد، زیرا بدنه رابطه مجموعه‌است و مجموعه نمی‌تواند عنصر تکراری داشته باشد.
{{سخ}}•تاپل‌ها*تاپل‌ها نظم ندارند زیرا بدنه رابطه مجموعه‌است و مجموعه در حالت کلی فاقد نظم است.
{{سخ}}•صفات*صفات رابطه نظم مکانی ندارند زیرا سرآیند، رابطه مجموعه‌است و مجموعه در حالت کلی فاقد نظم است.
{{سخ}}•تمام*تمام صفات تک مقداری (تجزیه نشدنی) هستند زیرا در نمایش جدولی رابطه، در تقاطع هر سطر و ستون باید یک مقدار وجود داشته باشد.
 
==== انواع کلید در مدل رابطه‌ای ====
----
===== ابر کلید =====
هر ترکیبی از صفات جدول را که یکتایی مقدار داشته باشد، ابر کلید گویند. به بیانی دیگر هر زیر مجموعه عنوان رابطه می‌باشد که یکتایی مقدار در بدنه رابطه را داشته باشد. تعریف دیگر ابر کلید عبارت است از هر ترکیبی از اسامی صفات رابطه که در هیچ دو تاپل مقدار یکسان نداشته باشد.
سطر ۸۷ ⟵ ۸۰:
یکی از کلیدهای کاندید رابطه که شرایط زیر را داشته باشد:
 
{{سخ}}•شناسایی*شناسایی کننده نوع موجودیت (تک تاپل) در رابطه باشد. مانند شماره عضویت کتابخانه برای هر دانشجو.
{{سخ}}•از*از نظر طول، کوتاه ترکوتاه‌تر باشد. یعنی بین دو کلید کاندید، کلید کوتاه ترکوتاه‌تر برای کلید اصلی بودن بهتر است.
 
===== کلید جانشین =====
سطر ۹۷ ⟵ ۹۰:
 
=== انواع رابطه ===
----
انواع رابطه عبارتند از:
{{سخ}}
سطر ۱۱۴ ⟵ ۱۰۶:
 
=== قواعد جامعیت در مدل رابطه‌ای ===
----
 
{{سخ}}در هر محیط عملیاتی همیشه مجموعه‌ای از قواعد معنایی،<ref>Semantic Rules</ref>
بامحدودیتهای جامعیتی،<ref>Integrity Constraints</ref> وجود دارند. اگر داده‌های ذخیره شده در پایگاه داده همواره این محدودیت‌ها را رعایت کنند، جامعیت پایگاه داده تامینتأمین می‌گردد. جامعیت پایگاه داده‌ها به معنی صحت، دقت و سازگاری داده‌های ذخیره شده در پایگاه داده‌ها در تمام لحظات است. هر سیستم پایگاه داده باید بتواند جامعیت پایگاه داده را کنترل و تضمین کند. عواملی مانند آنچه در زیر آمده‌است می‌تواند باعث نقض جامعیت شود:
 
{{سخ}}•اشتباه*اشتباه در برنامه‌ها
{{سخ}}•اشتباه*اشتباه در ورود اطلاعات از سوی کاربران
{{سخ}}•مشکلات* مشکلات سخت‌افزاری و نرم‌افزاری مرتبط با داده‌ها
{{سخ}}•عدم* عدم انجام کامل فرایند بر روی داده‌ها
{{سخ}}•وجود* وجود افزونگی و تعدد در داده‌های تکراری.
 
{{سخ}}برای کنترل و تضمین جامعیت، قواعدی لازم است تا سیستم مدیریت بتواند بر اساس آنها عمل کرده و باعث انطباق محتوای پایگاه با واقعیات باشدو این قواعد را قواعد جامعیتی و یا محدودیتهای جامعیتی گویند.
 
==== انواع قواعد جامعیت ====
 
----
قواعد جامعیت در مدل رابطه‌ای به دو رده کلی تقسیم می‌شوند که به شرح هریک خواهیم پرداخت:
{{سخ}}•قواعد* قواعد کاربری،<ref>User Defined Rules</ref>
{{سخ}}•فراقواعد،* فراقواعد،<ref>Meta Rules</ref>
 
===== قواعد کاربری =====
 
----
قواعد کاربری که گاه به آنها قواعد محیطی یا قواعد وابسته به داده نیز می‌گویند، قواعدی هستند که توسط کاربر مجاز و برای یک پایگاه داده خاص تعریف می‌شوند. این قواعد وابسته به واقعیات محیط هستند و در بعضی منابع به آنها محدودیت‌های جامعیتی معنایی نیز می‌گویند. مانند قواعدی که برای طراحی یک پایگاه داده‌های کتابشناختی از سوی کتابدار سیستم برای پایگاه داده‌های کتابخانه استفاده می‌شود. قواعد کاربری در مدل رابطه‌ای به چهار دسته تقسیم می‌شوند:
 
{{سخ}}•محدودیت* محدودیت میدانی: محدودیتی است ناظر بر میدان هر صفت خاصه و مقادیر مجاز آنرا مشخص می‌کند. مانند اینکه صفت خاص یک رکورداطلاعاتی و بازه آن چه چیزی باشد و چه مقادیری را بگیرد.
{{سخ}}•محدودیت* محدودیت صفتی: محدودیتی است ناظر بر یک صفت و نوع آن را مشخص می‌کند.
{{سخ}}•محدودیت* محدودیت رابطه‌ای: محدودیتی است ناظر بر یک رابطه و مقادیر مجاز یک متغیر رابطه‌ای را مشخص می‌کند.
{{سخ}}•محدودیت* محدودیت پایگاهی: محدودیتی است ناظر بر دو یا چند متغیر رابطه‌ای به نحوی که آنها را بهم مرتبط می‌کند.
 
==== فرا قواعد ====
 
----
قواعدی هستند که باید توسط هر سیستم رابطه در هر پایگاه داده رابطه‌ای اعمال گردند. این قواعد به دو گروه کلی تقسیم می‌شوند:
 
{{سخ}}•قاعده* قاعده جامعیت موجودیتی:<ref>Entity Integrity Rule</ref>این قاعده ناظر بر کلید اصلی است و به این شرح است که هیچ جزء تشکیل دهنده کلید اصلی رابطه نمی‌تواند مقدار هیچ داشته باشد. دلیل توجیه کننده این قاعده این است که هر مقدار یک کلید اصلی، در واقع شناسه آن تاپل در رابطه‌است و عامل تمییز نمونه‌های موجودیت (تاپل‌ها) در رابطه‌است و بدیهی است که عامل تمییز خود نمی‌تواند مقدار هیچ یا ناشناخته داشته باشد.{{سخ}}•قاعده* قاعده جامعیت ارجاعی:<ref>Referential Integrity Rule</ref>این قاعده ناظر بر کلید خارجی بوده و به این شرح است که اگر صفت خاصه Ai در رابطه R2 کلید خارجی باشد در این صورت Ai در R2 می‌تواند مقدار هیچ داشته باشد، در غیر اینصورت باید حتماً مقداری باشد که در رابطه مرجع R1 وجود دارد عبارت دیگر مقدار کلید خارجی نمی‌تواند در رابطه مرجع وجود نداشته باشد.
 
{{سخ}}دلیل توجیه این قاعده این است که کلید خارجی عامل ارجاع از یک نمونه موجودیت به نمونه موجودیت دیگر است و بدیهی است که نمی‌توان به نمونه موجودیت ناموجود ارجاع داد.
 
=== مثالی از یک محیط عملیاتی ===
 
----
سازمان یا شرکتی را در نظر می‌گیریم که پروژه‌هایی را در دست اجرا دارد. در پروژه‌ها از قطعاتی در کار ساخت استفاده می‌شود و تهیه کنندگانی این قطعات را تأمین می‌کنند. قطعات در پروژه‌ها استفاده می‌شوند. هر تهیه کننده در یک شهر دفتر دارد. هر قطعه می‌تواند در ساخت قطعه دیگر نیز بکار رود. کارمند مدیر پروژه است و یا در پروژه کار می‌کند. نمودار زیر را می‌توان برای این مثال ارائه داد.
<center>
سطر ۱۵۸ ⟵ ۱۴۸:
{{سخ}}ارتباط ممکن است مابین بیش از دو موجودیت باشد (SPJ). اطلاعاتی که از این ارتباط بین سه موجودیت به دست می‌آید همیشه لزومًا همان اطلاعاتی نیست که از ارتباط دو به دوی موجودیت‌ها بدست می‌آید.
{{سخ}}به عنوان نمونه:
{{سخ}}•تهیه* تهیه کننده S1 قطعه P1 را تهیه می‌کند.
{{سخ}}•قطعه* قطعه P1 در پروژه J1 به کار رفته است.
{{سخ}}•تهیه* تهیه کننده S1 برای پروژه J1 قطعه تهیه کرده است.
{{سخ}}•تهیه* تهیه کننده S1 قطعه P1 را برای استفاده در پروژه J1 تهیه کرده است.
 
== پانویس ==
----
{{پانویس|اندازه=ریز}}
 
{{پایگاه داده‌ها}}
 
== منابع ==
* رانکوهی، روحانی (۱۳۸۸). پایگاه داده. قابل دستیابی از http://hercul35.persiangig.com/document/DataBase-part1.pdf
{{سخ}}•* فروزنده، حبیب (۱۳۹۰). مدیریت پایگاه داده. تهران، عابد
{{سخ}}•* سهرابی، محمد کریم (۱۳۸۷). پایگاه داده. تهران، پوران پژوهش
{{سخ}}•* ریاضی نیا، مهدی (۱۳۸۸). پایگاه داده (کامپیوتر). تهران، جهاد دانشگاهی
Gorter, o. , (2004). Database File System. Available in: ech.inhelsinki.nl/dbfs/dbfs-screen
 
{{پایگاه داده‌ها}}
== پانویس ==
{{پانویس|اندازه=ریز}}
{{علوم رایانه}}
 
[[رده:اختراعات انگلیسی]]
[[رده:سامانه‌های مدیریت پایگاه داده‌ها]]