RDBMS چیست؟ – جامعه dev

مدل رابطه ای (RM) رویکردی برای مدیریت داده ها با استفاده از یک ساختار و زبان سازگار با منطق محمول مرتبه اول است ، که برای اولین بار در سال 1969 توسط دانشمند رایانه انگلیسی Edgar F. Codd شرح داده شده است ،[1][2] جایی که تمام داده ها از نظر Tuples نمایش داده می شوند ، به روابط گروه بندی می شوند. یک پایگاه داده که از نظر مدل رابطه ای سازماندهی شده است ، یک پایگاه داده رابطه ای است.
هدف از مدل رابطه ارائه یک روش اعلانی برای مشخص کردن داده ها و نمایش داده ها است: کاربران به طور مستقیم بیان می کنند که چه اطلاعاتی در پایگاه داده وجود دارد و چه اطلاعاتی را از آن می خواهد ، و به نرم افزار سیستم مدیریت پایگاه داده اجازه می دهد تا از توصیف ساختارهای داده برای ذخیره داده ها و رویه های بازیابی برای پاسخ دادن به سؤالات مراقبت کند.
بیشتر بانکهای اطلاعاتی رابطه ای از تعریف داده های SQL و زبان پرس و جو استفاده می کنند. این سیستم ها آنچه را می توان به عنوان تقریب مهندسی به مدل رابطه در نظر گرفت ، پیاده سازی می کنند. یک جدول در یک طرحواره پایگاه داده SQL با یک متغیر محمول مطابقت دارد. محتوای یک جدول به یک رابطه ؛ محدودیت های کلیدی ، سایر محدودیت ها و نمایش داده های SQL با پیش بینی ها مطابقت دارند. با این حال ، پایگاه داده های SQL در بسیاری از جزئیات از مدل رابطه منحرف می شوند ، و CODD به شدت در برابر انحرافات که اصول اصلی را به خطر می اندازد ، استدلال می کنند.
یک رابطه شامل یک عنوان و یک بدن است. عنوان مجموعه ای از ویژگی ها را تعریف می کند ، هر کدام دارای یک نام و نوع داده (که گاهی اوقات دامنه نامیده می شوند). تعداد ویژگی های این مجموعه درجه رابطه یا arity است. بدن مجموعه ای از تاپل ها است. Tuple مجموعه ای از مقادیر N است ، که در آن N درجه رابطه است و هر مقدار در Tuple با یک ویژگی منحصر به فرد مطابقت دارد.[6] تعداد Tuples در این مجموعه ، کاردینال بودن رابطه است.[7]: 17-22
روابط توسط متغیرهای رابطه ای یا Relvars نشان داده شده است ، که می توانند مجدداً تنظیم شوند.[7]: 22-24 یک بانک اطلاعاتی مجموعه ای از Relvars است.[7]: 112–113
در این مدل ، پایگاه داده ها از اصل اطلاعات پیروی می کنند: در هر زمان معین ، تمام اطلاعات موجود در پایگاه داده صرفاً توسط مقادیر موجود در Tuples ، مربوط به ویژگی ها ، در روابط مشخص شده توسط RELVARS ارائه می شود.[7]: 111
محدودیت ها
ویرایش کردن
یک بانک اطلاعاتی ممکن است عبارات بولی دلخواه را به عنوان محدودیت تعریف کند. اگر همه محدودیت ها به عنوان صحیح ارزیابی شوند ، پایگاه داده سازگار است. در غیر این صورت ، متناقض است. اگر تغییر در رگ های پایگاه داده ، پایگاه داده را در وضعیت ناسازگار قرار دهد ، این تغییر غیرقانونی است و نباید موفق شود.[7]: 91
به طور کلی ، محدودیت ها با استفاده از اپراتورهای مقایسه رابطه بیان می شوند ، که فقط یک “زیر مجموعه” (⊆) است ، از نظر تئوری کافی است.[citation needed]
دو مورد خاص از محدودیت ها به عنوان کلیدها و کلیدهای خارجی بیان شده است:
کلیدی
ویرایش کردن
یک کلید کاندیدای یا به سادگی یک کلید ، کوچکترین زیر مجموعه از ویژگی های تضمین شده برای تمایز منحصر به فرد هر یک از هر نوع Tuple در یک رابطه است. از آنجا که هر یک از آنها در یک رابطه باید منحصر به فرد باشند ، هر رابطه ای لزوماً دارای یک کلید است که ممکن است مجموعه ای از ویژگی های کامل آن باشد. یک رابطه ممکن است دارای چندین کلید باشد ، زیرا ممکن است چندین روش برای تمایز منحصر به فرد هر Tuple وجود داشته باشد.[7]: 31-33
یک ویژگی ممکن است بدون داشتن یک کلید ، در سراسر Tuples بی نظیر باشد. به عنوان مثال ، رابطه ای که کارمندان یک شرکت را توصیف می کند ممکن است دو ویژگی داشته باشد: شناسه و نام. حتی اگر هیچ کارمندی در حال حاضر یک نام به اشتراک بگذارد ، اگر در نهایت استخدام یک کارمند جدید با همین نام به عنوان یک کارمند فعلی امکان پذیر باشد ، زیر مجموعه ویژگی {نام} یک کلید نیست. برعکس ، اگر زیر مجموعه {ID یک کلید باشد ، این بدان معنی است که نه تنها هیچ کارمندی در حال حاضر شناسه را به اشتراک می گذارد ، بلکه هیچ کارمندی هرگز شناسه را به اشتراک نمی گذارد.[7]: 31-33
کلیدهای خارجی
ویرایش کردن
مقاله اصلی: کلید خارجی
یک کلید خارجی زیر مجموعه ای از ویژگی های A در یک رابطه R1 است که با یک کلید از رابطه دیگر R2 مطابقت دارد ، با این خاصیت که پیش بینی R1 در A زیر مجموعه ای از پیش بینی R2 در A. است. به عبارت دیگر ، اگر یک Tuple در R1 حاوی مقادیری برای یک کلید خارجی باشد ، باید یک Tuple مربوطه در R2 وجود داشته باشد که حاوی همان مقادیر مشابه برای کلید مربوطه باشد.[7]: 34
عملیات رابطه
ویرایش کردن
کاربران (یا برنامه ها) با ارسال یک پرس و جو ، داده ها را از یک پایگاه داده رابطه ای درخواست می کنند. در پاسخ به یک پرس و جو ، پایگاه داده یک مجموعه نتیجه را برمی گرداند.
غالباً ، داده ها از جدول های مختلف با انجام پیوستن به یک ترکیب می شوند. از نظر مفهومی ، این کار با استفاده از تمام ترکیبات ممکن از ردیف ها (محصول دکارتی) انجام می شود ، و سپس فیلتر کردن همه چیز به جز جواب.
علاوه بر پیوستن ، تعدادی عملیات رابطه ای نیز وجود دارد. اینها شامل پروژه (فرآیند از بین بردن برخی از ستون ها) ، محدود کردن (روند از بین بردن برخی از ردیف ها) ، اتحاد (راهی برای ترکیب دو جدول با ساختارهای مشابه) ، تفاوت (که در یک جدول که در قسمت دیگر یافت نمی شود) ، با هم قرار می گیرد (که ردیف های موجود در هر دو جداول را لیست می کند) و محصول را که در بالا ذکر شده است ، که هر یک از آنها را با هم قرار می دهد ، که هر یک از آنها را با هم ترکیب می کند ، که هر یک از آنها را با هم ترکیب می کند ، که هر یک از آنها را با هم ترکیب می کند. بسته به اینکه با کدام منابع دیگر مشورت کنید ، تعدادی از اپراتورهای دیگر نیز وجود دارند – بسیاری از آنها را می توان از نظر موارد ذکر شده در بالا تعریف کرد. این موارد شامل نیمه حین ، اپراتورهای بیرونی مانند پیوستن بیرونی و اتحادیه بیرونی و اشکال مختلف تقسیم است. سپس اپراتورهایی برای تغییر نام ستون ها ، خلاصه یا جمع آوری اپراتورهای جمع آوری شده وجود دارند ، و اگر مقادیر رابطه را به عنوان ویژگی ها (ویژگی با ارزش) اجازه می دهید ، سپس اپراتورهایی مانند گروه و گروه UNGROUP.
انعطاف پذیری پایگاه داده های رابطه ای به برنامه نویسان اجازه می دهد تا نمایش داده هایی را که توسط طراحان پایگاه داده پیش بینی نشده است ، بنویسند. در نتیجه ، پایگاه داده های رابطه ای می توانند توسط چندین برنامه به روش هایی که طراحان اصلی پیش بینی نکرده اند ، استفاده شود ، که به ویژه برای پایگاه داده هایی که ممکن است برای مدت طولانی استفاده شوند (شاید چند دهه) از اهمیت ویژه ای برخوردار باشد. این امر باعث شده است که ایده و اجرای بانکهای اطلاعاتی رابطه ای بسیار محبوب در مشاغل باشد.
عادی سازی پایگاه داده
ویرایش کردن
مقاله اصلی: عادی سازی پایگاه داده
روابط بر اساس انواع ناهنجاری هایی که در آن آسیب پذیر هستند طبقه بندی می شوند. یک پایگاه داده که به شکل عادی اول است ، در برابر انواع ناهنجاری ها آسیب پذیر است ، در حالی که یک پایگاه داده که در فرم عادی دامنه/کلید قرار دارد ، هیچگونه ناهنجاری اصلاحاتی ندارد. اشکال عادی از نظر ماهیت سلسله مراتبی است. یعنی پایین ترین سطح اولین شکل عادی است و پایگاه داده نمی تواند الزامات مربوط به فرم های عادی سطح بالاتر را برآورده کند بدون اینکه ابتدا تمام الزامات فرم های عادی کمتری را برآورده کند.