در یک پایگاه داده رابطه ای، یک وابستگی زمانی رخ می دهد که اطلاعات ذخیره شده در یک جدول پایگاه داده به طور منحصر به فرد سایر اطلاعات ذخیره شده در همان جدول را تعیین کند. یک وابستگی چند ارزشی زمانی اتفاق میافتد که وجود یک یا چند ردیف در یک جدول به معنای وجود یک یا چند ردیف دیگر در همان جدول باشد. به عبارت دیگر، دو ویژگی (یا ستون) در یک جدول مستقل از یکدیگر هستند، اما هر دو به ویژگی سوم بستگی دارند.
یک وابستگی چند ارزشی از عادی سازی استاندارد چهارم فرم عادی جلوگیری می کند. پایگاه داده های رابطه ای از پنج شکل عادی پیروی می کنند که دستورالعمل هایی را برای طراحی رکورد نشان می دهد.آنها از بروز ناهنجاری ها و تناقضات در داده ها جلوگیری می کنند. چهارمین فرم عادی به روابط چند به یک در پایگاه داده می پردازد.
وابستگی عملکردی در مقابل وابستگی چند ارزشی
برای درک یک وابستگی چند ارزشی، بازبینی وابستگی عملکردی مفید است.
اگر یک ویژگی X به طور منحصر به فرد یک ویژگی Y را تعیین کند، پس Y از نظر عملکردی به X وابسته است. این به صورت X -> Y نوشته می شود. برای مثال، در جدول Students زیر، Student_Name، Major را تعیین می کند:
نام_دانشجو | رشته |
---|---|
Ravi | تاریخ هنر |
Beth | شیمی |
این وابستگی عملکردی را می توان نوشت: Student_Name -> Major. هر دانشجو_نام دقیقاً یک رشته و نه بیشتر را تعیین میکند.
اگر می خواهید پایگاه داده ورزش های این دانش آموزان را نیز ردیابی کند، ممکن است فکر کنید ساده ترین راه برای انجام این کار این است که ستون دیگری با عنوان ورزش اضافه کنید:
نام_دانشجو | رشته | ورزش |
---|---|---|
Ravi | تاریخ هنر | فوتبال |
Ravi | تاریخ هنر | والیبال |
Ravi | تاریخ هنر | تنیس |
Beth | شیمی | تنیس |
Beth | شیمی | فوتبال |
مشکل اینجاست که هم راوی و هم بث چندین ورزش را انجام می دهند. لازم است برای هر ورزش اضافی یک ردیف جدید اضافه شود.
این جدول یک وابستگی چند ارزشی را معرفی کرده است زیرا رشته و رشته ورزشی مستقل از یکدیگر هستند اما هر دو به دانش آموز بستگی دارند. این یک مثال ساده است و به راحتی قابل شناسایی است، اما یک وابستگی چند ارزشی می تواند در یک پایگاه داده بزرگ و پیچیده به مشکل تبدیل شود.
یک وابستگی چند ارزشی X ->-> Y نوشته می شود. در این مورد:
نام_دانشجو ->-> رشته
نام_دانشجو -2433 > ورزش
این بهعنوان «نام_دانشآموز رشته اصلی را چندتعیین میکند» و «نام_دانشآموز ورزش را چندتعیین میکند» خوانده میشود.
یک وابستگی چند ارزشی همیشه حداقل به سه ویژگی نیاز دارد، زیرا از حداقل دو ویژگی تشکیل شده است که به ویژگی سوم وابسته هستند.
وابستگی و عادی سازی چند ارزشی
یک جدول با وابستگی چند ارزشی استاندارد عادی سازی فرم چهارم را نقض می کند زیرا افزونگی های غیرضروری ایجاد می کند و می تواند به داده های ناسازگار کمک کند. برای رساندن آن به 4NF، لازم است این اطلاعات را به دو جدول تقسیم کنیم.
جدول زیر اکنون دارای وابستگی تابعی Student_Name -> Major است و وابستگی چند ارزشی ندارد:
نام_دانشجو | رشته |
---|---|
Ravi | تاریخ هنر |
Ravi | تاریخ هنر |
Ravi | تاریخ هنر |
Beth | شیمی |
Beth | شیمی |
در حالی که این جدول همچنین دارای یک وابستگی عملکردی منفرد Student_Name -> Sport: است
نام_دانشجو | ورزش |
---|---|
Ravi | فوتبال |
Ravi | والیبال |
Ravi | تنیس |
Beth | تنیس |
Beth | فوتبال |
نرمال سازی اغلب با ساده کردن جداول پیچیده انجام می شود به طوری که آنها حاوی اطلاعات مربوط به یک ایده یا موضوع واحد باشند به جای تلاش برای ایجاد یک جدول واحد حاوی اطلاعات بسیار متفاوت.