مدل رابطه‌ای

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

مدل رابطه‌ای (به انگلیسی: The Relational Model) یکی از انواع مدل‌های انتزاعی پایگاه داده‌ها و امروزه معمول‌ترین آن‌هاست. مدل رابطه‌ای در یک مقاله تحصیلی توسط ادگار کاد در سال ۱۹۷۰ ارائه گشت. این مدل یک مدل ریاضی است که بر پایه مفاهیمی چون منطق گزاره‌ای و نظریه مجموعه‌ها ایجاد شده است.

تعریف[ویرایش]

به مجموعه‌ای از چند مقدار که یک گزاره نما را تبدیل به یک گزاره درست می‌کنند تاپل گفته می‌شود. برای مثال سیاره x به دور ستاره y می چرخد یک گزاره نماست (گزاره پارامتری) که تاپل {خورشید=yناهید=x} یک گزاره صحیح در آن به وجود می‌آورد. رابطه دو بخش دارد بدنه و عنوان. بدنه رابطه مجموعه‌ای متناهی از تاپل هاست. عنوان رابطه مجموعه‌ای از چند ویژگی است که هر ویژگی دارای یک نام و یک نوع است. برای مثال در رابطه فوق عنوان دارای دو ویژگی است اولی به نام ستاره و از نوع کاراکتر (یا از نوع ستاره‌های عالم) و دومی سیاره و از نوع کاراکتر (یا نوع سیاره‌های عالم)به تعداد تاپل‌های رابطه کاردینالیتی، به تعداد ویژگی‌های عنوان درجه رابطه گفته می‌شود. از آنجا که این مفاهیم بر اساس نظریه مجموعه‌ها تعریف شده اند عضو تکراری (تاپل تکراری در بدنه و نام ویژگی تکراری در عنوان) غیر ممکن است و ترتیب آنها هم هیچ اهمیتی ندارد.

کلید[ویرایش]

به تعدادی از ویژگی‌ها (زیر مجموعه‌ای از عنوان) که مقدار متناظر با آن در هر تاپل منحصر به فرد باشد کلید گفته می‌شود. مثلاً اگر در رابطه دانشجویان یک ویژگی به نام شماره دانشجویی وجود داشته باشد که مقدار آن برای هر دانشجو منحصر به فرد باشد آنگاه شماره دانشجویی کلید رابطه خواهد بود.

کلید خارجی زیرمجموعه‌ای است از عنوان که مقدار تمامی تاپل‌ها در آن بایستی با مقادیر موجود در رابطه‌ای دیگر تناظر داشته باشد. مثلاً در لیست وام‌های گرفته شده توسط دانشجویان فیلد شماره دانشجویی یک کلید خارجی است که بایستی با شماره‌های دانشجویی موجود در لیست دانشجویان تناظر داشته باشد.

تهی[ویرایش]

برخی ویژگی‌های هر تاپل می‌توانند تهی باشند. تهی با کاراکتر بلانک و یا رشته‌ای به طول صفر فرق دارد و نشان دهنده این است که این فیلد هم اکنون وجود ندارد و یا اینکه مقدار فعلی آن برای ما نامعلوم است.

جبر رابطه‌ای[ویرایش]

از آنجا که رابطه خود یک مقدار است می‌توان بر روی آن عملگرهایی را تعریف نمود عملگرهای اصلی یک عملوندی رابطه‌ای عبارتند از: گزینش و پرتو و عملگرهای دو عملوندی عبارتند از اجتماع، اشتراک، تفاضل، ضرب، پیوند و تقسیم.

قیدهای جامعیت[ویرایش]

هر قانونی که سیستم مدیریت پایگاه داده‌ها به منظور حفظ سلامت داده‌ها بر کاربر تحمیل نماید قید جامعیت نامیده می‌شود. دو قید اصلی جامعیت به صورت سنتی وجود دارند:

قید جامعیت وجودی: مقدار موجود در کلید اصلی برای هیچیک از تاپل‌ها نمی‌تواند تهی باشد.

قید جامعیت ارجاعی: مقدار موجود در کلید اصلی بایستی در رابطه مرجع وجود داشته باشد و یا تهی باشد.

نرمال سازی[ویرایش]

یکی از اصول علم پایگاه داده‌ها از بین بردن افزونگی است. افزونگی به این معناست یک اطلاع خاص در چند محل مختلف پایگاه ذخیره شود. این امر موجب می‌شود که این خطر بالقوه به وجود آید که داده‌ها هر لحظه با هم در تضاد قرار گیرند و استخراج واقعیت از آنها غیر ممکن شود.

نرمال سازی مجموعه قوانینی است که رعایت آنها حذف افزونگی (یا در مواردی نادر به حداقل رساندن آن را) تضمین می‌کند. در تمامی طراحی‌ها نرمال سازی تا سطح نرمال BCNF بایستی رعایت شود.

تعاریف ریاضی یا تعاریف ساده[ویرایش]

برخی کتاب‌ها به جای تعاریف ریاضی مبتنی بر نظریه مجموعه‌ها و گزاره ها، تعریف‌های ساده تری را ارائه نموده اند. مثلاً: سطر به جای تاپل، تعداد سطرها به جای کاردینایتی، نام ستون به جای ویژگی، تعداد ستون‌ها به جای درجه و از همه مهم تر جدول به جای رابطه.

این تعاریف در برخی موارد کارساز است و فهم مطلب را آسان تر می‌کند ولی موارد بسیاری هم هست که بر اساس تعریف جدولی و بردن فراگرفتن مفاهیم ریاضی غیر قابل انجام است. این کار بدان می ماند که برای آشنایی با یک کوه، به جای سفر به آن از تصویر همان کوه استفاده شود. برای شناسایی شکل کوه و راه‌های منتهی به قله تصویر بسیار کارسازتر از خود کوه است ولی اگر کسی که می پندارد کوه همین تصویر است بخواهد جنس سنگ‌ها را بشناسد ممکن است تکه‌ای کاغذ را به جای قطعات سنگ به آزمایشگاه بسپارد.

ارائه مدل رابطه‌ای سنتی[ویرایش]

مدل رابطه‌ای به همراه عملگرهای جبری و اصول رابطه‌ای در دهه هفتاد میلادی توسط ادگار کاد ارائه شدند. کاد به خاطر این کار جایزه تورینگ دریافت کرد که معادل جایزه نوبل در علم رایانه است.

مدل‌های داده ای قبل از مدل رابطه‌ای در سطح پایینی از انتزاع قرار داشتند و وجود اشاره گر هایی که توسط طراح پایگاه سازماندهی می‌شدند کار طراحی را بسیار مشکل می‌کرد ولی با این وجود تنها راه دستیابی به کارایی مناسب حین پردازش انبوه داده‌ها بودند. مدل رابطه‌ای در ابتدا به دلیل بار پردازشی بالا مورد استقبال سازندگان DBMS قرار نگرفت ولی به تدریج و با قوی تر شدن کامپیوترها استقبال از آن بیشتر شد و امروزه تقریباً تمامی DBMSها بر اساس آن ساخته می‌شوند.

گذار از مدل رابطه‌ای سنتی به مدرن[ویرایش]

در مورد آینده دو دیدگاه وجود دارد. عده‌ای معتقدند دوران مدل رابطه‌ای بالاخره سر خواهد آمد و مدل‌های دیگر مانند مدل شی گرا جایگزین آن خواهند شد. در مقابل عمده پژوهشگران معتقدند مدل رابطه‌ای بر گزاره‌ها استوار است و همانطور که منطق گزاره‌ای از چند هزار سال قبل تا امروز دوام آورده است مدل رابطه‌ای نیز برای همیشه مدل پایگاه داده‌ها باقی خواهد ماند.

در راس این گروه سی‌جی دیت و هیو دارون قرار دارند که ضمن اعتقاد به اصول مدل رابطه‌ای فکر می‌کنند این مدل بایستی در طول زمان اصلاح شود. سی‌جی دیت همکار و دوست ادگار کاد سعی دارد پس از مرگ وی راهش را ادامه دهد. این دو نفر در کتابی تحت عنوان بیانیه (مانیفست) سوم آخرین دیدگاه‌های خود را برای اصلاح این مدل بیان کرده اند که عمده‌ترین آنها عبارت است از:

تهی غیر مجاز است[ویرایش]

تهی یکی از پایه‌های مدل رابطه‌ای بود که توسط کاد ارائه شد. با این وجود دلایلی وجود دارد که مبتنی بر آنها اجازه خالی ماندن فیلدها به طور کلی باید لغو شود. در پی حذف تهی قیدهای جامعیت دچار تحول جدی خواهند شد.

مرابطه در کنار رابطه[ویرایش]

رابطه یک مقدار ثابت است که عنوان و بدنه آن مشخص هستند (مانند عدد ۴). در مقابل مرابطه (متغیر رابطه ای) دارای عنوانی ثابت و بدنه‌ای است که هر لحظه تغییر می‌کند (مانند متغیر x که یک لحظه ۴ و لحظه‌ای دیگر ۱۱ را در خود دارد). در تعریف کاد هر دو این مفاهیم رابطه نامیده شده بودند.

کنترل قیود، بعد از هر دستور[ویرایش]

کنترل قیود هم اکنون بعد از تراکنش صورت می‌گیرد. به بیان دیگر دستورات داخلی تراکنش‌ها می‌توانند قیود را زیر پا بگذارند. این امر رد شده است.

جستارهای وابسته[ویرایش]

منابع[ویرایش]

جستجو در ویکی‌انبار در ویکی‌انبار پرونده‌هایی دربارهٔ مدل رابطه‌ای موجود است.