A بشپړ فعالیت انحصار د ډیټابیس عادي کولو حالت دی چې د دویم نورمال فورمه (2NF) د نورمال معیار معیار سره برابروي. په لنډ ډول، دا پدې مانا ده چې دا د لومړی عمومی فورمو اړتیاوې پوره کوي) 1NF (، او ټولې غیر کلیدي ځانګړتیاوې په فعال ډول په ابتدايي توګه په لومړني کیلي پورې تړاو لري.
دا پیچلي ندی لکه څنګه چې کیدی شي. راځئ چې دا په ډیر تفصیل سره وګورو.
د لومړۍ عمومی فورم لنډیز
مخکې له دې چې د ډیټابیس ډیټا په فعال ډول سره تړاو ولري، باید لومړی د لومړي عمومی فارم سره سمون ولري.
د دې ټولو معنی دا ده چې هر یو ځانګړی باید یو اټومي، اټومي ارزښت ولري.
د بیلګې په توګه، لاندې جدول د 1NF سره تړاو نلري، ځکه چې د کارمین ټینا د دوو ځایونو سره تړاو لري، دواړه یې په یو واحد کې:
کارمند | ځای |
---|---|
جان | لاس اینجلس |
ټینا | لاس اینجلس، شیکاګو |
دا ډیزاین ته اجازه ورکول د معلوماتو تازه یا اندیښنو منفي اغیزه کولی شي. د 1NF اطاعت یقیني کولو لپاره، د میز بیا تنظیمول ترڅو ټول ځانګړتیاوې (یا د کالم حجرې) یو واحد ارزښت ولري:
کارمند | ځای |
---|---|
جان | لاس اینجلس |
ټینا | لاس اینجلس |
ټینا | شیکاګو |
مګر 1NF لا تر اوسه پوره ندي چې د معلوماتو سره د ستونزو څخه مخنیوي وشي.
د 2NF څنګه د بشپړ انحصار ډاډ ترلاسه کوي؟
د بشپړتیا پورې تړلو لپاره، د غیر نوماندانو کلیدي ځانګړتیاوې باید په لومړني کیلي پورې تړاو ولري. (په یاد ولرئ، د نوماند کلیدي خاصیت هر کلیدی (د بیلګې په توګه، یو اصلي یا بهرنۍ کلیدي) دی چې په ځانګړی ډول د ډیټابیس ریکارډ پیژني.
د ډیټابیس ډیزاین یو ځانګړتیاوی کاروي چې د ځانګړتیاو ترمنځ تړاو پورې تړاو بیان کړي:
که د A ځانګړتیاوې د B ارزښت ارزول، موږ دا A - B - ولیکئ چې معنی یې د B په فعالیت پورې اړه لري. په دې اړیکو کې، A د B ارزښت ارزوي، پداسې حال کې چې B په انحصار کوي.
د مثال په توګه، د لاندې کارمندانو څانګې میز، د کارموندنې او ډی ډی ډی ډی دواړه د کاندیدانو کلیدي دي: EmployeeID د میز ابتدايي کلیدی دی پداسې حال کې چې DeptID یو بهرني کلیدی دی.
هر بل خصوصیت - پدې حالت کې، EmployeeName او DeptName - باید خپل ارزښت تر لاسه کولو لپاره په لومړني کیلي پورې تړاو ولري.
کارموندنه | کارکونکي نوم | DeptID | ډيټا نوم |
---|---|---|---|
ایم پی 1 | جان | ډیټا ډیټا | مالي |
Emp2 | ټینا | ډیپلومات | خرڅلاو |
ایمپ | کارلوس | ډیټا ډیټا | مالي |
په دې حالت کې، جدول په بشپړه توګه پورې تړلی نه دی ځکه چې کارمندنی نوم د لومړني کلیدي EmployeeID پورې اړه لري، ډیپټ نوم د DeptID پر ځای پورې اړه لري. دا د جزوی تړاو پورې تړلی دی .
د دې جدول لپاره 2NF سره سمون کول، موږ باید دا معلومات دوه میزونو ته جدا کړو:
کارموندنه | کارکونکي نوم | DeptID |
---|---|---|
ایم پی 1 | جان | ډیټا ډیټا |
Emp2 | ټینا | ډیپلومات |
ایمپ | کارلوس | ډیټا ډیټا |
موږ د کارمندانو د میز څخه ځانګړی DeptName لرې کوو او نوي میزانونه جوړ کړئ:
DeptID | ډيټا نوم |
---|---|
ډیټا ډیټا | مالي |
ډیټا 202 | بشري سرچینې |
ډیپلومات | خرڅلاو |
اوس د میزونو تر مینځ اړیکې په بشپړه توګه تړاو لري، یا په 2NF کې.
ولې بشپړ انحصار مهم دی؟
د ډاټابیس ځانګړتیاوو ترمنځ بشپړ تړاو د ډاټا د بشپړتیا ډاډمنولو کې مرسته کوي او د اندیښنو څخه ډډه کول.
د مثال په توګه، په پورته برخه کې جدول وګورئ چې یوازې د 1NF سره سمون لري. دلته دا یو ځل بیا دی:
کارمند | ځای |
---|---|
جان | لاس اینجلس |
ټینا | لاس اینجلس |
ټینا | شیکاګو |
ټینا دوه ریکارډونه لري. که موږ د دې په ډاګه کولو کې یو یو تازه اوسمهال یو، نو نتیجه به غیر متوازن معلومات وي.
یا، که څه هم موږ غواړو چې یو کارمند دې میز ته اضافه کړو، مګر موږ لا تر اوسه ځای نه پېژنو؟ که څه هم د ځای ځانګړتیا د NULL ارزښتونو ته اجازه نه ورکوي موږ ممکن نوی کارمندانو ته هم اجازه ورنکړو.
بشپړ تناسب ټول انځور نه دی، که څه هم، کله چې نورمال کول راځي. تاسو باید ډاډه کړئ چې ستاسو ډاټابیس د دریم نورمال فارم (3NF) کې دی.