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

محتوای حذف‌شده محتوای افزوده‌شده
Fatemibot (بحث | مشارکت‌ها)
جز ربات ردهٔ همسنگ (۲۶) +املا+مرتب+تمیز (۸.۸): + رده:نظریه پایگاه داده
علیرضا (بحث | مشارکت‌ها)
خط ۱:
== پایگاه داده‌های رابطه‌ای ==
'''پایگاه داده رابطه ایرابطه‌ای'''،<ref>Relational databases</ref> به آن دسته از [[پایگاه‌های داده]] اطلاق می‌شود که بر اساس [[مدل رابطه‌ای]] طراحی و ایجاد شده باشند. پس از پایگاه‌های داده‌ای سلسله مراتبی و شبکه‌ای، که هر یک دارای ضعف‌هایی بودند، متخصصان در جستجوی مدلی بودند که دارای ساختار داده‌ای با انتزاع قوی ابداع گردید. مدل رابطه‌ای در سال ۱۹۷۰ توسط [[ادگار کاد]] مطرح شد. این مدل دارای ساختار داده‌ای با انتزاع قوی بوده و اساساً ساختار داده‌ای در آن بر اساس یک مفهوم ریاضی بنام رابطه استوار است. در اینجا لازم است به این نکته توجه شود که مفهوم رابطه با مفهوم ریاضی آن تاحدودی متفاوت است.
 
'''پایگاه داده رابطه ای'''،<ref>Relational databases</ref> به آن دسته از [[پایگاه‌های داده]] اطلاق می‌شود که بر اساس [[مدل رابطه‌ای]] طراحی و ایجاد شده باشند. پس از پایگاه‌های داده‌ای سلسله مراتبی و شبکه‌ای، که هر یک دارای ضعف‌هایی بودند، متخصصان در جستجوی مدلی بودند که دارای ساختار داده‌ای با انتزاع قوی ابداع گردید. مدل رابطه‌ای در سال ۱۹۷۰ توسط [[ادگار کاد]] مطرح شد. این مدل دارای ساختار داده‌ای با انتزاع قوی بوده و اساساً ساختار داده‌ای در آن بر اساس یک مفهوم ریاضی بنام رابطه استوار است. در اینجا لازم است به این نکته توجه شود که مفهوم رابطه با مفهوم ریاضی آن تاحدودی متفاوت است.
 
=== ساختار داده‌های رابطه‌ای ===
----
 
برای طراحی پایگاه داده‌ها در سطح انتزاعی پایین ترپایین‌تر از سطح مدل سازی، به یک ساختار داده‌ای از یک مدل داده‌ای نیاز است و اساساً همین مدل داده‌ای تامین کننده محیط انتزاعی است. در پایگاه داده رابطه‌ای بالاخص در محیط انتزاعی مورد استفاده کاربر، رابطه نمایشی جدولی دارد و اساساً پایگاه داده رابطه‌ای مجموعه‌ای است از تعدادی نوع جدول. مفاهیم ساختار جدولی عبارتند از: '''سطر، جدول و ستون'''
{{سخ}}
 
هر جدول از نظر محتوای داده‌ای مجموعه‌ای است از نمونه‌های متمایز از انواع سطرها و هر سطر نیز مجموعه‌ای از مقادیر است که هر کدام از یک مجموعه برگرفته شده‌اند. به هر یک از عناصر سطر یک ستون گویند. لازم بهاست ذکر استشود که در ساختار جدولی، تنها عنصر ساختاری اساسی همین مفهوم نوع جدول است.
 
=== تعریف رابطه ===
سطر ۲۹ ⟵ ۲۷:
{{سخ}}با فرض وجود 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)
 
=== تناظر بین مفاهیم رابطه‌ای و مفاهیم جدولی ===
----
 
برای پیاده سازیپیاده‌سازی مدل رابطه‌ای در محیط انتزاعی از رابطه استفاده می‌شود. برای پیاده سازیپیاده‌سازی مدل رابطه‌ای در ساختار پایگاه داده از مفهوم جدول استفاده می‌شود. در جدول ۱ تناظر بین اجزا، دو مفهوم رابطه و جدول آورده شده‌اند.
 
<center>جدول ۱: تناظر بین اجزا مفهوم رابطه و جدولی در داده‌های رابطه‌ای </center>
سطر ۶۵ ⟵ ۶۳:
'''نکته:''' مفاهیم جدول و رابطه تا حدود زیادی به یکدیگر نزدیک بوده و در مواردی به اشتباه بجای یکدیگر مورد استفاده قرار می‌گیرند.
 
مثال: جدول زیر، مثالی است که نشان دهنده مفاهیم جدول و رابطه در نمونه عینی از عضویت در کتابخانه ایکتابخانه‌ای دانشگاهی.
<center>[[پرونده:Libss.png]]
</center>
 
==== ویژگیهای رابطه ====
----
سطر ۷۹ ⟵ ۷۸:
==== انواع کلید در مدل رابطه‌ای ====
----
===== ابر کلید =====
هر ترکیبی از صفات جدول را که یکتایی مقدار داشته باشد، ابر کلید گویند. به بیانی دیگر هر زیر مجموعه عنوان رابطه می باشدمی‌باشد که یکتایی مقدار در بدنه رابطه را داشته باشد. تعریف دیگر ابر کلید عبارت است از هر ترکیبی از اسامی صفات رابطه که در هیچ دو تاپل مقدار یکسان نداشته باشد.
 
===== کلید کاندید =====
کلید کاندید امکانی است برای ارجاع به "«تک تاپل"» در رابطه. مجموعه صفات k از رابطه R یک کلید کاندید است، اگر دارای خاصیت غیر کاهشی و یکتایی باشد.
 
===== کلید اصلی =====
سطر ۱۱۸ ⟵ ۱۱۷:
 
{{سخ}}در هر محیط عملیاتی همیشه مجموعه‌ای از قواعد معنایی،<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>
[[پرونده:mesal.png]]
</center>
{{سخ}}ارتباط ممکن است مابین بیش از دو موجودیت باشد (SPJ). اطلاعاتی که از این ارتباط بین سه موجودیت به دست می آیدمی‌آید همیشه لزومًا همان اطلاعاتی نیست که از ارتباط دو به دوی موجودیت هاموجودیت‌ها بدست می آیدمی‌آید.
{{سخ}}به عنوان نمونه:
{{سخ}}•تهیه کننده S1 قطعه P1 را تهیه می کندمی‌کند.
{{سخ}}•قطعه P1 در پروژه J1 به کار رفته است.
{{سخ}}•تهیه کننده S1 برای پروژه J1 قطعه تهیه کرده است.
{{سخ}}•تهیه کننده S1 قطعه P1 را برای استفاده در پروژه J1 تهیه کرده است.
 
----
خط ۱۶۸:
 
== منابع ==
* رانکوهی، روحانی (1388۱۳۸۸). پایگاه داده. قابل دستیابی از http://hercul35.persiangig.com/document/DataBase-part1.pdf
{{سخ}}• فروزنده، حبیب (1390۱۳۹۰). مدیریت پایگاه داده. تهران، عابد
{{سخ}}• سهرابی، محمد کریم (1387۱۳۸۷). پایگاه داده. تهران، پوران پژوهش
{{سخ}}• ریاضی نیا، مهدی (1388۱۳۸۸). پایگاه داده (کامپیوتر). تهران، جهاد دانشگاهی
Gorter, o. , (2004). Database File System. Available in: ech.inhelsinki.nl/dbfs/dbfs-screen
 
== پانویس ==
 
{{پانویس|اندازه=ریز}}