په ډیټابیس کې یو له ډیرو اړیکو څخه

په ډیټابیس کې یو له ډیرو ډیټابیس کې واقع کیږي کله چې په A جدول کې هر ریکارډ کېدای شي په جدول B کې ډیری تړلي ریکارډونه ولري، مګر په جدول B کې هر ریکارډ کېدای شي په جدول جدول کې یوازې یو مطابقت ریکارډ ولري. یو ډیټابیس د عامه اړیکو ډيټابیس ډیزاین دی او د ښه ډیزاین په زړه کې دی.

د ښوونکو او کورسونو تر منځ اړیکه په پام کې ونیسئ. یو ښوونکی کولی شي څو کورسونه زده کړي، مګر کورس به د ښوونکي سره ورته اړیکه ونلري.

نو ځکه، د ښوونکو په میز کې د هر ریکارډ لپاره، د کورسونو په جدول کې ډیری ریکارډونه کیدی شي. دا یو له ډیرو اړیکو څخه دی: یو ښوونکی د څو کورسونو لپاره.

ولې یو له ډیرو ډیرو اړیکو جوړول مهم دي

د یو ډیرو اړیکو استازیتوب لپاره، لږترلږه دوه میزونو ته اړتیا لرئ. راځئ چې ولي ولې.

ښایي موږ د ښوونکي میز جوړ کړو چې موږ یې غوښتل نوم یې او کورسونه ثبت کړو. موږ ممکن دا داسې طرحه کړو:

ښوونکي او کورسونه
ښوونکى ښوونکی کورس
استاد _001 کارمین بیولوژي
ښوونکی -002 ویرونیکا ریاضی
ښوونکي _003 جورج انګلیسي

که څه هم کارمین دوه یا ډیر کورسونه درس ورکوي؟ موږ د دې ډیزاین سره دوه اختیارونه لرو. موږ کولی شو د کارمین اوسني ریکارډ ته اضافه کړو، لکه څنګه چې:

ښوونکي او کورسونه
ښوونکى ښوونکی _ نوم کورس
استاد _001 کارمین بیولوژي، ریاضی
ښوونکی -002 ویرونیکا ریاضی
ښوونکي _003 جورج انګلیسي

په هرصورت پورته ډیزاین انعطاف وړ دی او کیدی شي د ستونزو سره مخ شي کله چې د معلوماتو داخلولو، تدوین او یا مینځلو هڅه وکړي.

دا د ارقامو لټون کول ستونزمن کوي. دا ډیزاین د ډیټابیس معمول کولو لومړنۍ اصل سرغړونه کوي، لومړی عمومی عمومی فورمه (1NF) ، کوم چې په هره میز کې باید د معلوماتو یو واحد، ناپاکه برخه وي.

یو بل ډیزاین بدیل ممکن د کارمین لپاره په ساده ډول د دویم ریکارډ اضافه کولو لپاره وي:

ښوونکي او کورسونه
ښوونکی _ID ښوونکی _ نوم کورس
استاد _001 کارمین بیولوژي
استاد _001 کارمین ریاضی
ښوونکی -002 ویرونیکا ریاضی
ښوونکي _003 جورج انګلیسي

دا د 1NF تعقیب کوي مګر لا تر اوسه د ډیټابیس ډیټابیس ډیزاین دی ځکه چې دا بې ځایه کیدنه معرفي کوي او ممکن غیر ضروري ډیټابیس ډب کړي. تر ټولو مهم، ډاټا کولی شي غیر متوازن وي. د مثال په توګه، که څه هم د کارمین نوم بدل شو؟ هغه څوک چې د ډاټا سره کار کوي ښايي د هغې نوم په یوه ریکارډ کې تازه کړي او په دویم ریکارډ کې یې د اوسمهالولو توان نلري. دا ډیزاین دویمې عمومی فورمه (2NF) څخه سرغړونه کوي، چې د 1NF سره سمون لري او باید د معلوماتو سبسایټونو په بیلابیلو جدولونو کې جلا کړي او د دوی تر مینځ اړیکې رامینځته کړي.

د ډیرو ډیرو اړیکو سره د ډیټابیس ډیزاین څنګه طرح کول

د ښوونکو او کورسونو په جدول کې یو له ډیرو اړیکو پلي کولو لپاره، موږ میزونه دوه ته ورسوو او دوی د بهرنیو کلید کارولو سره اړیکه ونیسو.

دلته، موږ د ښوونکي په جدول کې د کورس کالم لرې کړ:

ښوونکي
ښوونکی _ID ښوونکی _ نوم
استاد _001 کارمین
ښوونکی -002 ویرونیکا
ښوونکي _003 جورج

او دلته د کورسونو جدول دی. په ياد ولرئ چې د هغې بهرنۍ کلي، ښوونکي_ID، د ښوونکي په جدول کې د ښوونکو لپاره يو کورس سره تړاو لري:

کورسونه
کورس_ID د کورس نوم ښوونکى
کورس_001 بیولوژي استاد _001
کورس_002 ریاضی استاد _001
کورس_003 انګلیسي ښوونکي _003

موږ د بهرنیو کلیدي کارولو له لارې د ښوونکي او د کورسونو جدول تر مینځ اړیکه جوړه کړې.

دا موږ ته وایي چې بیولوژي او ریاضی دواړه د کارمین لخوا تدريس کیږي او جورج انګلیسي ته درس ورکوي.

موږ ګورو چې څنګه دا ډیزاین د ممکنه بې ځایه کیدو څخه مخنیوی کوي، انفرادي ښوونکو ته اجازه ورکوي څو څو کورسونه زده کړي، او یو له ډیرو اړیکو څخه کار واخلي.

ډیټابیسټس کولی شي یو له یو بل سره اړیکې او یو ډیرو ډیرو اړیکو پلي کړي.