مدل داده رابطهای
مدل داده رابطهای تمام دادهها را به عنوان روابط — مجموعهای از تاپلها بر روی ویژگیهای نامگذاری شده — نمایش میدهد و دستکاری دادهها را بر اساس عملیاتهای نظریه مجموعهها و منطق مرتبه اول بنا میکند و به استقلال بین نمای منطقی دادهها و ذخیرهسازی فیزیکی آنها دست مییابد.
Definition
در مدل رابطهای، یک رابطه مجموعهای از تاپلها است که هر تاپل نگاشتی از مجموعهای ثابت از ویژگیها به مقادیری است که از دامنههای آن ویژگیها گرفته شدهاند؛ یک پایگاه داده رابطهای مجموعهای از چنین روابطی است که توسط محدودیتهای یکپارچگی اداره میشود.
Scope
این موضوع بخش ساختاری مدل رابطهای را پوشش میدهد: روابط، تاپلها، ویژگیها و دامنهها؛ شمایهها و نمونهها؛ کلیدهای کاندید، اصلی و خارجی؛ و محدودیتهای یکپارچگی موجودیت و یکپارچگی ارجاعی. این مدل روابط را دارای معناشناسی مجموعهای و ارایتی ثابت در نظر میگیرد و توضیح میدهد که چگونه استقلال دادهها، برنامهها را از جزئیات ذخیرهسازی رها میکند. این موضوع زبانهای پرسوجو ساخته شده بر روی مدل (که تحت SQL و جبر رابطهای پوشش داده میشوند) و رشته طراحی نرمالسازی را شامل نمیشود.
Core questions
- اجزای ساختاری یک رابطه: ویژگیها، دامنهها، تاپلها و ارایتی (arity) چیستند؟
- کلیدهای کاندید، اصلی و خارجی چگونه تاپلها را شناسایی و به هم پیوند میدهند؟
- یکپارچگی موجودیت و یکپارچگی ارجاعی چه چیزی را تضمین میکنند؟
- این مدل چگونه به استقلال دادههای منطقی و فیزیکی دست مییابد؟
- چرا روابط به عنوان مجموعهها و نه لیستهای مرتب شده از تاپلها تعریف میشوند؟
Key concepts
- رابطه، تاپل، ویژگی، دامنه
- شمای رابطه و نمونه
- کلیدهای کاندید و اصلی
- کلیدهای خارجی
- یکپارچگی موجودیت
- یکپارچگی ارجاعی
- استقلال دادههای منطقی و فیزیکی
- مقادیر تهی
Key theories
- روابط به عنوان مجموعهای از تاپلها
- یک رابطه زیرمجموعهای از حاصلضرب دکارتی دامنههای ویژگیهای آن است؛ از آنجا که یک مجموعه است، تاپلها نامرتب و بدون تکرار هستند و مدل جبر عملیاتهای مجموعه را به ارث میبرد.
- استقلال دادهها
- با توصیف دادهها صرفاً بر حسب روابط و محدودیتها، مدل شمای منطقی را از ذخیرهسازی فیزیکی و مسیرهای دسترسی جدا میکند، بنابراین نمایش فیزیکی میتواند بدون بازنویسی برنامهها تغییر کند.
- محدودیتهای یکپارچگی
- یکپارچگی موجودیت مقادیر تهی کلید اصلی را ممنوع میکند و یکپارچگی ارجاعی مستلزم آن است که هر مقدار کلید خارجی با یک کلید اصلی موجود در رابطه ارجاع شده مطابقت داشته باشد، و این امر تضمین میکند که روابط بین روابط ثابت باقی بمانند.
Clinical relevance
مدل رابطهای اساس کلاس غالب سیستمهای پایگاه داده است که در تجارت، امور مالی، دولت و وب استفاده میشود؛ جداسازی تمیز ساختار منطقی از ذخیرهسازی فیزیکی دلیل این است که پایگاههای داده رابطهای برای نیم قرن به عنوان انتخاب پیشفرض برای دادههای ساختاریافته و تراکنشی باقی ماندهاند.
History
ای. اف. کاد (E. F. Codd) مدل رابطهای را در سال ۱۹۷۰ در IBM پیشنهاد کرد و علیه مدلهای سلسلهمراتبی و شبکهای رایج که پرسوجوهای آنها به ناوبری فیزیکی گره خورده بود، استدلال کرد. سیستمهای نمونه اولیه System R (IBM) و Ingres (برکلی) عملی بودن آن را در اواسط دهه ۱۹۷۰ نشان دادند و کاد بعدها جایزه تورینگ را برای این کار دریافت کرد.
Key figures
- Edgar F. Codd
- Jeffrey D. Ullman
Related topics
Seminal works
- codd1970
- silberschatz2019
Frequently asked questions
- چرا روابط به عنوان مجموعهها و بدون تاپلهای تکراری تعریف میشوند؟
- تعریف یک رابطه به عنوان یک مجموعه، مبنای ریاضیاتی تمیزی به مدل میدهد و به این معنی است که هویت یک تاپل به طور کامل توسط مقادیر ویژگیهای آن به علاوه محدودیتهای کلید تعیین میشود. در عمل، SQL این را به معناشناسی چندمجموعهای (bag) کاهش میدهد و اجازه میدهد ردیفهای تکراری وجود داشته باشند مگر اینکه یک کلید یا DISTINCT منحصر به فرد بودن را اعمال کند.
- یکپارچگی ارجاعی در واقع از چه چیزی جلوگیری میکند؟
- این از ارجاعات معلق جلوگیری میکند: یک کلید خارجی در یک رابطه باید یا تهی باشد یا با یک مقدار کلید اصلی موجود در رابطه ارجاع شده مطابقت داشته باشد، بنابراین شما نمیتوانید، برای مثال، سفارشی را برای مشتریای که وجود ندارد ثبت کنید.