پشتیبانی: 09131253620
ارتباط با ما
تلگرام: 09131253620


یکی دیگر از خدمات ما طراحی وب سایتهای واکنشگرا یا Responsive با کیفیت بالا می باشد. برای طراحی این وب سایتها از تکنولوژیهای روز دنیا استفاده می شود.


       
صفحه اصلی  |  فروشگاه ما  |  استخدام  |  نرم افزار مدیریت برنامه غذایی رستوران ها  |  seo تضمینی اصفهان  |  ثبت نام  |  طراحی وب سایت در اصفهان  |  برنامه نویسی اصفهان  |  انجام پروژه های پایگاه داده SQL Server  |  انجام پروژه مهندسی نرم افزار  |  انجام پروژه های مالتی مدیا بیلدر  |  در مورد ما  |  انجام پروژه های اکسس Microsoft access  |  نمونه پروژه ها  |  ارتباط با ما  |  اخبار و مقاله  |  انجمن رفع اشکالات مشتریان
برجسته ترین ها
گروه های مقاله ها
HyperLink


پایگاه داده رابطه ای بخش سی و دوم تاریخ درج: ١٣٩۴/٠٩/٢۵

7-6 تجزيه با استفاده از وابستگي هاي چند مقداری 

بعضي الگوهاي رابطه اي ، حتي اگر در BCNF باشند بنظر نرمال نمي رسند درواقع آنها با مسئله تكرار اطلاعات مشكل دارند. مثال بانك را دوباره بررسي مي كنيم. الگوي پايگاه داده را در يك طرح جايگزين براي الگوی  بانك تصور كنيد، اين الگو راداريم
cust-loan = (loan-number,customer-id , customer-name,customer-street , customer-city)  
خواننده باهوش تشخيص مي دهد اين الگو بدون BCNF است زيرا وابستگي عملیاتی
customer-id ->  customer-name , customer-street , customer-city 
و شماره شناسايي مشتري كليدي براي cust-loan نيست. به هرحال فرض كنيد كه بانك ما درحال جذب مشتري هاي ثروتمندي است كه چندين آدرس دارند، (يك خانه زمستاني ويك تابستاني). پس، خواسته زيادي نیست که براي تقويت وابستگي عملیاتی customer-id -> customer-street , customer-city  
نداريم اگرچه هنوزمي خواهيم customer-id-> customer-name  راتقويت كنيم. الگوريتم تجزيه BCNF  كه از دوالگوي زير بدست آورديم را دنبال كنيد.
R1= (customer-id, customer-name)
R2= (loan-number,customer-id, customer-street , customer-city)
اين دو الگو هر دو درBCNF هستند. (به ياد داشته باشيد كه نه تنها مشتري ها ممكن است بيش از يك وام  داشته باشند بلكه يك وام ممكن است مربوط به يك گروه از افراد باشد وبنابراين هم   customer-id -> loan-number و هم loan-number -> customer-id وجود دارد). 
آدرس محل سكونت مشتري را يكبار براي هر وامی كه مشتري دارد تكراركرديم. مي توانيم اين مشكل را با تجزيه R2 به اين دو الگوحل كنيم.
loan-cust-id = (loan-number,customer-id)
cust-residence = (customer-id , customer-street, customer-city)
اما محدوديتي كه منتهي به اين عمل شود وجود ندارد.
برای رهایی از این مشکل، بايد شكل جديدي از محدوديت را كه وابستگي چند مقداری نام دارد تعريف كنيم. همانگونه که دیدیم، برای وابستگی های عملیاتی باید از وابستگی های چند مقداری برای تعریف فرم نرمال برای الگوهای رابطه استفاده کنیم. این شکل نرمال شکل نرمال چهارم (4NF) نامیده     می شود که بیشتر از BCNF محدود کننده است. ما باید ببینیم که هر الگوی در 4NF در BCNF هم هست، اما الگوهایی در BCNF هست که در 4NF نیست.
 
7-6-1 وابستگي هاي چند مقداری
وابستگي هاي عملیاتی چند گانه هاي خاصي رادريك رابطه قرار مي دهد . اگر A->B  برقرار باشد پس نمي توانيم دوچندگانه با مقدار يكسان A اما مقدارهاي متفاوت B داشته باشيم. ازطرف ديگر     وابستگي هاي چندمقداري چندگانه هاي خاصي را درخود جاي نمي دهند. به همين دليل گاهي وابستگي هاي عملیاتی به تولید وابستگي هاي يكسان اشاره مي كند وازطرفي وابستگي هاي چندمقداري به وابستگي هاي تولید چندگانه اشاره مي شود. 

 
اين تعريف پيچيده گي كمتري درشكل 7-14 كه جدول تصوير  t1 و t2 و t3 و t4    است را نشان مي دهد.
 
براي به تصوير كشيدن تفاوت بين وابستگي عملیاتی و چند مقداري الگوي R2 را دوباره بررسي مي كنيم، بايد شماره وام را يكبار براي آدرسي كه هر مشتري دارد تكرار كنيم و آدرس را براي هر وامی را که مشتري دارد تكرار نماييم. اين تكرار لازم نيست زيرا رابطه بين يك مشتري و آدرسش بستگي به رابطه مشتري و وام دارد.  اگر مشتري با شماره مشتري 99-123 وامی داشته باشد (مي گوييم شماره وام   23 L-)  مي خواهيم كه وام با همه آدرسهاي مشتري ارتباط داشته باشد. بنابراين رابطه شكل 7-16 غيرمجاز است. نياز به افزايش چندگانه هايي 
(L-23,99-123,Main,Manchester) و (L-27,99-123, North, Rye ) دررابطه شكل 7-16 داريم. 
از مقایسه مثال قبلی با تعریف مان از وابستگی چند مقداری، می بینیم که مایلیم وابستگی 
customer-id ->-> customer-street , customer-city
وجود داشته باشد. (وابستگی چند مقداری customer-id ->-> loan-number نیز مشابه آنچه بزودی خواهیم دید است.)

loan-number

customer-id

customer-street

customer-city

L-23

99-123

North

Rye

L-23

99-123

Main

Manchester

L-93

15-106

Lake

Horseneck

شکل 7-15 یک مثال از افزونگی در رابطه روی الگوی BCNF
 

loan-number

customer-id

customer-street

customer-city

L-23

99-123

North

Rye

L-27

99-123

Main

Manchester

شکل 7-16 یک رابطه R2 غیر مجاز
 
بنابر این با وجود وابستگی عملکردی، ما باید وابستگی های چند مقداری را به دو طریق استفاده کنیم:
1) ارزیابی رابطه برای بیان اینکه  در چه جاهایی در یک مجموعه رابطه از وابستگی های عملکردی و چند مقداری، آنها غیر مجازند.
2) برای مشخص کردن محدودیت ها روی مجموعه رابطه های غیر مجاز، ما باید توجه خودمان را فقط به آن رابطه هایی که یک مجموعه مشخص از وابستگی های عملکردی و چند مقداری را مشخص می کنند، بدهیم.
فرض کنید D یک مجموعه وابستگی عملکردی و چند مقداری را مشخص کند. بستار D از D مجموعه تمام وابستگی های عملکردی و چند مقداری است که بطور منطقی بوسیله D بکار گرفته شده اند. همانگونه که برای وابستگی های عملکرد دیدیم می توانیم D+ را از D با استفاده از تعریف نرمال وابستگی عملکردی و وابستگی چند مقداری ، محاسبه کنیم. می توانیم با استدلال کردن هر وابستگی چند مقداری ساده آنها را مدیریت کنیم. خوشبختانه، وابستگی های چند مقداری که معمولاً به آنها برخورد می کنیم به نظر   می رسدکه کاملاً ساده باشند. برای وابستگی های پیچیده، بهتر است مجموعه وابستگی ها را با استفاده از یک سیستم دلایل استنتاجی مورد استدلال قرار دهیم. (بخش C.1.1 از نمای کلی ضمیمه قوانین یک سیستم استنتاجی برای یک وابستگی چند مقداری.)
از تعریف وابستگی عملکردی، می توانیم این قانون را نتیجه گیری کنیم:
به عبارت دیگر، هر وابستگی عملکردی یک وابستگی چند مقداری نیز هست.
 
7-6-2 شكل نرمال چهارم
دوباره مثال الگوي BCNF رادرنظر بگيريد:
R2= (loan-number,customer-id, customer-street,customer-city)
 
كه دراينجا وابستگي چندمقداري customer-id ->-> customer-street,customer-city  وجود دارد. درآغاز پاراگراف هاي قسمت 7-6 عليرغم آنكه اين الگو در BCNF وجود دارد ديديم كه اين طرح   ايده ال نيست زيرا مجبورهستيم براي هر وام اطلاعات مربوط به آدرس مشتري راتكراركنيم . باتجزيه كردن اين الگو مي توانيم از وابستگي چند مقداري داده شده استفاده كرده وطرح اطلاعاتي راارتقاء دهيم.
 الگوریتم تجزیه 4NF
شکل 7-17 الگوریتم تجزیه 4NF
 
R را يك الگوي رابطه و R1, R2, … Rn را يك تجزيه از R درنظر بگيريم. براي بررسي اينكه آيا هر الگوي رابطه Ri در تجزيه در 4NF وجود دارد لازم است وابستگي هاي چند مقداري راكه هر Ri دارد پيدا كنيم . به ياد بياوريد كه براي يك مجموعه D از وابستگي هاي عملیاتی محدودیت Fi از F به R شامل تمامی وابستگی عملیاتی هایی در F+ است كه فقط شامل Ri ميشود. حال يك مجموعه D از هر دو وابستگي هاي عملیاتی و چند مقداري درنظر بگيريد. محدوديت D به Ri شامل مجموعه Di است كه از
 
7-6-3  تجزيه 4NF
مقايسه 4NF و BCNF  در الگوريتمي براي تجزيه يك الگو به 4NF  بكار گرفته ميشود. شكل    7-17 نشان دهنده الگوريتم تجزيه 4NF است كه عيناً همانند الگوريتم تجزيه BCNF درشكل 7-12 ميباشد بااين تفاوت كه دراين يكي به جاي وابستگي هاي عملیاتی از وابستگي هاي چندمقداري و همچنين محدوديت D+ به Ri استفاده شده است. اگر الگوريتم شكل 7-17 را براي 
loan-number,customer-id, customer-street,customer-city بكار بريم مي فهميم كه customer-id-> loan-number يك وابستگي چند مقداري غيربدیهی است و customer-id يك سوپركليد براي الگو نيست. درادامه الگوريتم دو الگو را جايگزين ميكنيم.
loan-cust-id = (loan-number,customer-id)
cust-residence= (customer-id , customer-street, customer-city)
اين جفت الگوكه در 4NF وجود دارد زوائدي راكه قبلا باآن مواجه بوديم حذف مي كند. همانند زمانيكه فقط با وابستگي هاي عملیاتی روبرو هستيم، علاقمند به تجزيه هايي هستيم كه بدون اتلاف بوده وتمامي وابستگي ها را حفظ كند . مطلب زيركه درباره وابستگي هاي چندمقداري وعدم اتلاف است نشان ميدهد كه از الگوريتم شكل 7-17 فقط تجزيه هاي بدون اتلاف حاصل مي شود.
R را يك الگوي رابطه اي و D رايك مجموعه ازوابستگي هاي چندمقداري وعملیاتی بر R  درنظر بگيريم. شكل Ri وR2 يك تجزيه از R است اين تجزيه بدون اتلاف R است اگر وتنها اگرحداقل يك از وابستگي هاي چندمقداري زير در D+ موجود باشد.
R1∩R2->->R1
R1∩R2->->R2
بياد بياوريدكه در قسمت 7-4-4  توضيح داديم كه اگر R1∩R2->->R1 یا R1∩R2->->R2 سپس R1,R2 يك تجزيه بدون اتلاف از R است . مطلب بالا درباره وابستگي هاي چند مقداري يك توضيح كلي تردرباره عدم اتلاف است. اين مطلب ميگويدكه براي هر تجزيه بدون اتلاف از R به دوالگوي R1,R2 يكي از دو وابستگي هاي R1∩R2->->R1 وR1∩R2->->R2 بايد وجودداشته باشد.
موضوع حفظ وابستگي در هنگام تجزيه يك رابطه درحضور وابستگي هاي چندمقداري بسيار     پيچيده تر ميشود قسمت C.1.2 ازضميمه اين موضوع را دنبال مي كند.
 
7-7 ديگر شكل هاي نرمال 
شكل نرمال چهارم به هيچ عنوان آخرين شكل نرمال نيست همانطوركه قبلا ديديم وابستگي هاي چند مقداري به ماكمك مي كند تا برخي از شكل هاي تكرار اطلاعات راكه برحسب وابستگي هاي عملیاتی قابل درك نيستند، درك كرده وازعهده آنها برآييم. انواعي از محدوديت ها به نام وابستگي هاي متصل وجود دارد كه وابستگي هاي چند مقداري را تعميم داده ومنجربه شكل نرمال ديگري بنام شكل نرمال پروژه متصل   (در برخي كتابها شكل نرمال پنجم نام دارد) مي شوند. دسته اي از محدوديت هاي متداول تر وجود داردكه منجربه شكلي نرمال بنام شكل نرمال كليد حوزه  ميشود.
يك مشكل كاربردي كه دراستفاده از اين محدوديت هاي تعميم داده شده وجوددارد اين است كه نه تنها مستدل كردن آنها بسيار سخت است بلكه هيچ قانون استنتاج كامل وبي عيبي براي استدلال درباره محدوديت ها وجود ندارد. بنابراين PJNF و DKNF خيلی به ندرت استفاده مي شوند. ضميمه C جزئيات بيشتري درباره اين شكل هاي نرمال ارائه مي دهد در بحث ما درباره شكل هاي نرمال عدم حضور شكل نرمال دوم واضح است. به اين دليل به آن نپرداختيم که تنها در تمرين  7-15 به سادگي آنرا تعريف مي كنيم و به شما فرصت تجزيه آن راخواهيم داد.

 


تگها: BCNF   پایگاه داده   پایگاه داده رابطه ای   تجزيه 4NF   جبر رابطه ای   حساب رابطه ای   شكل نرمال چهارم   نرمال سازی   
 

HyperLink

ارسال نظر در مورد این مطلب
نام :  
آدرس ایمیل :  
متن پیام :  
کد امنیتی :  
   
   
نظری برای نمایش وجود ندارد
 
این مطلب را به اشتراک بگذارید: