উদাহরণস্বরূপ 2NF বনাম 3NF ব্যাখ্যা করা


13

আমার দ্বিতীয় দ্বিতীয় ফর্ম (2 এনএফ) নিয়ে সমস্যা আছে এবং আমি গুগল ব্যবহার করে এটি সমাধান করতে পারিনি। এটি আমাকে পাগল করছে কারণ আমি একজন শিক্ষক এবং আমি আমার শিক্ষার্থীদের ভুল জিনিস শেখাতে চাই না।

5 টি ক্ষেত্র সহ একটি টেবিল রাখি।

গ্রেডিংস = {শিক্ষার্থীর নাম, সাবজেক্ট কোড, সাবজেক্ট নাম, # এক্সাম, গ্রেড

নির্ভরতা এইভাবে:

ছাত্রের নাম, সাবজেক্ট কোড, # পরীক্ষা -> গ্রেড

সাবজেক্টকোড -> সাবজেক্টনাম

সাবজেক্টনাম -> সাবজেক্ট কোড

অতএব, প্রার্থী কী 1 {StudentName, SubjectCode, #Exam} এবং প্রার্থী কী 2 {StudentName, SubjectName, #Exam}

প্রধান বৈশিষ্ট্যগুলি হ'ল {স্টুডেন্টনাম, সাবজেক্টকোড, সাবজেক্টনাম, # এক্সাম non এবং অ-মৌলিক বৈশিষ্ট্যগুলি গ্রেড

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

সমস্যাটি হ'ল আমার মনে হয় কিছু ভুল (এবং আমি ভুল হতে পারি)। আমি মনে করি বিষয়গুলির নিজস্ব টেবিল থাকা উচিত।

গ্রেডিংস = {শিক্ষার্থীর নাম, সাবজেক্ট কোড, # এক্সাম, গ্রেড

বিষয়সমূহ = {বিষয় কোড, সাবজেক্ট নাম

তবে 2NF এটি উত্পাদন করে না। 3NF হ'ল নন-প্রাইম বৈশিষ্ট্যগুলির মধ্যে নির্ভরতা সম্পর্কে তাই এটি এটিরও উত্পাদন করে না। তবে আমার কাছে মনে হচ্ছে এটি সঠিক ফলাফল, কারণ এটির কোনও অপ্রয়োজনীয়তা নেই।

আমার ধারণা, নন-প্রাইম অ্যাট্রিবিউটটি "এট্রিবিউট যা প্রার্থী কী নয়" হিসাবে সংজ্ঞায়িত করা হয়েছিল, 2NF পছন্দসই ফলাফল আনতে পারে। তবে আমি এটি বারবার যাচাই করেছি এবং নন-প্রাইম অ্যাট্রিবিউটটি "এমন বৈশিষ্ট্য হিসাবে সংজ্ঞায়িত করা হয়েছে যা প্রার্থী কীতে স্বীকৃত নয়"।

আমি কি ভুল করছি?

উত্তর:


9

আপনার সম্পর্ক 3NF- এ, (এবং কেবলমাত্র 2NF নয়), কারণ আপনি যেমনটি বলেন কেবল একমাত্র অ মৌলিক বৈশিষ্ট্য গ্রেড , যা কেবল আপনার এফডিগুলির ডানদিকে প্রদর্শিত হয়।

সম্পর্কটি বিসিএনএফ-তে নেই, কারণ দুটি ছোট এফডি-র বাম দিকে সুপারকি নয়।

তবে, আপনি ( সাবজেক্টকোড , সাবজেক্টনাম ) এবং উভয়ই ( স্টুডেন্টনাম, সাবজেক্ট কোড, # এক্সাম, গ্রেড ) বা ( স্টুডেন্টনাম, সাবজেক্টনাম, # এক্সাম, গ্রেড ) এর সাথে সম্পর্ক বিহীনভাবে বিচ্ছিন্ন করতে পারেন

এই পচন আপনাকে দুটি বিসিএনএফ সম্পর্ক দেয় এবং সমস্ত কার্যকরী নির্ভরতা সংরক্ষণ করে। এটি সর্বদা সম্ভব নয় (আপনি সর্বদা 3NF এর সাথে সম্পর্ক ছিন্ন করতে পারেন তবে বিসিএনএফের সাথে অগত্যা নয়)।

2NF

আপনি যদি 2NF (এবং 3NF নয়) উদাহরণ চান তবে আপনার সম্পর্কের ট্রানজিটিভ নির্ভরতা থাকতে হবে।

উদাহরণস্বরূপ, বলুন যে আপনার স্কোর কলাম রয়েছে। স্বজ্ঞাত স্কোর-> গ্রেড যেহেতু একই স্কোর সহ সমস্ত পরীক্ষায় একই গ্রেড পাওয়া উচিত (এটি অন্যথায় অন্যায্য হবে) তবে নোট করুন যে আমরা গ্রেড-> স্কোর বলতে পারি না যেহেতু বেশ কয়েকটি স্কোরের একই গ্রেড থাকতে পারে (১১% এবং 12%) উদাহরণস্বরূপ সম্ভবত "ব্যর্থ" হতে পারে)।

এখন আপনার সম্পর্কটি হ'ল:

গ্রেডিংস ( শিক্ষার্থীর নাম, সাবজেক্ট কোড, সাবজেক্ট নাম, # এক্সাম, স্কোর, গ্রেড )

এবং প্রতিবার অন্য গ্রেডিং রেকর্ডের মতো একই স্কোরের সাথে ফলাফল প্রবেশ করানোর পর থেকে আপনার কাছে রিডানডেন্সির একটি নতুন রূপ রয়েছে তবে আপনাকে একই গ্রেডের পুনরাবৃত্তি করতে হবে। 3NF এ পেতে আপনি তাই পচন করতে পারেন

স্কোর গ্রেডস ( স্কোর, গ্রেড )

কী হিসাবে স্কোর সহ , এবং

স্কোর ( শিক্ষার্থীর নাম, সাবজেক্ট কোড, সাবজেক্টনাম, # এক্সাম, স্কোর )


4

আপনি যা কিছু বলছেন তাতে ঠিকই আছেন। সাবজেক্ট কোড, সাবজেক্টনামকে পছন্দসই নির্ভরতা প্রয়োগ করতে তাদের নিজস্ব টেবিলে যেতে হবে। 2NF এবং 3NF কেন ভাল ডাটাবেস ডিজাইন তৈরি করতে পর্যাপ্ত নয় - এটির পরিবর্তে আপনার বয়েস কোডড নরমাল ফর্ম (বিসিএনএফ) প্রয়োজন This

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


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


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

2

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

আমরা প্রার্থী কী (গুলি) সনাক্ত করেছি তাই আমরা বাকী অ-মৌলিক বৈশিষ্ট্যগুলির এই প্রশ্নটি জিজ্ঞাসা করি। এই ক্ষেত্রে, একমাত্র আছে: গ্রেড।

গ্রেডটি স্বতন্ত্রভাবে চিহ্নিত করার জন্য আমাদের নিখুঁত ন্যূনতম তথ্য কী দরকার? আমাদের শিক্ষার্থী, বিষয় এবং পরীক্ষা নেওয়া হচ্ছে তা জানতে হবে। ভাল, এটি প্রার্থীদের চাবিগুলির মধ্যে একটি।

সম্পাদনা: ভিভিভি

তবে উত্তরটি ঠিক ততই হতে পারে শিক্ষার্থীর নাম, বিষয়ের নাম এবং পরীক্ষা। এটি দ্বিতীয় প্রার্থী কীটির সাথে মিলবে।

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

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

তবে উত্তরের সেই অংশটি সরিয়ে দেওয়ার পরিবর্তে, আমি এটি তুলনার জন্য রাখব।

সমাপ্তি সম্পাদনা: ^ ^ ^

বিষয়টির নাম স্বতন্ত্রভাবে সনাক্ত করার জন্য আমাদের নিখুঁত ন্যূনতম তথ্য কী?

সাবজেক্টনাম কেবল সাবজেক্টকোডের উপর নির্ভরশীল - প্রার্থী কীটির একটি উপসেট। সুতরাং এই টিপল 2nf হয় না। সাবজেক্টকোড একটি সাবজেক্ট টেবিলের প্রাথমিক কী হওয়া উচিত যাতে সাবজেক্টনাম রাখার উপযুক্ত অবস্থান। এই টিপল থেকে এটি সরান এবং এটি এখন 2nf এ।

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

দ্রষ্টব্য: যখন আমরা "নরমালাইজ" বলি, আমরা এমন একটি প্রক্রিয়াটির কথা উল্লেখ করছি যা লজিক্যাল সত্তায় প্রয়োগ করা হয়। সরবরাহিত টুপলটিকে "গ্রেড" নামক কোনও সত্তার সংজ্ঞা বলে মনে হচ্ছে, তাই আমরা এটিকে স্বাভাবিক করতে পারি। যাইহোক, এক পর্যায়ে আমি বলেছিলাম "এই টিপল 2nf নয়," যা আরও সঠিকভাবে হওয়া উচিত ছিল, "এই সত্তা 2nf এ নেই।" যদি এই কারণে বিভ্রান্তির সৃষ্টি হয় তবে আমি ক্ষমা চাই।


2

একমাত্র নন-প্রাইম অ্যাট্রিবিউট (গ্রেড) কোনও প্রার্থী কী এর অংশের উপর নির্ভর করে না তাই এই টেবিলটি 2NF-এ দেখা যাচ্ছে।

এটি 2NF এ রয়েছে।

সমস্যাটি হ'ল আমার মনে হয় কিছু ভুল (এবং আমি ভুল হতে পারি)। আমি মনে করি বিষয়গুলির নিজস্ব টেবিল থাকা উচিত।

মূল টেবিলটি 2NF তে পচে যাওয়ার জন্য বিষয়গুলির নিজস্ব টেবিল থাকা উচিত বলে আশা করার কোনও কারণ নেই । কোনও নির্দিষ্ট সাধারণ ফর্মটি আপনাকে যা দেয় তা দিয়ে আপনি "উচিত" এর কিছু অস্পষ্ট ধারণাটি বিভ্রান্ত করছেন।

3NF হ'ল নন-প্রাইম বৈশিষ্ট্যগুলির মধ্যে নির্ভরতা সম্পর্কে তাই এটি এটিরও উত্পাদন করে না।

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

তবে আমার কাছে মনে হচ্ছে এটি সঠিক ফলাফল, কারণ এটির কোনও অপ্রয়োজনীয়তা নেই।

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

এই টেবিলটি বিসিএনএফ-তে নেই, কারণ এতে এফডি রয়েছে যা সিসি থেকে বাইরে নেই। বিসিএনএফ প্রতি এটি দ্রবীভূত করার ফলে শিক্ষার্থীর টেবিলে উপস্থিতি ঘটে। বিডিএনএফ হ'ল জেডি (ডিপেন্ডেন্সিগুলিতে যোগদান করুন) যা এফডি সহকারে ডিল করার জন্য সর্বোচ্চ স্বাভাবিক ফর্ম form তবে অন্যান্য জেডি সমস্যাযুক্ত হতে পারে (যেমন "সিসি দ্বারা প্ররোচিত নয়") এবং সাধারণীকরণের মাধ্যমে 5NF এ সরানো উচিত।

পিএস মূল সারণীটি এফডি {শিক্ষার্থীর নাম, সাবজেক্টনাম, # পরীক্ষা} -> গ্রেডকেও সন্তুষ্ট করে।

নির্ভরতা এইভাবে:

কি এই মানে যে অনুমিত হয়? এটা পরিষ্কার নয়।

আপনার অর্থ কি, "এগুলি হ'ল সমস্ত অ-তুচ্ছ এফডি আছে"? না, কারণ তারা চতুর্থ বোঝায়। "এখানে কিছু এফডি রাখা আছে"? না, এর অর্থ হ'ল ট্রানজিটিভ ক্লোজার হ'ল এফডিগুলি, তবে এটি বলে না যে অন্যরা ধরে না , তবুও আপনি সিকে নির্ধারণ করতে সক্ষম হয়েছিলেন। "যে এফডি হোল্ড করে সেগুলি কি এইগুলির ট্রানজিটিভ বন্ধে হুবহু"? আপনি যদি এটি বোঝাতে চেয়েছিলেন তবে আপনি এটি কেবল যদি এটি দেখিয়ে থাকেন তবে আপনি এটি জানতেন , অর্থাত্ আপনাকে অবশ্যই এটি বন্ধ করতে হবে (সাধারণত, একটি ন্যূনতম / প্রচ্ছন্ন কভারের মাধ্যমে) এবং তারপরে দেখানো হয় যে অন্য কোনও এফডি নেই; তুমি কি? নির্বিশেষে, আপনি যা লিখেছেন তার অর্থ এই নয়। সুতরাং আমি আশা করি আপনি এফডি ও সিকে পরিস্থিতি সম্পর্কে দৃ sound়ভাবে যুক্তি দিচ্ছেন না।


0

আপনি সঠিক, বিষয়গুলির নিজস্ব টেবিল প্রয়োজন। আপনি যদি আপনার প্রার্থীর কী বাছাই করেন, হয় হয় subject_codeবা subject_nameঅ-প্রাথমিক প্রার্থী কী হয়ে যান। তারপরে আপনি গ্রেডিং সারণী থেকে অ প্রাথমিক-প্রাথমিক ক্ষেত্রগুলি সরিয়ে ফেলুন।

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

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

সমস্যার আরও বিশ্লেষণ (প্রয়োজনীয়তা) সম্ভবত একটি সেশন টেবিল দেয় যার বিরুদ্ধে চিহ্ন প্রয়োগ করা হয়। বর্তমান মডেলটি কোনও শিক্ষার্থীর কোর্স পুনরাবৃত্তি করার বিষয়টি কভার করার সম্ভাবনা কম। এটি পরবর্তী পাঠে আবৃত হবে।

একই নামে একাধিক শিক্ষার্থী রাখা সম্ভব হওয়ায় শিক্ষার্থীরাও একটি পৃথক সারণিতে পরিণত হতে পারে। এটি সম্ভবত একটি সিন্থেটিক প্রাথমিক কী (ছাত্র সংখ্যা?) যোগ করে সমাধান করা হবে।

subjects --->  sessions ---+--> grades
students  -----------------+

3
"আপনি যদি আপনার প্রার্থীর কী বাছাই করেন তবে সাবজেক্ট_ কোড বা সাবজেক্ট_নাম একটি অ প্রাথমিক-প্রার্থীর চাবি হয়ে যায় " " এটা স্পষ্টতই ভুল। বিশ্লেষণের বাকী কিছু মূল্যবান পয়েন্ট রয়েছে তবে একটি যখন একটি মিথ্যা বিন্দু থেকে শুরু হয়, তখন আমরা সিদ্ধান্তে নির্ভর করতে পারি না।
ypercubeᵀᴹ

-7

আমি এটি মুছে ফেলার জন্য প্রস্তুত করছি কারণ এটি ভুল হিসাবে বিবেচিত হয়

সাবজেক্টের নামটিও একটি অ-মৌলিক বৈশিষ্ট্য এবং এটি প্রাথমিক কী সাবজেক্ট কোডের অংশের উপর নির্ভর করে (নিয়ম বিরতি দেয় - প্রাথমিক কীতে কোনও কলামের আংশিক নির্ভরতা থাকতে হবে না)।

এটি ২ য় নর্মাল ফর্মটিতে নিষিদ্ধ এবং এরপরে এটির নিজের টেবিলে রাখা উচিত যেমন আপনি সন্দেহ করেছেন।

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

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

আরও; একজন অভিজ্ঞ বিকাশকারী সাধারণীকরণের স্বাধীন স্তরের বিবেচনা করবেন না কারণ অনেকগুলি বিধি স্বজ্ঞাত হয়ে ওঠে।

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


1
ওপি সঠিকভাবে বলেছে যে "প্রার্থী কী 2 {StudentName, SubjectName, #Exam}" So তাই, StudentNameএটি একটি প্রধান বৈশিষ্ট্য।
ypercubeᵀᴹ

1
"আপনি যখন সারণি তৈরি আপনি প্রাথমিক কী করতে প্রার্থী কি এক সেট বাছাই করা উচিত। অবশিষ্ট কলাম অ মৌলিক বৈশিষ্ট্য হয়ে ওঠে। " এই স্পষ্টভাবে ভুল।
ypercubeᵀᴹ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.