وابستگی کامل کارکرد در اصلاح پایگاه داده

یک وابستگی کامل کارکردی، وضعیت نرمال سازی پایگاه داده است که به استاندارد عادی فرم دوم عادی (2NF) معادل است. به طور خلاصه، این به این معنی است که آن را مطابق با الزامات فرم اول Normal (1NF)، و تمام ویژگی های غیر کلید به طور کامل به طور کلیدی به کلید اولیه بستگی دارد.

این به همان اندازه پیچیده نیست که ممکن است صدایی باشد. بیایید به جزئیات بیشتری نگاه کنیم.

خلاصه ای از فرم طبیعی اولیه

قبل از اینکه پایگاه داده بتواند به طور کامل وابسته به عملکرد باشد، ابتدا باید با فرم اول Normal مطابقت داشته باشد.

همه این بدان معنی است که هر ویژگی باید دارای یک مقدار واحد اتمی باشد.

به عنوان مثال، جدول زیر با 1NF منطبق نیست ، زیرا کارمند تینا به دو محل متصل است، هر دو آنها در یک سلول واحد:

عدم پذیرش فرم اول عادی
کارمند محل
جان لس آنجلس
تینا لس آنجلس، شیکاگو

اجازه دادن به این طراحی می تواند به طور منفی بر روی به روز رسانی ها و یا داده ها تاثیر می گذارد. برای اطمینان از انطباق 1NF، جدول را تغییر دهید تا تمام صفات (یا سلولهای ستون) یک مقدار واحد را نگه دارند:

اولین فرم طبیعی عادی
کارمند محل
جان لس آنجلس
تینا لس آنجلس
تینا شیکاگو

اما 1NF هنوز برای جلوگیری از مشکلات با داده ها کافی نیست.

چگونه 2NF برای تأمین وابستگی کامل کار می کند

برای اینکه به طور کامل وابسته باشد، تمام ویژگی های کلیدی غیر نامزد باید به کلید اولیه بستگی دارد. (به یاد داشته باشید که یک ویژگی کلید نامزد هر کلید (مثلا کلید اصلی یا خارجی) است که به طور منحصر به فرد یک رکورد پایگاه داده را شناسایی می کند.

طراحان پایگاه داده برای توصیف روابط وابسته بین صفات از یک علامت استفاده می کنند:

اگر صفت A ارزش B را تعیین می کند، ما این را A -> B می نویسیم، به این معنی که B بطور کاربردی وابسته به A است. در این رابطه، A مقدار B را تعیین می کند، در حالی که B به A بستگی دارد.

به عنوان مثال، در جدول زیر کارمندان ، کارمندان EmployeeID و DeptID هر دو کلید نامزد هستند: EmployeeID کلید اصلی جدول است در حالی که DeptID یک کلید خارجی است.

هر ویژگی دیگر - در این مورد، EmployeeName و DeptName - باید به کلید اولیه بستگی دارد تا ارزش آن را بدست آورد.

بخش کارکنان
کارمند نام کارمند DeptID نام DeptName
Emp1 جان Dept001 دارایی، مالیه، سرمایه گذاری
Emp2 تینا Dept003 حراجی
امپراطوری کارلوس Dept001 دارایی، مالیه، سرمایه گذاری

در این مورد، جدول به طور کامل وابسته نیست، زیرا درحالیکه EmployeeName به کلید Key EmployeeID بستگی دارد، DeptName به جای DeptID بستگی دارد. این وابستگی جزئی است .

برای اینکه این جدول مطابق با 2NF باشد، باید داده ها را به دو جدول تقسیم کنیم:

کارکنان
کارمند نام کارمند DeptID
Emp1 جان Dept001
Emp2 تینا Dept003
امپراطوری کارلوس Dept001

ما ویژگی DeptName را از جدول Employers حذف می کنیم و یک جدول جدید ایجاد می کنیم. Departments :

گروه ها
DeptID نام DeptName
Dept001 دارایی، مالیه، سرمایه گذاری
Dept002 منابع انسانی
Dept003 حراجی

در حال حاضر روابط بین جداول به طور کامل وابسته است، یا در 2NF.

چرا وابستگی کامل مهم است

وابستگی کامل بین ویژگی های پایگاه داده به اطمینان از اطمینان از اطمینان و جلوگیری از ناهنجاری های داده ها کمک می کند.

برای مثال جدول را در بخش بالا در نظر بگیرید که تنها به 1NF بستگی دارد. در اینجا این است، دوباره:

اولین فرم طبیعی عادی
کارمند محل
جان لس آنجلس
تینا لس آنجلس
تینا شیکاگو

تینا دو رکورد دارد اگر ما بدون درک اینکه دو وجود دارد، یک نتیجه به وجود می آید، نتیجه داده های متناقض خواهد بود.

یا اگر ما می خواهیم یک کارمند را به این جدول اضافه کنیم، اما هنوز مکان را نمی دانیم؟ ممکن است ما حتی اجازه اضافه کردن یک کارمند جدید را ندهیم اگر ویژگی Location به مقادیر NULL اجازه نمی دهد.

وابستگی کامل کل تصویر نیست، با این حال، زمانی که آن را به نرمال می آید. شما باید مطمئن شوید که پایگاه داده شما در فرم عادی سوم (3NF) است.