ডাটাবেস সাধারণ ফর্ম কি এবং আপনি উদাহরণ দিতে পারেন? [বন্ধ]


277

রিলেশনাল ডাটাবেস ডিজাইনে ডাটাবেস নরমালাইজেশন বা সহজভাবে নরমালাইজের ধারণা রয়েছে যা ডেটা রিডানডেন্সি হ্রাস করতে এবং ডেটা অখণ্ডতা উন্নত করতে কলাম (বৈশিষ্ট্য) এবং সারণী (সম্পর্ক) সংগঠিত করার প্রক্রিয়া। ( উইকিপিডিয়ায় লিখিত হিসাবে )

যেহেতু বেশিরভাগ নিবন্ধগুলি কিছুটা প্রযুক্তিগত এবং এর ফলে বোঝা শক্ত, তাই আমি কাউকে 1NF, 2NF, 3NF এমনকি 3.5NF (বয়েস-কোডড) বলতে কী বোঝায় তার উদাহরণগুলির উপর ভিত্তি করে ব্যাখ্যা বোঝার জন্য আরও সহজ লিখতে বলছি।

উত্তর:


435

1 এনএফ সাধারণ ফর্মগুলির মধ্যে সবচেয়ে মৌলিক - একটি টেবিলের প্রতিটি কক্ষে অবশ্যই এক টুকরো তথ্য থাকতে হবে এবং কোনও নকল সারি থাকতে পারে না।

2NF এবং 3NF সমস্ত কি প্রাথমিক কী-এর উপর নির্ভরশীল about মনে রাখবেন যে একাধিক কলাম দ্বারা একটি প্রাথমিক কী তৈরি করা যেতে পারে। ক্রিস যেমন তার প্রতিক্রিয়াতে বলেছিলেন:

ডেটা কী [1NF], পুরো কী [2NF] এবং কী [3NF] ব্যতীত কিছুই নির্ভর করে না (সুতরাং আমাকে কোডডে সহায়তা করুন )।

2NF

বলুন যে আপনার কাছে একটি সারণী রয়েছে যা নির্দিষ্ট সেমিস্টারে নেওয়া হয় এবং আপনার নিম্নলিখিত ডেটা থাকে:

|-----Primary Key----|               uh oh |
                                           V
CourseID | SemesterID | #Places  | Course Name  |
------------------------------------------------|
IT101    |   2009-1   | 100      | Programming  |
IT101    |   2009-2   | 100      | Programming  |
IT102    |   2009-1   | 200      | Databases    |
IT102    |   2010-1   | 150      | Databases    |
IT103    |   2009-2   | 120      | Web Design   |

এটি 2 এনএফ-তে নেই , কারণ চতুর্থ কলামটি পুরো কীটির উপর নির্ভর করে না - তবে এটির কেবল একটি অংশ। কোর্সের নামটি কোর্সের আইডির উপর নির্ভরশীল, তবে এটি কোন সেমিস্টারে নেওয়া হয়েছে তার সাথে কিছুই করার নেই Thus সুতরাং, আপনি দেখতে পাচ্ছেন, আমাদের নকল তথ্য রয়েছে - বেশ কয়েকটি সারি আমাদের জানিয়েছে যে IT101 প্রোগ্রামিং করছে এবং IT102 ডাটাবেস। সুতরাং আমরা অবশ্যই কোর্সের নামটি অন্য টেবিলে স্থানান্তরিত করে সেখানে কোর্সআইডিটি এনটিআর কী।

Primary Key |

CourseID    |  Course Name |
---------------------------|
IT101       | Programming  |
IT102       | Databases    |
IT103       | Web Design   |

বাড়াবাড়ি নেই!

3NF

ঠিক আছে, সুতরাং আসুন আমরা আরডিবিএমএসে কোর্সের শিক্ষকের নাম এবং তাদের সম্পর্কে কিছু বিশদ যুক্ত করব:

|-----Primary Key----|                           uh oh |
                                                       V
Course  |  Semester  |  #Places   |  TeacherID  | TeacherName  |
---------------------------------------------------------------|
IT101   |   2009-1   |  100       |  332        |  Mr Jones    |
IT101   |   2009-2   |  100       |  332        |  Mr Jones    |
IT102   |   2009-1   |  200       |  495        |  Mr Bentley  |
IT102   |   2010-1   |  150       |  332        |  Mr Jones    |
IT103   |   2009-2   |  120       |  242        |  Mrs Smith   |

এখন আশা করি এটি স্পষ্ট হওয়া উচিত যে শিক্ষকের নাম শিক্ষকের উপর নির্ভরশীল - তাই এটি 3 এনএফ-এ নেই । এটি ঠিক করতে, আমরা 2NF-তে যেমন করেছি তেমনটাই করি - এই টেবিলটি থেকে শিক্ষক নাম ক্ষেত্রটি নিন এবং এটি নিজের মধ্যে রাখুন, যার মূল হিসাবে টিচারআইডি রয়েছে।

 Primary Key |

 TeacherID   | TeacherName  |
 ---------------------------|
 332         |  Mr Jones    |
 495         |  Mr Bentley  |
 242         |  Mrs Smith   |

বাড়াবাড়ি নেই !!

একটি গুরুত্বপূর্ণ বিষয় মনে রাখবেন যে যদি 1NF তে কিছু না থাকে তবে এটি 2NF বা 3NF এও নয়। সুতরাং প্রতিটি অতিরিক্ত সাধারন ফরম প্রয়োজন সবকিছু নিম্ন স্বাভাবিক রূপ ছিল, প্লাস কিছু অতিরিক্ত শর্ত, যা অবশ্যই সব পূর্ণ হবে না।


9
জিনিসগুলির মধ্যে সম্পর্কের দিক দিয়ে এটি সম্পর্কে কেবল ভাবেন। যদি আমি আপনাকে জিজ্ঞাসা করি "আইটি আইটি 101 সহ কোর্সের নাম কী?", আপনি আমাকে উত্তর দিতে পারবেন, তাই না? একইভাবে, যদি আমি আপনাকে জিজ্ঞাসা করি "কোন শিক্ষকের আইডি 332 আছে?" আপনি কি বলতে পারেন যে শিক্ষক কি। সুতরাং, কোর্সের নামটি তার আইডির উপর নির্ভরশীল।
স্মোশেরি

9
তবে আপনি অন্য পথে যেতে পারবেন না - যদি আমি আপনাকে জিজ্ঞাসা করি "মিঃ জোন্সসের আইডি কী?" দু'জন মিঃ জোনেস থাকতে পারে বলে আপনি কোনও অনন্য উত্তর দিতে পারবেন না। সুতরাং আইডি নামের উপর নির্ভর করে না - এটি নাম যা আইডির উপর নির্ভরশীল।
স্ম্যাসেরি

2
আপনি এটি এইভাবেও ভাবতে পারেন - নীচে তৃতীয় টেবিলটি দেখুন (এতে শিক্ষকনামের সাথে প্রথম)। আমাকে প্রথম সারিতে "মিস্টার জোন্স" থাকা বাধা দেওয়ার কী আছে তবে তারপরে দ্বিতীয় সারিতে "মিস্টার ব্লগস" রাখছেন? আমাকে এটি করার অনুমতি দেওয়া উচিত নয় , কারণ তারা দুজনেই 332 এর আইডি পেয়েছে।
স্মারশে

30
@ ইনস্ট্যান্টসেটসুনা - সম্পূর্ণ ব্যাখ্যা: কিছু আদালতে একজন সাক্ষীকে জিজ্ঞাসা করা হয় যে তারা যদি "সত্য, পুরো সত্য এবং সত্য ব্যতীত কিছুই বলে না, তবে আমাকে Godশ্বরকে সাহায্য করুন"; আপনি সত্য বলছেন কিনা তা জানার ক্ষেত্রে শ্বরের কর্তৃত্বের সাথে এক হিসাবে বিবেচিত হয়। ডাটাবেসের ক্ষেত্রে, আমরা বলতে পারি "ডেটা কী, পুরো কী এবং কী বাদে কিছুই নির্ভর করে না, সুতরাং আমাকে কোডডে সহায়তা করুন"। টেড কোডই হ'ল সেই ব্যক্তি যিনি রিলেশনাল ডাটাবেস - কীগুলির উপর নির্ভর করে ইত্যাদি সম্পর্কিত ধারণা নিয়ে এসেছিলেন, সুতরাং রিলেশনাল ডাটাবেসের ক্ষেত্রে তিনিই কর্তৃত্ব হবেন।
স্মিশেরি

5
@ স্ম্যাশারি 2NF এবং 3NF এর মধ্যে পার্থক্য কী?
জো

119

সঠিক শব্দার্থের জন্য আমার কখনও ভাল স্মৃতি ছিল না, তবে আমার ডাটাবেস ক্লাসে আমি মনে করি অধ্যাপক সর্বদা এরকম কিছু বলেছিলেন:

ডেটা কী [1NF], পুরো কী [2NF] এবং কী [3NF] ব্যতীত আর কিছুই নির্ভর করে না।


72
... তাই আমাকে কোডড সাহায্য করুন। en.wikipedia.org/wiki/Ted_Codd
Smashery

6
তাহলে এর মধ্যে পার্থক্য কী The data depends on the key [1NF], nothing but the key [3NF]? দয়া করে আমাদের বিভ্রান্ত করবেন না, কারণ 1 টি উত্তর উত্তর উত্তরটি পরিষ্কার করে না তবে দর্শকদের বিভ্রান্ত করে!
প্রতীক 4'15

2
"একটি টেবিলের প্রতিটি কক্ষে অবশ্যই একটি টুকরো তথ্য থাকতে হবে এবং কোনও সদৃশ সারি থাকতে পারে না।" - আমি দেখতে পাই না কীভাবে "ডেটা কী'র উপর নির্ভর করে" এর সাথে মেলে।
সাইমন ফারসবার্গ

46

এখানে একটি দ্রুত, স্বীকারোক্তিযুক্ত কসাই প্রতিক্রিয়া, কিন্তু একটি বাক্যে:

1 এনএফ: আপনার টেবিলটি একটি আনর্ডারড সেট হিসাবে সংগঠিত ডেটা , এবং কোনও পুনরাবৃত্তি কলাম নেই।

2 এনএফ: অন্য কলামের কারণে আপনি আপনার টেবিলের একটি কলামে ডেটা পুনরাবৃত্তি করবেন না।

3 এনএফ: আপনার টেবিলের প্রতিটি কলাম কেবলমাত্র আপনার টেবিলের কী সম্পর্কিত - আপনার টেবিলে কোনও কলাম থাকবে না যা আপনার টেবিলের অন্য কলামটি বর্ণনা করবে যা কী নয়।

আরও বিশদের জন্য উইকিপিডিয়া দেখুন ...


1
যতদূর আমি বলতে পারি, 1NF এর পুনরাবৃত্তি গোষ্ঠীগুলির পুনরুক্তি কলামগুলি পুনরাবৃত্তি করার কথা উল্লেখ করে না, বরং একক কলামগুলি একই বৈশিষ্ট্যের জন্য পুনরাবৃত্তি মানগুলির একটি স্বেচ্ছাসেবী সংখ্যার প্রতিনিধিত্ব করে, অর্থাত্ত্বিক নয়। আমি এটিকে উদাহরণস্বরূপ (1) স্ট্যাকওভারফ্লো.com / জিজ্ঞাসা / 23194292 /… / (2) স্ট্যাকওভারফ্লো.
আন্ডারস্কোর_

34

1 এনএফ: প্রতি কলামে কেবল একটি মান

2 এনএফ: টেবিলের সমস্ত অ প্রাথমিক প্রাথমিক কলামগুলি সম্পূর্ণ প্রাথমিক কীটির উপর নির্ভর করবে।

3 এনএফ: টেবিলের সমস্ত অ প্রাথমিক প্রাথমিক কলামগুলি সম্পূর্ণ প্রাথমিক কীতে DIRECTLY নির্ভর করতে হবে।

আমি এখানে আরও বিস্তারিতভাবে একটি নিবন্ধ লিখেছি


কারণ আপনি বিশিষ্টতা সরবরাহ করেন নি। গুণাবলী সরবরাহ করার জন্য আমি উত্তরটি সম্পাদনা করেছি।
রবার্ট হার্ভে

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

এটা আমি মনে রাখব। আপনাকে ধন্যবাদ :)
আর্কটরাস

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

3
@ আর্টচারাস নিবন্ধটির মাধ্যমে পড়েন, এখনও সেখানে সাধারণীকরণের জন্য আরও ভাল ব্যাখ্যা।
ওলিয়ান04
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.