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


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


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


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

7-3 تجزيه با استفاده از وابستگي هاي عملیاتی

در بخش 7-1 متذكر شديم که یک روش رسمي وجود دارد براي ارزيابي اينكه آيا الگوي رابطه اي بايد تجزيه شود يا نه. اين روش ها بر اساس مفاهيم كليدها و وابستگي هاي عملیاتی مي باشند.

7-3-1كليدها و وابستگي هاي عملیاتی 
   كليدها و بيشتر وابستگي هاي عملیاتی محدوديت هايي در پايگاه داده هستند كه ارتباطات لازم را براي خواص ويژه اي ايجاد مي كنند. اين ارتباطات رابطه هاي مجازهستند.
درفصل6 مفهوم سوپركليد را به این صورت تعريف كرديم؛ فرض کنیدR  يك الگوي رابطه باشد.  زير مجموعهK  از R یک سوپركليد R است اگر، درهر رابطه مجاز ( R ) r  براي همه جفت ها  1t  و 2‍‍‌‌t  از چندگانه هايي در r  وقتی 1t ≠ 2‍t  آنگاه [k]‍‍‌2‌t ≠  ‍‍‍[k]1t  باشد. بعبارت ديگر ممكن نیست دو چندگانه در هر (R)r  مقدار يكساني در گروه صفت K داشته باشد.
وابستگي هاي عملیاتی به ما اجازه مي دهندكه محدوديت هايي كه نمي توانيم با سوپركليد بيان كنيم عنوان كنيم. دربخش 7-1-2 اين الگورامورد بررسي قرارميدهيم
Bor- loan = ( Customer- id ,loan-number, amount)

دراين وابستگي عملیاتیamount -> loan-number جاي مي گیرد زيرا براي هر وام (توسط loan-number مشخص شده) مقدار منحصربفردی وجود دارد.
نشان داديم كه جفت صفات (loan-amount , Customer-id) سوپركليد را براي bor-loan  شكل می دهندكه  به اين شكل نوشته  مي شود:
Custome-id , loan-number->  Custome-id , loan-number, amount
ویا بطور مشابه
Custome-id , loan-number bor-loan
    بايد براي وابستگي هاي عملیاتی از دو روش استفاده كنيم:
1- به منظور امتحان رابطه ها برای اينكه ببينم كه آيا آنها مجاز هستند تحت يك وابستگي عملیاتی قرارگيرند يا نه. اگرr  در وابستگی های عملیاتیF مجاز باشد مي گوييم كهr   متقاعد كننده F   است. 
2- براي تعيين محدوديت ها روی گروه روابط مجاز، ما باید به عنوان مثال خودمان فقط به آن روابطی که وابستگی های عملیاتی مفروض را متقاعد می کنند توجه کنیم. اگر بخواهیم خودمان برای رابطه های روی الگوی رابطه که یک گروه محدودیت عملیاتی را متقاعد می کند محدودیت ایجاد کنیم گوییم که F روی R جا گرفته است.
اجازه بدهید برای فهم اينكه کدام وابستگی های عملیاتی متقاعد كننده است الگوي رابطه r را درشكل 7-5 مورد بررسي قرار دهيم. مشاهده کنید کهA -> C  متقاعد شده است. دو چندگانه A دارای مقدار یکسان a1 وجود دارد. این چندگانه ها همان مقدار اسمی C ، c1 را داراست. به همين ترتيب دوچندگانه با همان مقدار A از   a2همان مقادیر C از c2 را دارد. هيچ جفت چندگانه مشخص دیگری كه  مقادیر يكسان A را داشته باشد وجود ندارد. اگرچه وابستگی عملیاتی A -> C متقاعد نشده است. برای آنکه ببینید متقاعد نشده است چندگانه هاي t1=( a2,b3,c2,d3) و t2=( a3,b3,c2,d4)  را ببینید. این دو چندگانه برای Cمقدار یکسانی دارند،c2، اما آنها دارای مقادیر A متفاوت a2 و a3 هستند. بنابراین ما یک جفت از چند گانه های t1 و t2را یافته ایم که t1[c]=t2[c] است اما t1[A]  t2[A]است.
بعضي از وابستگي هاي عملیاتی را بدیهی تلقي مي كنيم زيرا آنها توسط تمام روابط متقاعد نمي شوند . مثلاA ->  A توسط تمام روابطي كه شامل صفت A  است متقاعد مي شود. به طور تحت الفظي كه تعريف وابستگي عملیاتی راخوانديم، ديديم كه براي همه چندگانه های t1 و t2 که t1[A]= t2[A]  چنين است،  به همين ترتيب AB-> A  توسط تمام روابطي كه شامل صفت A هستند متقاعد مي شود 
اینکه بفهمیم یک رابطه خاص در هر مرحله از زمان ممکن است وابستگی های عملیاتی که برای جاگرفتن روی الگوی رابطه لازم نیست رامتقاعد کند حائز اهمیت است. در رابطهcustomer در شكل 2-4 دیدیم که customer-street ->  customer-city  متقاعدشده اند. به هر حال معتقديم كه در جهان واقعي دو شهر مي تواند خيابانهايي با اسم يكسان داشته باشد . بنابراين گاهي اوقات اين امكان وجود دارد كهcustomer-street -> customer-city   متقاعد كننده نباشد.
بنابراينcustomer-street -> customer-city     در وابستگي هاي عملیاتی در الگويي برای رابطه customer  جا مي گيرد.
فرضاً یک گروه وابستگی عملیاتی F روی رابطه r جای گرفته. ممکن است این استدلال امکانپذیر باشد که بقیه وابستگی های عملیاتی مسلم روی رابطه جا گیرند. برای مثال الگوي معين r=(A,B,C) اگر وابستگی های عملیاتی A ->  B و  B ->  C  روی r جاي گيرند، مي توانيم نتيجه بگيريم كه وابستگي  عملیاتی A -> C  هم بايد درr  جای گيرد. در بخش 7-1-4 اين روابط را مورد بررسي قرار خواهيم داد.
از علائم  F+  براي نشان دادن بستار مجموعهf  استفاده می کنیم که مجموعه ای از همه وابستگی های عملیاتی است که می تواند با مجموعه F استدلال شده باشد. مسلماً  F+  زير مجموعهf  است.

D

C

B

A

 

 

 

 

d1

d2

d2

d3

d4

c1

c1

c2

c2

c2

b1

b2

b2

b3

b3

a1

a1

a2

a2

a3

شکل 7-5 رابطه نمونه r



7-3-2 شكل نرمال boyce-codd   
يكي از شكلهاي بسيار مناسبي كه مي توانيم بدست آوريم شكل نرمال boyce-codd است( bcnf ).  این فرم نرمال همه زوائدي كه مي تواند بر اساس وابستگي عملكري كشف شود را حذف می کند، در بخش 7-6 خواهيم ديد كه ممكن است انواع ديگري از زوائد باقيمانده وجود داشته باشد. 
 
یک طراحی پایگاه داده در شکل  BCNF است اگر هر یک از اعضای الگوی رابطه که طراحی را تشکیل می دهد در BCNF باشند.
تاكنون مثالي از يك الگو ديديم كه درBCNF  نبود.
bor-loan=(customer-id , loan-number , amount)
وابستگي عملكري در loan-number  amount  روی bor-loan جاي مي گيرد، اما شماره وام یک سوپر کلید نیست (زيرا به خاطر مي آوريم كه يك وام ممكن است در يك كنسرسيوم براي مشتري هاي زيادي ايجاد شود). در بخش 7-1-2 ديديم كه تجزيه bor-loan به borrower و loan  طرح بهتري بود. الگوي borrower  در BCNF است زيرا هيچ وابستگي عملیاتی در آن غیر بدیهی نیست که الگوي loan-number  amount جا بگیرد. اما          loan-number يك سوپركليد براي loan  است . بنابراين loan درBCNF   مي باشد.
 لذا برای انجام کار صحیح با وابستگی های عملیاتی نیاز به شرح قوانینی داریم که صفات ظاهر شده در دو سمت فلش را دارا هستند. دلايل تكنيكي براي اين کار در بخش 7-5-1 بيان مي شود. وقتي الگويي را كه در BCNF  نيست تجزيه مي كنيم، ممكن است يك يا چند تا از الگوهاي نتيجه در BCNF نباشد. درچنین مواردی، تجزیه بیشتر لازم است تا آنکه هر کدام از نتیجه ها در BCNF باشد.
 

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

HyperLink

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