একটি সম্পূর্ণ কার্যকরী নির্ভরতা ডাটাবেস স্বাভাবিকীকরণের একটি রাষ্ট্র যা দ্বিতীয় সাধারণ ফর্ম (2NF) এর স্বাভাবিকীকরণ মানের সমান। সংক্ষেপে, এর অর্থ হল এটি প্রথম সাধারণ ফর্ম (1NF) এর প্রয়োজনীয়তা পূরণ করে এবং সমস্ত অ-মূল বৈশিষ্ট্যগুলি সম্পূর্ণরূপে কার্যকরীভাবে প্রাথমিক কী-তে নির্ভরশীল।
এটা শব্দ হতে পারে হিসাবে জটিল নয়। আসুন আরো বিস্তারিতভাবে এই তাকান।
প্রথম সাধারণ ফর্ম সংক্ষিপ্তসার
একটি ডাটাবেস সম্পূর্ণরূপে কার্যকরীভাবে নির্ভরশীল হতে পারে আগে, এটি প্রথমে প্রথম সাধারণ ফর্ম মেনে চলতে হবে।
এর অর্থ এই যে প্রতিটি বৈশিষ্ট্য অবশ্যই একক, পরমাণু মান ধরে রাখতে হবে।
উদাহরণস্বরূপ, নিম্নলিখিত টেবিল না না 1NF এর সাথে মেনে চলুন, কারণ কর্মচারী টিনা দুইটি অবস্থানে লিঙ্কযুক্ত, উভয়ই একক কক্ষে রয়েছে:
| কর্মচারী | অবস্থান |
|---|---|
| জন | লস এঞ্জেলেস |
| টিনা | লস এঞ্জেলেস, শিকাগো |
এই নকশা অনুমোদন নেতিবাচকভাবে তথ্য আপডেট বা এন্ট্রি প্রভাবিত করতে পারে। 1NF সম্মতি নিশ্চিত করার জন্য, টেবিলের পুনর্বিন্যাস করুন যাতে সমস্ত গুণাবলী (বা কলাম কোষ) একক মান ধারণ করে:
প্রথম সাধারণ ফর্ম সম্মতি
কিন্তু 1NF এখনও ডেটা সমস্যা এড়াতে যথেষ্ট নয়।
কিভাবে 2NF সম্পূর্ণ নির্ভরতা নিশ্চিত করতে কাজ করে
সম্পূর্ণরূপে নির্ভরশীল হতে, সমস্ত অ-প্রার্থী কী বৈশিষ্ট্যগুলি প্রাথমিক কী উপর নির্ভর করতে হবে। (মনে রাখবেন, প্রার্থী কী বৈশিষ্ট্যটি কোনও কী (উদাহরণস্বরূপ, একটি প্রাথমিক বা বিদেশী কী) যা একটি ডাটাবেস রেকর্ডটিকে অনন্যভাবে সনাক্ত করতে ব্যবহৃত হয়।
ডাটাবেস ডিজাইনার বৈশিষ্ট্যগুলির মধ্যে নির্ভরশীল সম্পর্ক বর্ণনা করার জন্য একটি নোট ব্যবহার করে:
বৈশিষ্ট্য A হলে B এর মান নির্ধারণ করে, আমরা এটি লিখিএকটি -> বি- অর্থাত্ বিটি কার্যকরীভাবে A এ নির্ভরশীল। এই সম্পর্কের মধ্যে A, B এর মান নির্ধারণ করে এবং B
উদাহরণস্বরূপ, নিম্নলিখিত কর্মচারী বিভাগ টেবিল, EmployeeID এবং DeptID উভয় প্রার্থী কী: EmployeeID টেবিল এর প্রাথমিক কী, যখন ডেপটিড একটি বিদেশী কী।
অন্য কোনও বৈশিষ্ট্য - এই ক্ষেত্রে, কর্মচারীনাম এবং ডেপননাম - তার মান অর্জনের প্রাথমিক কী উপর নির্ভর করতে হবে।
| কর্মচারী আইডি | কর্মকর্তার নাম | DeptID | DeptName |
|---|---|---|---|
| Emp1 | জন | Dept001 | মূলধন যোগান |
| Emp2 | টিনা | Dept003 | বিক্রয় |
| Emp3 | কার্লোস | Dept001 | মূলধন যোগান |
এই ক্ষেত্রে, টেবিল সম্পূর্ণরূপে নির্ভরশীল নয়, কারণ কর্মচারী নাম প্রাথমিক কী কর্মচারী উপর নির্ভর করে, DeptName পরিবর্তে DeptID এ নির্ভর করে। এই বলা হয় আংশিক নির্ভরতা .
এই টেবিলটিকে 2NF এর সাথে সামঞ্জস্য করতে, আমাদের ডেটা দুটি সারণিতে আলাদা করতে হবে:
| কর্মচারী আইডি | কর্মকর্তার নাম | DeptID |
|---|---|---|
| Emp1 | জন | Dept001 |
| Emp2 | টিনা | Dept003 |
| Emp3 | কার্লোস | Dept001 |
আমরা থেকে DeptName বৈশিষ্ট্য মুছে ফেলুন এমপ্লয়িজ টেবিল এবং একটি নতুন টেবিল তৈরি করুন বিভাগ :
| DeptID | DeptName |
|---|---|
| Dept001 | মূলধন যোগান |
| Dept002 | মানব সম্পদ |
| Dept003 | বিক্রয় |
এখন টেবিলের মধ্যে সম্পর্ক পুরোপুরি নির্ভরশীল, অথবা 2NF তে।
কেন সম্পূর্ণ নির্ভরতা গুরুত্বপূর্ণ
ডাটাবেস গুণাবলী মধ্যে সম্পূর্ণ নির্ভরতা তথ্য অখণ্ডতা নিশ্চিত এবং তথ্য বৈষম্যের এড়াতে সাহায্য করে।
উদাহরণস্বরূপ, উপরের বিভাগে টেবিলে বিবেচনা করুন যা শুধুমাত্র 1NF অনুসরণ করে। এখানে আবার, হয়:
| কর্মচারী | অবস্থান |
|---|---|
| জন | লস এঞ্জেলেস |
| টিনা | লস এঞ্জেলেস |
| টিনা | শিকাগো |
টিনা দুই রেকর্ড আছে। আমরা যদি দুইটি অনুভব না করেই একটি আপডেট করি, ফলাফলটি অসঙ্গতিপূর্ণ তথ্য হবে।
অথবা, যদি আমরা এই টেবিলে একজন কর্মচারী যোগ করতে চাই, তবে আমরা এখনও অবস্থানটি জানি না? যদি অবস্থানের বৈশিষ্ট্যটি নূন্যতম মানগুলি মঞ্জুরি দেয় না তবে আমরা এমনকি একটি নতুন কর্মচারী যোগ করার জন্যও অস্বীকৃত হতে পারি।
সম্পূর্ণ নির্ভরতা পুরো ছবি নয়, যদিও, এটি স্বাভাবিকীকরণের ক্ষেত্রে আসে। আপনার ডাটাবেসটি তৃতীয় সাধারণ ফর্ম (3NF) -এ নিশ্চিত হওয়া আবশ্যক।




