بهینهسازی و تجزیه طرحواره
بهینهسازی طرحواره فرآیند تجزیه یک رابطه به روابط کوچکتر برای دستیابی به یک فرم نرمال مطلوب است، با این الزامات که تجزیه باید بدون اتلاف باشد و در حالت ایدهآل، وابستگیهای اصلی را حفظ کند.
Definition
تجزیه، یک طرحواره رابطه R را با مجموعهای از طرحوارهها جایگزین میکند که ویژگیهای آنها با هم R را پوشش میدهند، به گونهای که رابطه اصلی را بتوان با اتصال بخشها بازیابی کرد (اتصال بدون اتلاف) و در صورت امکان، هر وابستگی تابعی اصلی را بتوان بر روی بخشها اعمال کرد (حفظ وابستگی).
Scope
این موضوع الگوریتمها و معیارهای تجزیه طرحوارههای رابطهای را پوشش میدهد: ویژگی اتصال بدون اتلاف و نحوه آزمایش آن، حفظ وابستگی و تضاد آن با فرمهای نرمال بالاتر، و الگوریتمهای استاندارد ترکیب و تجزیه که یک طراحی 3NF (حفظکننده وابستگی و بدون اتلاف) یا BCNF (بدون اتلاف) را از مجموعهای از وابستگیهای تابعی تولید میکنند. این موضوع شامل تعاریف خود فرمهای نرمال و وابستگیهایی که تجزیه را هدایت میکنند، نمیشود.
Core questions
- چه چیزی یک تجزیه را بدون اتلاف میکند و چگونه این ویژگی آزمایش میشود؟
- حفظ وابستگی برای یک تجزیه به چه معناست؟
- چرا تجزیه BCNF ممکن است در حفظ وابستگیها شکست بخورد در حالی که ترکیب 3NF اینگونه نیست؟
- الگوریتمهای استاندارد تجزیه BCNF و ترکیب 3NF چگونه کار میکنند؟
- انتخاب بین BCNF و 3NF در عمل چگونه انجام میشود؟
Key concepts
- تجزیه یک طرحواره
- ویژگی اتصال بدون اتلاف
- حفظ وابستگی
- تاپلهای کاذب
- الگوریتم تجزیه BCNF
- الگوریتم ترکیب 3NF
- پوشش حداقل
- موازنه بین BCNF و 3NF
Key theories
- تجزیه اتصال بدون اتلاف
- یک تجزیه باینری بدون اتلاف است اگر ویژگیهای مشترک دو بخش، کلیدی برای حداقل یکی از آنها تشکیل دهند؛ بدون اتلاف بودن تضمین میکند که اتصال بخشها دقیقاً رابطه اصلی را بدون تاپلهای کاذب بازسازی میکند.
- حفظ وابستگی
- یک تجزیه وابستگیها را حفظ میکند اگر اجتماع وابستگیهای قابل اعمال بر روی بخشهای منفرد، تمام وابستگیهای اصلی را ایجاب کند، بنابراین سازگاری را میتوان بدون محاسبه مجدد اتصالات بررسی کرد.
- تجزیه BCNF در مقابل ترکیب 3NF
- الگوریتم تجزیه BCNF بدون اتلاف بودن را تضمین میکند اما ممکن است حفظ وابستگی را قربانی کند، در حالی که الگوریتم ترکیب 3NF از یک پوشش حداقل، هم اتصال بدون اتلاف و هم حفظ وابستگی را تضمین میکند، به قیمت اینکه ممکن است در 3NF متوقف شود.
Clinical relevance
الگوریتمهای تجزیه چگونگی تبدیل نظریه نرمالسازی به یک رویه طراحی عملی را نشان میدهند: اعمال آنها منجر به طرحوارههایی میشود که از افزونگی جلوگیری میکنند، با این حال میتوانند به طور کارآمد بازسازی و اعتبارسنجی شوند، که مستقیماً بر صحت و قابلیت نگهداری پایگاههای داده تولیدی تأثیر میگذارد.
History
نظریه تجزیه بدون اتلاف و حفظکننده وابستگی در طول دهه 1970 توسعه یافت، زمانی که محققان به طور رسمی مشخص کردند که چه زمانی تقسیم یک رابطه ایمن است. الگوریتمهای ترکیب که طراحیهای 3NF حفظکننده وابستگی را تولید میکنند، و تشخیص اینکه BCNF میتواند با حفظ وابستگی در تضاد باشد، به مطالب استاندارد در متون پایگاه داده تبدیل شدند و در طراحی طرحواره محوری باقی ماندند.
Key figures
- Edgar F. Codd
- Jeffrey D. Ullman
- Philip Bernstein
Related topics
Seminal works
- silberschatz2019
- ramakrishnan2003
- garciamolina2008
Frequently asked questions
- تاپل کاذب چیست و چرا اهمیت دارد؟
- تاپل کاذب یک ردیف است که هنگام اتصال بخشهای یک تجزیه بد انتخاب شده ظاهر میشود اما با هیچ تاپل واقعی از رابطه اصلی مطابقت ندارد. یک تجزیه اتصال بدون اتلاف دقیقاً همان است که هیچ تاپل کاذبی تولید نمیکند، به همین دلیل بدون اتلاف بودن یک الزام غیرقابل مذاکره است.
- چرا ممکن است 3NF را به BCNF ترجیح دهم؟
- تجزیه به BCNF همیشه ویژگی اتصال بدون اتلاف را حفظ میکند اما میتواند حفظ وابستگی را از بین ببرد، به این معنی که برخی از محدودیتها فقط با اتصال جداول قابل بررسی هستند. الگوریتم ترکیب 3NF هم بدون اتلاف بودن و هم حفظ وابستگی را تضمین میکند، بنابراین طراحان 3NF را زمانی میپذیرند که یک طراحی BCNF حفظکننده وابستگی وجود نداشته باشد.