د عادي کولو ډاډ ترلاسه کولو لپاره د انتقالي انحصارونو څخه ډډه وکړئ
په ډیټابیس کې یو انتقالي تړاو د ورته ارزښتونو د ارزښتونو ترمنځ غیر مستقیم اړیکه ده چې د فعال فعالیت پورې اړه لري . د دریم نورمال فورمه (3NF) د معمول کولو معیار معیار ترلاسه کولو لپاره، تاسو باید هر ډول انتقالي تړاو ختم کړئ.
د خپل فطرت له مخې، یو انتقالي تړاو پورې درې یا ډیرو ځانګړتیاوو ته اړتیا لري (یا ډیټابیس کالمونه) چې د دوی تر منځ فعال فعالیت لري، پدې مانا چې په کال کې کالم A د کالم B پر اساس د منځنۍ کالم C.
راځئ وګورئ چې دا څنګه کار کولی شي.
انتقالي انحصار مثال
AUTHORS
لیکوال_یډ | لیکوال | کتاب | لیکوال |
---|---|---|---|
Auth_001 | اوسن سکاټ کارټ | د اډر لوبه | متحده ایالات |
Auth_001 | اوسن سکاټ کارټ | د اډر لوبه | متحده ایالات |
Auth_002 | مارګریټ اتروډ | د هرمینډ ټیلي | کاناډا |
په AUTHORS کې پورته په لاندې توګه:
- کتاب → لیکوال : دلته، د کتاب خاصیت د لیکوال خاصیت ټاکي. که تاسو د کتاب نوم پېژنئ، تاسو کولی شئ د لیکوال نوم زده کړئ. په هرصورت، لیکوال کتاب کتاب نه ټاکي، ځکه چې یو لیکوال کولی شي څو کتابونه ولیکي. د مثال په توګه، ځکه چې موږ د لیکوال نوم یاسن سکاټ کارټ پوهیږو، موږ لا هم د کتاب نوم نه پېژنو.
- لیکوال → Author_Nationality : په ورته ډول، د لیکوال خاصیت Author_Nationality ټاکي ، مګر بل څه نه؛ ځکه چې موږ پوهیږو چې تابعیت د دې مانا نلري چې موږ د لیکوال ټاکل ټاکلی شئ.
مګر دا میز یو انتقالي تړاو لري:
- کتاب → لیکوال نیکمرغي: که موږ د کتاب نوم پېژنو، موږ کولی شو چې د لیکوال د کالم له لارې مليت وټاکو.
د انتقالي شرایطو څخه ډډه کول
د دریم نورمال فورمه ډاډه کولو لپاره، راځئ چې انتقالي تړاو تثبیت کړو.
موږ کولی شو د لیکوالانو د میز څخه د کتاب کالم له لرې کولو او د کتاب بیل میز جوړ کړئ:
کتابونه
کتاب_یډ | کتاب | لیکوال_یډ |
---|---|---|
کتاب_001 | د اډر لوبه | Auth_001 |
کتاب_001 | د دماغ ماشومان | Auth_001 |
کتاب_002 | د هرمینډ ټیلي | Auth_002 |
AUTHORS
لیکوال_یډ | لیکوال | لیکوال |
---|---|---|
Auth_001 | اوسن سکاټ کارټ | متحده ایالات |
Auth_002 | مارګریټ اتروډ | کاناډا |
ایا دا یې حل کړه؟ راځئ چې اوس زموږ د انحصار ارزونه وکړو:
د کتاب کتابونه
- کتاب_ID → کتاب: کتاب کتاب د بک - باندی تړلی دی.
- په دې میز کې هیڅ یو بل تړاو شتون نلري، نو موږ ښه یاست. په یاد ولرئ چې بهرني کیلي لیکوال_ID دا میز له AUTHORS میز سره د خپل اصلي کیلي لیکوال_ . موږ د اړیکو د تثبیت څخه مخنیوي لپاره د اړیکو رامنځته کولو لپاره، د اړونده ډاټابیسونو یو مهم ډيزاین.
د AUTHORS جدول :
- Author_ID → لیکوال: لیکوال په Author_ID پورې تړلی دی.
- لیکوال → Author_Nationality: مليت د لیکوال لخوا ټاکل کیدی شي.
- Author_ID → د لیکوال نوښت: مليت د لیکوال_ID څخه د لیکوال خاصیت له لارې ټاکل کیدی شي. موږ لا هم یو انتقالي تړاو لري.
موږ دې ته اړتیا لرو چې دریم جدول د دې ډاټا نورمالولو لپاره اضافه کړو:
هېوادونه
Country_ID | هېواد |
---|---|
Coun_001 | متحده ایالات |
Coun_002 | کاناډا |
AUTHORS
لیکوال_یډ | لیکوال | Country_ID |
---|---|---|
Auth_001 | اوسن سکاټ کارټ | Coun_001 |
Auth_002 | مارګریټ اتروډ | Coun_002 |
اوس موږ درې میزونه لرو، د بهرنیو کابینونو کارول د میزونو تر مینځ اړیکه کول:
- د BOOK میز د بهرني کیلي لیکوال_ID د AUTHORS میز کې یو لیکوال ته یو کتاب سره لینک لري.
- د AUTHORS میز د بهرنیو کلیدي ملک_ID د COUNTRIES میز کې یو لیکوال لیکلی.
- د COUNTRIES جدول هیڅ بهرني کیلي نلري ځکه چې دا په دې ډیزاین کې د بل میز سره هیڅ تړاو نلري.
ولې انتقالي عواید د بد ډیټابیس ډیزاین دي
د 3NF د یقیني کولو لپاره د انتقالي تکیې څخه مخنیوی ارزښت څه شی دی؟ راځئ زموږ لومړني میز بیا ځل وګورو او هغه مسایل چې وګڼل شي وګورئ:
AUTHORS
لیکوال_یډ | لیکوال | کتاب | لیکوال |
---|---|---|---|
Auth_001 | اوسن سکاټ کارټ | د اډر لوبه | متحده ایالات |
Auth_001 | اوسن سکاټ کارټ | د دماغ ماشومان | متحده ایالات |
Auth_002 | مارګریټ اتروډ | د هرمینډ ټیلي | کاناډا |
دا ډول ډیزاین کولی شي د اندیښنو او غیر متقابلو معلوماتو سره مرسته وکړي، د بیلګې په توګه:
- که تاسو "د دماغ ماشومان" او "Ender's Game" دوه کتابونه ړنګ کړل، تاسو به "اوسن سکاټ کارټ" او د هغه تابعیت په بشپړ ډول د ډاټابیسټ څخه حذف کړئ.
- تاسو د ډیټابیس ته نوی لیکوال نشي کولی مګر دا چې تاسو یو کتاب هم اضافه کړئ؛ که چیرې لیکوال لا تر اوسه خپور شوی نه وي یا تاسو د هغه کتاب نوم نه پوهیږي چې هغه یې لیکلی دی؟
- که "اوسن سکاټ کارت" خپل تابعیت بدل کړي، نو تاسو باید په ټولو هغو ریکارډونو کې بدلون راوړو چې په هغه کې هغه ښکاري. د ورته لیکوال سره ډیری ریکارډونه کولی شي غلط معلومات پایلې ولري: که چیرې د معلوماتو داخلي کس نه پوهیږي نو د هغه لپاره ډیری ریکارډونه شتون لري او معلومات یوازې یو ریکارډ کې بدلوي؟
- تاسو نشی کولی "کتاب" د هرمیډید ټیل "په څیر یو کتاب حذف کړئ پرته له دې چې لیکوال بشپړ کړی.
دا یوازې یو دلیل دی چې ولې عادي کولو ، او د انتقالي تکیې څخه مخنیوي، د معلوماتو ساتنه او دوامدارتیا یقیني کول دي.