3.1 ডাটাবেস স্বাভাবিককরণ

সাধারন ফর্ম একটি রিলেশনাল ডেটা মডেলের একটি সম্পর্কের একটি সম্পত্তি যা এটিকে অপ্রয়োজনীয়তার পরিপ্রেক্ষিতে চিহ্নিত করে, সম্ভাব্যভাবে নমুনা বা ডেটা পরিবর্তনের যৌক্তিকভাবে ভুল ফলাফলের দিকে পরিচালিত করে। সাধারণ ফর্মকে প্রয়োজনীয়তার সেট হিসাবে সংজ্ঞায়িত করা হয় যা একটি সম্পর্ক (একটি ডাটাবেসের টেবিল) অবশ্যই পূরণ করতে হবে।

ডাটাবেস সম্পর্কগুলিকে একটি ফর্মে রূপান্তর করার প্রক্রিয়া যা স্বাভাবিক ফর্মগুলির সাথে সামঞ্জস্যপূর্ণ হয় তাকে স্বাভাবিককরণ বলে। সাধারণীকরণের উদ্দেশ্য ডাটাবেসের কাঠামোকে এমন একটি ফর্মে নিয়ে আসা যা ন্যূনতম লজিক্যাল রিডানড্যান্সি প্রদান করে , এবং এটি ডাটাবেসের ভৌত ভলিউম হ্রাস বা কমাতে বা বৃদ্ধি করার উদ্দেশ্যে নয়

স্বাভাবিককরণের চূড়ান্ত লক্ষ্য ডাটাবেসে সংরক্ষিত তথ্যের সম্ভাব্য অসঙ্গতি হ্রাস করা। স্বাভাবিককরণ প্রক্রিয়ার সাধারণ উদ্দেশ্য নিম্নরূপ:

  • নির্দিষ্ট ধরনের অপ্রয়োজনীয়তা বর্জন;
  • কিছু আপডেট অসঙ্গতি ঠিক করুন;
  • একটি ডাটাবেস প্রকল্পের বিকাশ যা বাস্তব জগতের একটি যথেষ্ট "উচ্চ মানের" উপস্থাপনা, স্বজ্ঞাত এবং পরবর্তী সম্প্রসারণের জন্য একটি ভাল ভিত্তি হিসাবে কাজ করতে পারে;
  • প্রয়োজনীয় অখণ্ডতা সীমাবদ্ধতা প্রয়োগের জন্য পদ্ধতিকে সরল করা।

রিডানড্যান্সি সাধারণত এমনভাবে সম্পর্কের পচন ঘটিয়ে দূর করা হয় যে প্রতিটি সম্পর্কের মধ্যে শুধুমাত্র প্রাথমিক তথ্যগুলোই সংরক্ষিত থাকে (অর্থাৎ, এমন তথ্য যা অন্য সঞ্চিত তথ্য থেকে প্রাপ্ত নয়)।

যদিও ডাটাবেস ডিজাইনের জন্য নর্মালাইজেশন ধারনা খুবই উপযোগী, তারা কোনভাবেই ডাটাবেস ডিজাইনের মান উন্নত করার সার্বজনীন বা সম্পূর্ণ উপায় নয়। এটি এই কারণে যে ডাটাবেস কাঠামোতে অনেক বেশি সম্ভাব্য ত্রুটি এবং ত্রুটি রয়েছে যা স্বাভাবিককরণের মাধ্যমে নির্মূল করা যায় না।

এই বিবেচনাগুলি সত্ত্বেও, স্বাভাবিকীকরণের তত্ত্বটি সম্পর্কগত তত্ত্ব এবং অনুশীলনের একটি অত্যন্ত মূল্যবান অর্জন, যেহেতু এটি একটি ডাটাবেস প্রকল্পের গুণমানের জন্য বৈজ্ঞানিকভাবে কঠোর এবং যুক্তিসঙ্গত মানদণ্ড এবং এই গুণমান উন্নত করার জন্য আনুষ্ঠানিক পদ্ধতি প্রদান করে। এটি স্বাভাবিকীকরণ তত্ত্বকে অন্য ডেটা মডেলগুলিতে দেওয়া বিশুদ্ধভাবে অভিজ্ঞতামূলক নকশা পদ্ধতির থেকে আলাদা করে তোলে। তদুপরি, এটি যুক্তি দেওয়া যেতে পারে যে তথ্য প্রযুক্তির পুরো ক্ষেত্রে আনুষ্ঠানিক কঠোরতার স্তরের পরিপ্রেক্ষিতে রিলেশনাল ডাটাবেসগুলির স্বাভাবিকীকরণের তত্ত্বের সাথে তুলনীয় নকশা সমাধানগুলি মূল্যায়ন এবং উন্নত করার জন্য কার্যত কোনও পদ্ধতি নেই।

সাধারণীকরণকে কখনও কখনও এই কারণে সমালোচনা করা হয় যে "এটি কেবল সাধারণ জ্ঞান" এবং যে কোনও দক্ষ পেশাদার "স্বাভাবিকভাবে" নির্ভরতা তত্ত্ব প্রয়োগ না করেই একটি সম্পূর্ণ স্বাভাবিক ডাটাবেস ডিজাইন করবে।

যাইহোক, যেমন প্রফেসর ক্রিস্টোফার ডেট উল্লেখ করেছেন, স্বাভাবিকীকরণ হল সুনির্দিষ্টভাবে সাধারণ জ্ঞানের নীতি যা একজন পরিপক্ক ডিজাইনারকে তার মনে গাইড করে, অর্থাৎ, স্বাভাবিককরণের নীতিগুলি সাধারণ জ্ঞানের আনুষ্ঠানিকতা । ইতিমধ্যে, সাধারণ জ্ঞানের নীতিগুলি সনাক্ত করা এবং আনুষ্ঠানিককরণ একটি অত্যন্ত কঠিন কাজ, এবং এটি সমাধানে সাফল্য একটি উল্লেখযোগ্য অর্জন।

3.2 প্রথম স্বাভাবিক ফর্ম

প্রথম স্বাভাবিক ফর্ম (1NF) হল রিলেশনাল ডেটা মডেলের একটি সম্পর্কের মৌলিক স্বাভাবিক ফর্ম।

একটি রিলেশন ভেরিয়েবল প্রথম স্বাভাবিক আকারে থাকে যদি এবং শুধুমাত্র যদি, সেই ভেরিয়েবলের কোনো বৈধ মানের মধ্যে, প্রতিটি রিলেশন টিপলে প্রতিটি অ্যাট্রিবিউটের জন্য ঠিক একটি মান থাকে।

একটি সম্পর্কীয় মডেলে, সম্পর্কের ধারণার সংজ্ঞা অনুসারে একটি সম্পর্ক সর্বদা প্রথম স্বাভাবিক আকারে থাকে।

বিভিন্ন টেবিলের জন্য, তারা সম্পর্কের সঠিক উপস্থাপনা নাও হতে পারে এবং সেই অনুযায়ী, 1NF-তে নাও হতে পারে। এই ধরনের ক্ষেত্রে ক্রিস্টোফার ডেটের সংজ্ঞা অনুসারে, একটি টেবিলকে স্বাভাবিক করা হয় (সমতুল্যভাবে, প্রথম স্বাভাবিক আকারে) যদি এবং শুধুমাত্র যদি এটি কিছু সম্পর্কের সরাসরি এবং সত্য উপস্থাপনা হয়। আরও নির্দিষ্টভাবে, প্রশ্নে থাকা টেবিলটি অবশ্যই নিম্নলিখিত পাঁচটি শর্ত পূরণ করবে:

  • উপরে থেকে নীচে সারিগুলির কোনও ক্রম নেই (অন্য কথায়, সারিগুলির ক্রম কোনও তথ্য প্রকাশ করে না)।
  • কলামগুলির কোনও বাম-থেকে-ডান ক্রম নেই (অন্য কথায়, কলামগুলির ক্রম কোনও তথ্য বহন করে না)।
  • কোন ডুপ্লিকেট লাইন.
  • একটি সারি এবং একটি কলামের প্রতিটি ছেদ সংশ্লিষ্ট ডোমেন থেকে ঠিক একটি মান রয়েছে (এবং অন্য কিছু নয়)।
  • সমস্ত কলাম "নিয়মিত"।

একটি টেবিলের সমস্ত কলামের "নিয়মিততা" বলতে বোঝায় যে টেবিলে কোনও "লুকানো" উপাদান নেই যা নিয়মিত কলামের নাম উল্লেখ করার পরিবর্তে শুধুমাত্র কিছু বিশেষ অপারেটরের আহ্বানে অ্যাক্সেস করা যেতে পারে, বা যা সারিগুলির জন্য পার্শ্ব প্রতিক্রিয়া সৃষ্টি করে। স্ট্যান্ডার্ড অপারেটর আহ্বান করার সময় বা টেবিল।

মূল অ-স্বাভাবিক (অর্থাৎ, কিছু সম্পর্কের সঠিক উপস্থাপনা নয়) টেবিল:

কর্মচারী ফোন নম্বর
ইভানভ আই.আই.

283-56-82

390-57-34

পেট্রোভ পি.পি. 708-62-34
সিডোরভ এস.এস.

একটি সারণী 1NF এ হ্রাস করা হয়েছে, যা কিছু সম্পর্কের সঠিক উপস্থাপনা:

কর্মচারী ফোন নম্বর
ইভানভ আই.আই. 283-56-82
ইভানভ আই.আই. 390-57-34
পেট্রোভ পি.পি. 708-62-34

3.3 দ্বিতীয় স্বাভাবিক ফর্ম

একটি রিলেশন ভেরিয়েবল দ্বিতীয় স্বাভাবিক আকারে থাকে যদি এবং শুধুমাত্র যদি এটি প্রথম স্বাভাবিক আকারে থাকে এবং প্রতিটি অ-কী বৈশিষ্ট্য অপরিবর্তনীয়ভাবে (প্রতিটি) তার প্রার্থী কী-এর উপর নির্ভরশীল

অপরিবর্তনীয়তার অর্থ হল সম্ভাব্য কীটিতে বৈশিষ্ট্যগুলির একটি ছোট উপসেট থাকে না যেখান থেকে এই কার্যকরী নির্ভরতাও উদ্ভূত হতে পারে। একটি অপরিবর্তনীয় কার্যকরী নির্ভরতার জন্য, "সম্পূর্ণ কার্যকরী নির্ভরতা" এর সমতুল্য ধারণাটি প্রায়শই ব্যবহৃত হয়।

যদি প্রার্থী কী সহজ হয়, অর্থাৎ, এটি একটি একক বৈশিষ্ট্য নিয়ে গঠিত, তবে এটির উপর যে কোনও কার্যকরী নির্ভরতা অপরিবর্তনীয় (সম্পূর্ণ)। যদি প্রার্থী কী একটি যৌগিক কী হয়, তাহলে, দ্বিতীয় সাধারণ ফর্মের সংজ্ঞা অনুসারে, সম্মিলিত প্রার্থী কী-এর অংশের উপর নির্ভর করে এমন কোনও নন-কী বৈশিষ্ট্য থাকতে হবে।

একটি সম্পর্ককে দ্বিতীয় স্বাভাবিক ফর্মে রূপান্তরের একটি উদাহরণ

গুণাবলীর জোড়া {কোম্পানি শাখা, অবস্থান} নিম্নলিখিত সম্পর্কে প্রাথমিক কী গঠন করুন:

আর
কোম্পানি শাখা কাজের শিরোনাম বেতন একটি কম্পিউটারের প্রাপ্যতা
টমস্কে শাখা পরিষ্কারক 20000 না
মস্কোতে শাখা প্রোগ্রামার 40000 খাওয়া
টমস্কে শাখা প্রোগ্রামার 25000 খাওয়া

ধরা যাক যে বেতন শাখা এবং অবস্থানের উপর নির্ভর করে এবং কম্পিউটারের প্রাপ্যতা শুধুমাত্র পদের উপর নির্ভর করে।

একটি কার্যকরী নির্ভরতা অবস্থান রয়েছে -> একটি কম্পিউটার থাকা, যার বাম দিকে (নির্ধারক) প্রাথমিক কীটির একটি অংশ, যা দ্বিতীয় স্বাভাবিক ফর্মের শর্ত লঙ্ঘন করে।

2NF-এ কমাতে, আসল সম্পর্কটিকে দুটি সম্পর্কের মধ্যে পচন করা উচিত:

R1
কোম্পানি শাখা কাজের শিরোনাম বেতন
টমস্কে শাখা পরিষ্কারক 20000
মস্কোতে শাখা প্রোগ্রামার 40000
টমস্কে শাখা প্রোগ্রামার 25000
R2
কাজের শিরোনাম একটি কম্পিউটারের প্রাপ্যতা
পরিষ্কারক না
প্রোগ্রামার খাওয়া
প্রোগ্রামার খাওয়া

3.4 তৃতীয় স্বাভাবিক ফর্ম (3NF)

একটি রিলেশন ভেরিয়েবল R 3NF তে থাকে যদি এবং শুধুমাত্র যদি নিম্নলিখিত শর্তগুলি সত্য হয়:

  • আরদ্বিতীয় স্বাভাবিক আকারে আছে।
  • কোন অ-কী বৈশিষ্ট্য নেইআরপ্রার্থী কী এর উপর ট্রানজিটিভ কার্যকরী নির্ভরতা নেইআর.

সংজ্ঞার ব্যাখ্যা:

রিলেশন R-এর একটি নন-কী অ্যাট্রিবিউট হল এমন একটি অ্যাট্রিবিউট যা R-এর কোনো ক্যান্ডিডেট কীগুলির অন্তর্গত নয়।

অ্যাট্রিবিউটের সেটের উপর Z বৈশিষ্ট্যগুলির সেটের কার্যকরী নির্ভরতা X (লিখিত X → Z, উচ্চারিত "x নির্ধারণ করে z") যদি Y বৈশিষ্ট্যগুলির একটি সেট থাকে যে X → Y এবং Y → Z। এতে ক্ষেত্রে, X, Y এবং Z সেটগুলির একটিও অন্যটির একটি উপসেট নয়, যেমন কার্যকরী নির্ভরতা X → Z, X → Y, এবং Y → Z তুচ্ছ নয়, এবং কোন কার্যকরী নির্ভরতা Y → X নেই।

3NF-এর একটি সংজ্ঞা, Codd এর সমতুল্য কিন্তু ভিন্নভাবে বলা হয়েছে, কার্লো জানিওলো 1982 সালে দিয়েছিলেন। এটি অনুসারে, একটি রিলেশন ভেরিয়েবল 3NF তে থাকে যদি এবং শুধুমাত্র যদি এর প্রতিটি কার্যকরী নির্ভরতা X → A নিম্নলিখিত শর্তগুলির মধ্যে অন্তত একটিকে সন্তুষ্ট করে:

  • X-এ A রয়েছে (অর্থাৎ, X → A হল একটি তুচ্ছ কার্যকরী নির্ভরতা)
  • এক্স - সুপার কী
  • A হল একটি কী অ্যাট্রিবিউট (অর্থাৎ, A হল প্রার্থীর কী অংশ)।

জানিওলোর সংজ্ঞা স্পষ্টভাবে 3NF এবং আরও কঠোর বয়েস-কড নরমাল ফর্ম (BCNF) এর মধ্যে পার্থক্যকে সংজ্ঞায়িত করে: BCNF তৃতীয় শর্ত বাদ দেয় ("A হল একটি মূল বৈশিষ্ট্য")।

Codd এর 3NF সংজ্ঞার একটি স্মরণীয় এবং ঐতিহ্যগতভাবে বর্ণনামূলক সারসংক্ষেপ বিল কেন্ট দ্বারা দেওয়া হয়েছিল: প্রতিটি নন-কী অ্যাট্রিবিউট "কী সম্পর্কে তথ্য প্রদান করা উচিত, সম্পূর্ণ কী এবং কী ছাড়া কিছুই নয় "

অ-কী বৈশিষ্ট্যগুলির "পূর্ণ কী" এর উপর নির্ভর করার শর্তটি নিশ্চিত করে যে সম্পর্কটি দ্বিতীয় স্বাভাবিক আকারে রয়েছে; এবং তাদের জন্য "কী ব্যতীত কিছুই নয়" এর উপর নির্ভর করার শর্ত হল যে তারা তৃতীয় স্বাভাবিক আকারে রয়েছে।

ক্রিস ডেট কেন্টের সংক্ষিপ্তসারকে 3NF-এর একটি "স্বজ্ঞাতভাবে আকর্ষণীয় বৈশিষ্ট্য" হিসাবে বলেন, এবং পর্যবেক্ষণ করেন যে, সামান্য পরিবর্তনের সাথে, এটি কঠোর বয়েস-কড স্বাভাবিক ফর্মের সংজ্ঞা হিসাবেও কাজ করতে পারে: "প্রতিটি বৈশিষ্ট্য অবশ্যই একটি কী সম্পর্কে তথ্য প্রদান করবে। , একটি সম্পূর্ণ কী, এবং চাবি ছাড়া আর কিছুই নয়।

কেন্টের 3NF সংজ্ঞার সংস্করণটি ডেটার গঠনের Boyce-Codd স্বাভাবিক ফর্ম সংস্করণের তুলনায় কম কঠোর, যেহেতু পূর্বে শুধুমাত্র বলা হয়েছে যে নন-কী বৈশিষ্ট্যগুলি কীগুলির উপর নির্ভর করে।

প্রাথমিক গুণাবলী (যা কী বা তাদের অংশ) কার্যত নির্ভরশীল হতে হবে না; তাদের প্রত্যেকে কী নিজেই বা এর অংশ প্রদান করে কী সম্পর্কে তথ্য প্রদান করে। এখানে উল্লেখ্য যে এই নিয়মটি শুধুমাত্র নন-কী অ্যাট্রিবিউটের জন্যই বৈধ, যেহেতু সমস্ত অ্যাট্রিবিউটে এটি প্রয়োগ করা হলে সমস্ত জটিল বিকল্প কীগুলি সম্পূর্ণরূপে নিষ্ক্রিয় হয়ে যাবে, যেহেতু এই ধরনের কী-এর প্রতিটি উপাদান "সম্পূর্ণ কী" শর্ত লঙ্ঘন করবে।

একটি উদাহরণ হিসাবে সম্পর্ক পরিবর্তনশীল R1 বিবেচনা করুন:

R1
কর্মচারী বিভাগ টেলিফোন
গ্রিসিন হিসাববিজ্ঞান 11-22-33
ভাসিলিভ হিসাববিজ্ঞান 11-22-33
পেট্রোভ সরবরাহ 44-55-66

প্রতিটি কর্মচারী একচেটিয়াভাবে একটি বিভাগের অন্তর্গত; প্রতিটি বিভাগে একটি একক টেলিফোন আছে। কর্মচারী বৈশিষ্ট্য হল প্রাথমিক কী। কর্মচারীদের ব্যক্তিগত ফোন নেই, এবং কর্মচারীর ফোন নম্বর শুধুমাত্র বিভাগের উপর নির্ভর করে।

উদাহরণে, নিম্নলিখিত কার্যকরী নির্ভরতা বিদ্যমান: কর্মচারী → বিভাগ, বিভাগ → ফোন, কর্মচারী → ফোন।

রিলেশন ভেরিয়েবল R1 দ্বিতীয় স্বাভাবিক আকারে কারণ প্রতিটি অ্যাট্রিবিউটের সম্ভাব্য কী কর্মচারীর উপর একটি অপরিবর্তনীয় কার্যকরী নির্ভরতা রয়েছে।

সম্পর্ক কর্মচারী → ফোন ট্রানজিটিভ, তাই সম্পর্কটি তৃতীয় স্বাভাবিক আকারে নয়।

R1 বিভক্ত করার ফলে 3NF-তে থাকা দুটি রিলেশন ভেরিয়েবল হয়:

R2
বিভাগ টেলিফোন
হিসাববিজ্ঞান 11-22-33
সরবরাহ 44-55-66

R3
কর্মচারী বিভাগ
গ্রিসিন হিসাববিজ্ঞান
ভাসিলিভ হিসাববিজ্ঞান
পেট্রোভ সরবরাহ

প্রাথমিক সম্পর্ক R1, যদি প্রয়োজন হয়, সম্পর্ক R2 এবং R3 যোগদানের অপারেশনের ফলে সহজেই পাওয়া যায়।