রিলেশনাল মডেল ধারণা ভিত্তিক। রিলেশনাল ডেটা মডেলের গঠন

রিলেশনাল মডেল (RMD) এর প্রধান ডাটা স্ট্রাকচার মনোভাব,অতএব, মডেলটিকে রিলেশনাল বলা হয়।

আরএমডিতে টেবিলে সংগঠিত ডেটা, যা অবশ্যই কিছু বিধিনিষেধ পূরণ করতে হবে, এবং হিসাবে বিবেচনা করা যেতে পারে সম্পর্ক.

ট্যাবুলার উপস্থাপনাটি একজন আমেরিকান গণিতবিদ দ্বারা প্রস্তাবিত হয়েছিল ই.এফ. কড 70 এর দশকের গোড়ার দিকে এবং 80 এর দশকের গোড়ার দিকে আইবিএম দ্বারা প্রয়োগ করা হয়েছিল। একটি দ্বি-মাত্রিক টেবিল সবচেয়ে একটি সহজ উপায়েব্যবহারকারী বা প্রোগ্রামারের কাছে ডেটা উপস্থাপনা।

"কর্মচারী" সম্পর্কের ট্যাবুলার উপস্থাপনা সারণি 1 এ দেখানো হয়েছে।

1 নং টেবিল। সম্পর্ক "কর্মচারী" - টেবিল "কর্মচারী"

RMD আনুষ্ঠানিক সম্পর্কযুক্ত পদ ব্যবহার করে যা অনানুষ্ঠানিক শব্দ দ্বারা প্রতিস্থাপিত হতে পারে। আনুষ্ঠানিক এবং অনানুষ্ঠানিক পদের মধ্যে চিঠিপত্র সারণি 2 এ উপস্থাপন করা হয়েছে।

টেবিল ২। অনানুষ্ঠানিক এবং আনুষ্ঠানিক RMD পদের মধ্যে চিঠিপত্র

মডেলটির একটি গুরুতর তাত্ত্বিক ভিত্তি রয়েছে - সেট তত্ত্ব এবং গাণিতিক যুক্তি।

রিলেশনাল মডেলের মৌলিক ধারণা:

- তথ্য প্রকার, মান;

- ডোমেইন;

- বৈশিষ্ট্য

- মোটরযান

- চাবি;

- মনোভাব

ধারণা ডেটা টাইপঅ্যালগরিদমিক ভাষায় ডেটা টাইপের ধারণার সমতুল্য। পারমাণবিক মানডেটা হল RMD-তে ডেটার ক্ষুদ্রতম অবিভাজ্য একক।

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

বৈশিষ্ট্যএকটি নামযুক্ত সম্পর্ক কলাম, কলাম উপাদানগুলির মান একই ডোমেন থেকে হতে হবে।

D 1, D 2,…,D N (অবশ্যই আলাদা নয়) ডোমেনের একটি সেট দেওয়া যাক।

কর্টেজসম্পর্ক হল N মানগুলির একটি সেট যা একটি কঠোরভাবে সংজ্ঞায়িত ক্রমে সাজানো হয় (d 1, d 2,...,d N), যেমন d 1 D 1 এর অন্তর্গত, d 2 D 2 এর অন্তর্গত এবং d N এর অন্তর্গত ডি এন থেকে একটি টিপলে উপাদানের সংখ্যাকে অ্যারিটি বলে।



সম্পূর্ণ কার্টেসিয়ান পণ্যডোমেনগুলি D 1 x D 2 x…x D N হল অ্যারিটি N এর সমস্ত সম্ভাব্য বিভিন্ন টিপলের একটি সেট, যেখানে টিপলের প্রতিটি উপাদান তার নিজস্ব ডোমেন থেকে নেওয়া হয় (উদাহরণ: D1(Nogr), D2(Fam_stud), D3(টাইপ ))।

অনুপাত, এই N ডোমেনগুলিতে সংজ্ঞায়িত, মূল ডোমেনের সম্পূর্ণ কার্টেসিয়ান পণ্যের একটি উপসেট।

সম্পর্কের চিত্রডোমেন বা অ্যাট্রিবিউটের ধরন নির্দেশ করে রিলেশন অ্যাট্রিবিউট নামের একটি তালিকার নাম দিন। গুণাবলীর সংখ্যা N-এর সমান হলে তারা বলে N-ary সম্পর্ক। রিলেশন স্কিমা - টেবিল হেডার সারি।

একটি প্রদত্ত রিলেশন স্কিমার সাথে সম্পর্কিত একটি টিপল হল (বিশিষ্ট নাম, মান) জোড়ার একটি সেট যাতে সম্পর্ক স্কিমার অন্তর্গত প্রতিটি অ্যাট্রিবিউট নামের একটি ঘটনা থাকে।

সম্পর্কের প্রাথমিক চাবিকাঠিএকটি অ্যাট্রিবিউট বা অ্যাট্রিবিউটের সেট যা একটি সম্পর্কের প্রতিটি টিপলকে স্বতন্ত্রভাবে সনাক্ত করে এবং নিশ্চিত করে যে সারিগুলি অনন্য। কীটি সহজ (একটি বৈশিষ্ট্য থেকে) বা জটিল (বেশ কয়েকটি বৈশিষ্ট্যের সমন্বয়ে গঠিত) হতে পারে।

একটি কী এর বৈশিষ্ট্য হল স্বতন্ত্রতা এবং ন্যূনতমতা। প্রতিটি সম্পর্কের জন্য, কমপক্ষে তার বৈশিষ্ট্যগুলির সম্পূর্ণ সেটের স্বতন্ত্রতা বৈশিষ্ট্য রয়েছে। কীটি ন্যূনতম হওয়া উচিত, যেমন কোন ক্ষেত্র অপ্রয়োজনীয় একটি সারি একটি সারি একটি কী থেকে অপসারণ শনাক্তকরণ বিরতি.

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

রিলেশনাল মডেলের সীমাবদ্ধতা(সারণী বৈশিষ্ট্য):

1. প্রতিটি টেবিলের স্বতন্ত্রভাবে নামকরণ করা হয়, একটি বাস্তব বস্তুর প্রতিনিধিত্ব করে বা বস্তুর মধ্যে একটি সম্পর্ককে সংজ্ঞায়িত করে এবং এটি সম্পর্কের টিপলগুলির সাথে সম্পর্কিত একই ধরণের সারি এবং সম্পর্কের বৈশিষ্ট্যগুলির সাথে সম্পর্কিত কলামগুলি নিয়ে গঠিত৷

2. প্রতিটি টেবিল উপাদান হতে হবে পারমাণবিক, অর্থাৎ অবিভাজ্য

3. সমস্ত সারিতে নির্দিষ্ট সংখ্যক ক্ষেত্র এবং মান সহ একই কাঠামো রয়েছে। একটি টেবিলে দুটি অভিন্ন সারি থাকতে পারে না (সম্পর্কের সংজ্ঞা থেকে অনুসরণ করে)। সারি অন্তত একটি মান একে অপরের থেকে পৃথক.

4. প্রতিটি কলাম একটি অনন্য নাম দেওয়া হয়. একই কলামের উপাদান হতে হবে সমজাতীয়,একটি ডোমেইন থেকে বের করা হয়েছে।

5. টেবিল অপারেশনে, সারি এবং কলাম যেকোনো ক্রমে দেখা যায়। টিপলের কোন অর্ডার নেই, তবে ডোমেনগুলি একটি সম্পর্কের মধ্যে অর্ডার করা হয়। কিন্তু যে ক্রমে নামযুক্ত কলামগুলি অ্যাক্সেস করা হয় তাও অপ্রাসঙ্গিক হয়ে ওঠে।

6. প্রতিটি টেবিল থাকতে হবে প্রাথমিক কী. কী আপনাকে টেবিলে একটি একক সারি খুঁজে পেতে দেয়। Tuples কী দ্বারা সূচিত করা হয়, যা ডেটা প্রক্রিয়াকরণের গতি বাড়ায়। কীগুলি যৌক্তিকভাবে টেবিল লিঙ্ক করতে ব্যবহৃত হয়।

একটি সংক্ষিপ্ত ফর্ম "কর্মচারী" টেবিল এন্ট্রি বা সম্পর্ক চিত্র"কর্মচারী" (সম্পর্কের প্রাথমিক কী আন্ডারলাইন করা হয়েছে):

কর্মচারী ( ট্যাব_সংখ্যা, পদবি, বিভাগ, জন্ম তারিখ, পদ, বেতন)

ভিতরে সাধারণ দৃষ্টিকোণসম্পর্ক ডায়াগ্রাম হিসাবে লেখা হয়

R(a 1 , a 2 , ..., a N), যেখানে a i হল R সম্পর্কের i-তম বৈশিষ্ট্যের নাম।

আরবিডিআন্তঃসংযুক্ত সম্পর্কের একটি সেট। আরডিবি সার্কিটডেটাবেস হিসাবে তথ্য এবং সম্পর্কের বর্তমান মানগুলি উপস্থাপন করতে ব্যবহৃত নামযুক্ত সম্পর্ক স্কিমার সেটটি দেখুন। শারীরিক উপস্থাপনায়, প্রতিটি সম্পর্ক একটি ডাটাবেস ফাইলের সাথে মিলে যায়, একটি সম্পর্কের একটি উদাহরণ একটি ডাটাবেস ফাইল রেকর্ডের সাথে মিলে যায় এবং সম্পর্ক বৈশিষ্ট্যগুলি একটি ডাটাবেস ফাইল রেকর্ডের ক্ষেত্রের সাথে মিলে যায়।

একটি সাবস্কেমা, ডাটাবেস স্কিমার একটি প্রক্ষেপণ, শুধুমাত্র সেই সম্পর্কগুলিকে ধারণ করে, এবং শুধুমাত্র সেই সম্পর্কগুলির বৈশিষ্ট্যগুলি যা অ্যাপ্লিকেশন প্রোগ্রামার দ্বারা একটি নির্দিষ্ট কাজ (কোয়েরি) সমাধানের জন্য ব্যবহার করা হয়।

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

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

আরএমডির বিশেষত্ব হল যে বস্তু এবং তাদের মধ্যে সম্পর্ক উভয়ই একক আকারে, টেবিলের আকারে উপস্থাপিত হয়।

অনুক্রমিক এবং নেটওয়ার্ক মডেলের বিপরীতে যোগাযোগমধ্যে সম্পর্ক বজায় রাখা হয় অন্তর্নিহিতভাবে. RMD বাইনারি সংযোগ সমর্থন করে যেমন "1:1", "1:M", "M:1"। প্রতিটি সংযোগে, একটি সম্পর্ক প্রধান হিসাবে কাজ করে (পাশ 1 থেকে), এবং অন্যটি অধস্তন (পাশ M থেকে)। এর মানে হল একটি প্রধান সম্পর্কের এক টুপল একটি অধস্তন সম্পর্কের একাধিক টিপলের সাথে যুক্ত হতে পারে।

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

সম্পর্কের মধ্যে যৌক্তিক সংযোগ স্থাপন করতে বিদেশী কী ব্যবহার করা হয়। প্রাথমিক কী প্রাথমিক সম্পর্কের একটি একক টিপলকে চিহ্নিত করে, এবং গৌণ কীটি অধস্তন সম্পর্কের টিপলের সেট সনাক্ত করে যা প্রাথমিক সম্পর্কের একটি একক টিপলের সাথে সম্পর্কিত।

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

মূল সম্পর্কের স্কিম "গ্রুপ":

গ্রুপ ( গ্রুপ নং, বিশেষত্ব)

অধস্তন সম্পর্কের পরিকল্পনা "ছাত্র":

ছাত্র ( নং_গ্রেডবুক, পদবি, জন্ম তারিখ, গ্রুপ নং)

(সম্পর্কের চিত্রগুলিতে, প্রাথমিক কীগুলি আন্ডারলাইন করা হয় এবং সেকেন্ডারি কীগুলি তির্যকগুলিতে থাকে)।

RMD DBMS-এর উদাহরণ: DBase, FoxPro, Clipper, Paradox, MS Access, Informix, Oracle, ইত্যাদি।

যেকোনো ডাটা স্ট্রাকচার দ্বি-মাত্রিক টেবিলে কমিয়ে আনা যায়। চলুন একটি রিলেশনাল ডাটাবেসে, চিত্রে দেখানো একটি শ্রেণিবিন্যাস MD রূপান্তর করার একটি উদাহরণ বিবেচনা করা যাক, যেমন আন্তঃসংযুক্ত সম্পর্কের একটি সেটে।

গাছের কাঠামোর প্রতিটি নোডের জন্য, একটি পৃথক সম্পর্ক তৈরি করা হয়, যেমন সম্পর্ক "বিভাগ", "কর্মচারী", "শ্রম_ক্রিয়াকলাপ", "শিশু", "কাজ" তৈরি করা হয়। একটি চাইল্ড নোডের সাথে সম্পর্কিত প্রতিটি সম্পর্ক উৎস নোডের শনাক্তকারীর সাথে যুক্ত করা হয়। ফলস্বরূপ, আমরা নিম্নলিখিত সম্পর্কগুলির সমন্বয়ে একটি রিলেশনাল ডাটাবেস পাই:

বিভাগ ( বিভাগ_সংখ্যা, নাম)

কর্মচারী ( ট্যাব_সংখ্যা, পদবি, বেতন, বিভাগ_সংখ্যা)

শ্রম_ক্রিয়াকলাপ ( অর্ডার নম্বর, অর্ডারের বিষয়বস্তু, ট্যাব_সংখ্যা)

শিশু ( শিশুর_নাম, ট্যাব_সংখ্যা , জন্ম তারিখ)

কাজ ( জব কোড, নাম, সমাপ্তির তারিখ, বিভাগ_সংখ্যা)

সুবিধাদিসম্পর্কীয় মডেল:

- মডেলের সরলতা এবং স্বচ্ছতা;

- বস্তু এবং সংযোগের প্রতিনিধিত্ব করার জন্য কাঠামোর একজাতীয়তা;

- ডাটাবেসের নির্দিষ্ট শারীরিক সংগঠন জানার প্রয়োজন ছাড়াই ডেটা ম্যানিপুলেট করার ক্ষমতা বাহ্যিক স্মৃতি;

- অপ্রশিক্ষিত ডাটাবেস ব্যবহারকারীদের দ্বারা অ-প্রক্রিয়াগত ক্যোয়ারী ভাষা ব্যবহার করার ক্ষমতা।

বিবেচিত ডেটা লজিক মডেলগুলি যেভাবে ব্যবহারকারীকে সম্পর্ককে প্রতিনিধিত্ব করতে এবং প্রক্রিয়া করার অনুমতি দেয় তার মধ্যে পার্থক্য রয়েছে।

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

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

গাণিতিক শাখায়, "টেবিল" ধারণাটি "সম্পর্ক" ধারণার সাথে মিলে যায়। টেবিল একটি বাস্তব বিশ্বের বস্তু প্রতিফলিত করে - সারাংশ, এবং প্রতিটি লাইন সত্তার একটি নির্দিষ্ট উদাহরণ প্রতিফলিত করে। প্রতিটি কলামের টেবিলের জন্য একটি অনন্য নাম রয়েছে।

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

একটি সম্পর্ক হল একটি দ্বি-মাত্রিক সারণী যাতে কিছু ডেটা থাকে।

সারাংশ- যে কোনো প্রকৃতির একটি বস্তু, যার তথ্য ডাটাবেসে সংরক্ষিত থাকে।

গুণাবলী- সত্তার বৈশিষ্ট্যযুক্ত বৈশিষ্ট্য (কলাম)। সম্পর্কের ডিগ্রি হল কলামের সংখ্যা।

সম্পর্কের চিত্র– বৈশিষ্ট্যের নামের একটি তালিকা, উদাহরণস্বরূপ, কর্মচারী (নম্বর, পুরো নাম, জন্ম সাল, পদ, বিভাগ).

ডোমেইনসম্পর্ক বৈশিষ্ট্য মানগুলির একটি সেট (ডেটা টাইপ)। আরো কঠোরভাবে বলতে গেলে, ডোমেইন এখানে সম্ভাব্য মান সেট।

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

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

    অনন্যতা:আপনি কিছু উপাদান অন্যদের সাথে তুলনা করতে পারেন এবং সদৃশ এড়াতে পারেন। একটি একক ডোমেনের জন্য এটি বলার অপেক্ষা রাখে না।

একটি ডোমেনের ধারণা সঠিকভাবে সাহায্য করে অনুকরণ এলাকা বিষয়

ডোমেইন এবং বৈশিষ্ট্য। কবৈশিষ্ট্যগুলি অবশ্যই ডোমেন-নির্দিষ্ট হতে হবে, বা "একটি ডোমেনে সংজ্ঞায়িত"। একটি ডোমেনে একাধিক বৈশিষ্ট্য সেট করা যেতে পারে।

মানের পারমাণবিকতা:বৈশিষ্ট্য মান সহজ হতে হবে, পারমাণবিক, যৌগিক নয়।

ডোমেনের স্বাভাবিকতা। ডি Omens একটি শব্দার্থিক লোড বহন আবশ্যক. একটি ডোমেনকে বর্ণনার পরামিতিগুলির একটি নির্দিষ্ট গ্রুপ হিসাবে বিবেচনা করা আরও কার্যকর এলাকা বিষয়, কিছু শব্দার্থিক ধারণা থেকে.

একটি নিয়ম হিসাবে, অনেক বিষয়ের ক্ষেত্র ইতিমধ্যেই বেশ আনুষ্ঠানিক এবং রেডিমেড ধারণা এবং রেফারেন্স বই রয়েছে।

বৈশিষ্ট্যগুলির মধ্যে অপ্রয়োজনীয় তুলনা সীমাবদ্ধ করুন -ডোমেনের মূল উদ্দেশ্য।

কর্টেজ- টেবিল সারি।

কার্ডিনালিটি (শক্তি)- টেবিলে সারির সংখ্যা।

পুরো নাম

জন্মসাল

কাজের শিরোনাম

বিভাগের কোড

ইভানভ আই.আই.

পেট্রোভ পি.পি.

প্রফেসর

সিডোরভ এস.এস.

ভাসিলিভ ভি.ভি.

ভভকিন ভি.ভি.

শিক্ষক

স্টেপানোভ এস.এস.

প্রফেসর

চিত্র 17. রিলেশনাল মডেলের উপাদান

একটি ডাটাবেসের ধারণাটি ক্ষেত্র, রেকর্ড, ফাইল (টেবিল) এর মতো কাঠামোগত উপাদানগুলির ধারণাগুলির সাথে ঘনিষ্ঠভাবে সম্পর্কিত।

    ক্ষেত্র , - তথ্যের যৌক্তিক সংগঠনের একটি প্রাথমিক ইউনিট, যা তথ্যের একটি অবিভাজ্য এককের সাথে মিলে যায় - একটি বিশদ। ক্ষেত্রটি বর্ণনা করতে নিম্নলিখিতগুলি ব্যবহার করা হয়: বৈশিষ্ট্য :

    নাম , উদাহরণ স্বরূপ। পদবি, প্রথম নাম, পৃষ্ঠপোষকতা, জন্ম তারিখ;

    টাইপ , উদাহরণস্বরূপ, প্রতীকী, সংখ্যাসূচক, ক্যালেন্ডার;

    দৈর্ঘ্য , উদাহরণস্বরূপ, 15 বাইট, এবং অক্ষরের সর্বাধিক সম্ভাব্য সংখ্যা দ্বারা নির্ধারিত হবে

    সঠিকতা , সংখ্যাসূচক তথ্যের জন্য, যেমন একটি সংখ্যার ভগ্নাংশ দেখানোর জন্য দুটি দশমিক স্থান।

রেকর্ড- যৌক্তিকভাবে সম্পর্কিত ক্ষেত্রগুলির একটি সেট। একটি রেকর্ডের উদাহরণ হল একটি রেকর্ডের একটি পৃথক বাস্তবায়ন যা এর ক্ষেত্রের জন্য নির্দিষ্ট মান রয়েছে।

ফাইল(টেবিল) - একই কাঠামোর রেকর্ডের উদাহরণগুলির একটি সংগ্রহ।

একটি রিলেশনাল ডেটা মডেলের একটি টেবিলকে একই ধরণের বস্তুর একটি শ্রেণী হিসাবে বিবেচনা করা যেতে পারে .

সুতরাং, একই শ্রেণীর বস্তুর জন্য বৈশিষ্ট্যগুলির সেট একই হবে, যদিও প্রতিটি বস্তুর জন্য এই বৈশিষ্ট্যগুলির মান অবশ্যই আলাদা হতে পারে।

রিলেশনাল ডেটা মডেলে ডেটা প্রকার অনুমোদিত৷

ডেটা মডেলগুলিতে ব্যবহৃত প্রধান ডেটা প্রকারগুলি:

সংক্ষিপ্ত পূর্ণসংখ্যা - সংক্ষিপ্ত পূর্ণসংখ্যা;

দীর্ঘ পূর্ণসংখ্যা - দীর্ঘ পূর্ণসংখ্যা;

ভাসা - বাস্তব সংখ্যা (ফ্লোটিং পয়েন্ট নম্বর);

ডাবল - বাস্তব সংখ্যা (ফ্লোটিং পয়েন্ট সংখ্যা) দ্বিগুণ নির্ভুলতা;

পাঠ্য - পাঠ্য ডেটা টাইপ;

যৌক্তিক - যৌক্তিক (হ্যাঁ/না);

ডেটা - অস্থায়ী। মানটি নির্দিষ্ট বিন্যাসে একটি সীমাবদ্ধ তারিখ হিসাবে সংজ্ঞায়িত করা হয়;

ব্লব - বড় বাইনারি অবজেক্ট (বাইনারী বড় বস্তু - BLOB), যা সীমাহীন আকারের ডেটা সংরক্ষণ করতে পারে। এই ধরনের ক্ষেত্রগুলি আপনাকে মাত্রাবিহীন নির্বিচারে বাইনারি তথ্য সংরক্ষণ করার অনুমতি দেয়।

মূল উপাদান ডেটার (প্রাথমিক কী) একটি উপাদান যা থেকে অন্যান্য ডেটা উপাদানগুলির মান নির্ধারণ করা যায়। একটি বস্তু স্বতন্ত্রভাবে দুই বা ততোধিক ডেটা মান দ্বারা চিহ্নিত করা যেতে পারে।

প্রাথমিক কীএটি এমন একটি বৈশিষ্ট্য যা অনন্যভাবে একটি সম্পর্কের সারি চিহ্নিত করে। একাধিক বৈশিষ্ট্যের সমন্বয়ে গঠিত একটি প্রাথমিক কীকে কম্পোজিট কী বলা হয়। প্রাথমিক কী সম্পূর্ণ বা আংশিকভাবে খালি হতে পারে না (মানটি নাল থাকে)।

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

প্রাথমিক কী হিসাবে ব্যবহার করা যেতে পারে এমন কীগুলিকে বলা হয় সম্ভাব্যবা বিকল্পচাবি.

বাহ্যিক কী -টেবিল লিঙ্ক পরিবেশন করে। এগুলি একটি টেবিলের মান যা অন্যের সাথে অনন্যভাবে লিঙ্ক করা যেতে পারে। আরও স্পষ্টভাবে, একটি সম্পর্কের জন্য, একটি বিদেশী কী হল পূর্বনির্ধারিত বৈশিষ্ট্যগুলির একটি সেট

বাহ্যিক কী -একটি টেবিলের একটি বৈশিষ্ট্য(গুলি) যা অন্য টেবিলের প্রাথমিক কী হিসাবে কাজ করতে পারে। এটি অন্য টেবিলের প্রাথমিক কী (চিত্র 18) এর একটি লিঙ্ক।

চিত্র 18. সম্পর্ক সংযোগ

সম্পর্ক ছাত্র (নাম, গোষ্ঠী, বিশেষত্ব)এবং আইটেম (নাম Pr, ঘড়ি)সম্পর্ক দ্বারা সংযুক্ত STUDENT_SUBJECT (পুরো নাম, জনসংখ্যার নাম, গ্রেড), যা বিদেশী কী পুরো নামএবং Name_Prএকটি যৌগিক কী গঠন করুন।

ডাটাবেস যদি তারা এই মডেলের উপর ভিত্তি করে। একটি ডেটা মডেল থাকার ফলে আপনি একটি সাধারণ ভাষা ব্যবহার করে নির্দিষ্ট বাস্তবায়ন তুলনা করতে পারবেন।

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

সাধারন গুনাবলি

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

মডেলের কাঠামোগত অংশে এটি স্থির করা হয়েছে যে একমাত্র জেনেরিক কাঠামো 7 এই বক্তৃতায় এটি দ্বিতীয়বার যে স্বাভাবিকীকৃত n -ary সম্পর্কটি রিলেশনাল ডেটাবেসে ব্যবহৃত একমাত্র জেনেরিক ডেটা কাঠামো। শব্দটি দ্বারা আমরা কী বুঝি তা স্পষ্ট করার সময় এসেছে জেনেরিক গঠন. বিস্তৃত টাইপ সিস্টেমের সাথে প্রোগ্রামিং ল্যাঙ্গুয়েজগুলিতে সাধারণত গঠন বলা হয় জেনেরিক প্রকার, প্যারামিটারাইজযোগ্য প্রকার, টাইপ কনস্ট্রাক্টর, টাইপ জেনারেটরইত্যাদি, এর বিমূর্ত (সাধারণত পূর্বনির্ধারিত) স্পেসিফিকেশনের উপর ভিত্তি করে একটি নির্দিষ্ট ডেটা টাইপ তৈরি করার অনুমতি দেয়। এই ধরনের বিশেষত্ব হল যে একটি নির্দিষ্ট ধরনের প্রধান অপারেশন এই বিমূর্ত স্পেসিফিকেশন স্তরে সংজ্ঞায়িত করা হয়. সবচেয়ে বিখ্যাত উদাহরণ এক সেট টাইপ, উদাহরণস্বরূপ, প্যাসকেল ভাষায়। কখন রিলেশনাল ডেটা মডেলআমরা স্পষ্টভাবে বলি না যে একটি সম্পর্ক একটি সাধারণ প্রকার, তবে মূলত এটিই এটি। সম্পর্কীয় বীজগণিতের ক্রিয়াকলাপবিমূর্ত সম্পর্ক স্তরে সংজ্ঞায়িত করা হয় এবং কংক্রিট শিরোনাম সহ যেকোন সম্পর্ক-মানগুলিতে প্রযোজ্য।রিলেশনাল ডাটাবেসে ব্যবহৃত ডেটা হল নর্মালাইজড এন-আরি রিলেশন। ডোমেন, অ্যাট্রিবিউট, টিপলস, হেডার, বডি এবং এর ধারণা সম্পর্ক পরিবর্তনশীল. প্রকৃতপক্ষে, এই বক্তৃতার পূর্ববর্তী দুটি বিভাগে আমরা কাঠামোগত উপাদানের ধারণা এবং বৈশিষ্ট্যগুলিকে সুনির্দিষ্টভাবে বিবেচনা করেছি। রিলেশনাল মডেল.

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

সত্তা এবং রেফারেন্স অখণ্ডতা

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

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

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

এডগার কড এই ধরনের ক্ষেত্রে ব্যবহার করার পরামর্শ দিয়েছেন অনির্ধারিত মান. অনির্ধারিত মানকোন ডাটা টাইপের অন্তর্গত নয় এবং যেকোন ডাটা টাইপের সংজ্ঞায়িত যেকোন অ্যাট্রিবিউটের মানগুলির মধ্যে উপস্থিত থাকতে পারে (যদি না অ্যাট্রিবিউটটি সংজ্ঞায়িত করা হয় তখন স্পষ্টভাবে নিষিদ্ধ করা হয়)। a যদি কিছু ডেটা টাইপের মান হয় বা NULL, op হল সেই ডেটা টাইপের যেকোন দুই-স্থানের "পাটিগণিত" অপারেশন (উদাহরণস্বরূপ, + ), এবং lopএই ধরনের মান তুলনা করার একটি অপারেশন (উদাহরণস্বরূপ, = ), তারপর সংজ্ঞা দ্বারা:

a op NULL = NULL NULL op a = NULL a lop NULL = অজানা NULL lop a = অজানা

এখানে অজানা তৃতীয় বুলিয়ান মান, বা বুলিয়ান, টাইপ, নিম্নলিখিত বৈশিষ্ট্য আছে:

অজানা = অজানা সত্য এবং অজানা = অজানা সত্য বা অজানা = সত্য মিথ্যা এবং অজানা = মিথ্যা মিথ্যা বা অজানা = অজানা

(মনে রাখবেন যে AND এবং OR অপারেশনগুলি পরিবর্তনশীল) 8 লেখকের অভিজ্ঞতা যেমন দেখায়, সমস্ত শিক্ষার্থী মৌলিক লজিক্যাল অপারেশন মনে রাখে না। গ্যারান্টি দেওয়ার জন্য, আমরা ক্রিয়াকলাপগুলির জন্য সত্য সারণী উপস্থাপন করি AND (& – সংযোগ), OR ( – disjunction) এবং NOT ( – negation):

এবং সত্য মিথ্যা বা সত্য মিথ্যা না সত্য মিথ্যা
সত্য সত্য মিথ্যা সত্য সত্য সত্য মিথ্যা সত্য
মিথ্যা মিথ্যা মিথ্যা মিথ্যা সত্য মিথ্যা

. এই বক্তৃতায়, নিম্নলিখিত সংক্ষিপ্ত ভূমিকা অনির্ধারিত মান, কিন্তু নিম্নলিখিত লেকচারগুলিতে আমরা এই বিষয়ে বেশ কয়েকবার ফিরে যাব।

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

দ্বিতীয় প্রয়োজন, যা বলা হয় রেফারেন্সিয়াল অখণ্ডতার প্রয়োজনীয়তা, আরো জটিল। স্পষ্টতই, যদি সম্পর্কগুলি স্বাভাবিক করা হয়, বাস্তব জগতের জটিল সত্তাগুলি একটি রিলেশনাল ডাটাবেসে বিভিন্ন সম্পর্কের কয়েকটি টিপলের আকারে উপস্থাপন করা হয়। উদাহরণস্বরূপ, কল্পনা করুন যে আপনি প্রতিনিধিত্ব করতে চান সম্পর্কিত তথ্য ভাণ্ডার DEPARTMENT_NUMBER (বিভাগ নম্বর), DEPARTMENT_SIZE (কর্মচারীর সংখ্যা) এবং DEPARTMENT_SLU (বিভাগের কর্মচারীদের সেট) বৈশিষ্ট্য সহ DEPARTMENT সত্তা। প্রতিটি কর্মচারীর জন্য, আপনাকে SLU_NUMBER (কর্মচারী নম্বর), SLU_NAME (কর্মচারীর নাম) এবং SLU_SARP (কর্মচারীর বেতন) সংরক্ষণ করতে হবে। আমরা অধ্যায় 7 এ দেখব, যদি উপযুক্ত ডাটাবেসটি সঠিকভাবে ডিজাইন করা হয়, তাহলে দুটি সম্পর্ক এতে উপস্থিত হবে: DEPARTMENTS (DEPARTMENT_NUMBER, DEPARTMENT_SIZE)(প্রাথমিক কী – (DOT_NUMBER)) এবং কর্মচারী (SERV_NUMBER, SLU_NAME, SLU_ZARP, SLU_DEPARTMENT_NOM)(প্রাথমিক কী – (SLN_NUMBER))।

আপনি দেখতে পাচ্ছেন, SLU_DEPARTMENT_NOM বৈশিষ্ট্যটি কর্মচারীদের সম্পর্কের মধ্যে প্রবর্তন করা হয়েছে কারণ বিভাগ নম্বরটি কর্মচারীর নিজস্ব সম্পত্তি নয়, তবে শুধুমাত্র প্রয়োজনে, সম্পূর্ণ ডিপার্টমেন্ট সত্তা পুনরুদ্ধার করতে সক্ষম হওয়ার জন্য। EMPLOYEES সম্পর্কের যেকোনো টিপলে SLU_DEPARTMENT_NOM অ্যাট্রিবিউটের মান অবশ্যই DEPARTMENTS সম্পর্কের কিছু টিপলে DEPARTMENT_NOM অ্যাট্রিবিউটের মানের সাথে মিলে যাবে। এই ধরনের একটি বৈশিষ্ট্য (সম্ভবত যৌগিক) বলা হয় বিদেশী চাবি, যেহেতু এর মানগুলি অন্য কিছু সম্পর্কের টিপল দ্বারা উপস্থাপিত সত্তাগুলিকে স্বতন্ত্রভাবে চিহ্নিত করে (যেমন, তারা তাদের মানগুলি নির্দিষ্ট করে প্রাথমিক কী) অবশ্যই, একটি বিদেশী কী যৌগিক হতে পারে, অর্থাৎ এটি বেশ কয়েকটি বৈশিষ্ট্য নিয়ে গঠিত হতে পারে। একটি সম্পর্ক যেখানে একটি বিদেশী কী সংজ্ঞায়িত করা হয় তাকে একটি সংশ্লিষ্ট সম্পর্ককে বোঝানো হয় যেখানে একই বৈশিষ্ট্য প্রাথমিক কী.

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

মনে রাখবেন, প্রাথমিক কীর মতো,

আধুনিক তথ্য ব্যবস্থার সিংহভাগই একটি রিলেশনাল মডেলের আকারে উপস্থাপিত ডেটার উপর ভিত্তি করে। রিলেশনাল ডেটা মডেলের প্রধান ধারণাগুলি হল:

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

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

তথ্য মডেল -এটি ডেটা স্ট্রাকচার এবং তাদের প্রসেসিং অপারেশনগুলির একটি সেট।

রিলেশনাল মডেল- বিষয় এলাকার জন্য একটি ডেটা উপস্থাপনা মডেল, সম্পর্কীয় সম্পর্কের উপর নির্মিত। কে.জে. তারিখ অনুসারে, রিলেশনাল ডেটা মডেল তিনটি দিক বর্ণনা করে: কাঠামোগত, সামগ্রিক ম্যানিপুলেশন:

· কাঠামোগত - মডেলের ডেটা সম্পর্কের একটি সেট।

· হোলিস্টিক - সম্পর্কগুলি অখণ্ডতার কিছু শর্ত পূরণ করে। (ডোমেন (ডেটা টাইপ) স্তর, সম্পর্ক স্তর এবং ডাটাবেস স্তরে ঘোষণামূলক অখণ্ডতার সীমাবদ্ধতা)।

· ম্যানিপুলেশন (প্রসেসিং) - মডেলটি রিলেশন ম্যানিপুলেশন অপারেটরকে সমর্থন করে (রিলেশনাল অ্যালজেব্রা, রিলেশনাল ক্যালকুলাস)।

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

বৈশিষ্ট্য- একটি বিষয় এলাকা বস্তুর একটি তথ্য প্রদর্শন (বৈশিষ্ট্য, সম্পত্তি), এটি বর্ণনা করতে ব্যবহৃত হয়, বৈধ মানগুলির একটি সেট থেকে একটি নির্দিষ্ট মান গ্রহণ করে। প্রতিটি বৈশিষ্ট্যের একটি নাম রয়েছে যা ডেটা উল্লেখ করতে ব্যবহৃত হয়। একটি সম্পর্কের মধ্যে বৈশিষ্ট্যের নাম অনন্য। যে. একটি সম্পর্ক বৈশিষ্ট্যের একটি সেট প্রতিনিধিত্ব করে। একটি ব্যবহারিক স্তরে, একটি বৈশিষ্ট্য হল একটি টেবিল ক্ষেত্র।

সম্পর্কের চিত্র-সম্পর্ক বৈশিষ্ট্য নামের একটি সম্পূর্ণ তালিকা.

টুপল -একটি সম্পর্ক উপাদান যা একটি বাস্তব বিশ্বের বস্তুর একটি দ্ব্যর্থহীন উপস্থাপনা ধারণ করে, হাইলাইট গুণাবলী একটি ব্যবহারিক স্তরে, একটি টিপল একটি টেবিলের একটি রেকর্ড।

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

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

সম্পর্কের মধ্যে যৌক্তিক সংযোগ স্থাপন করার সময়, আমরা ব্যবহার করি চার ধরনের সংযোগ :

· একের পর এক- সম্পর্কের প্রাথমিক কীগুলির মধ্যে প্রতিষ্ঠিত। এই ক্ষেত্রে, একটি সম্পর্কের প্রতিটি টিপল অন্য সম্পর্কের শুধুমাত্র একটি টিপলের সাথে মিলবে।

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

· অনেক থেকে এক- একটি সম্পর্কের বিদেশী কী এবং অন্য সম্পর্কের প্রাথমিক কীর মধ্যে প্রতিষ্ঠিত। এই ক্ষেত্রে, একটি সম্পর্কের একাধিক টিপল অন্য সম্পর্কের শুধুমাত্র একটি টিপলের সাথে মিলিত হবে।

· অনেক থেকে অনেক - বিদেশী মূল সম্পর্কের মধ্যে প্রতিষ্ঠিত। তদুপরি, একটি সম্পর্কের যে কোনও টিপল অন্য সম্পর্কের একাধিক টিপলের সাথে মিলিত হতে পারে।

লেকচার 12

রিলেশনাল ডেটা মডেল।

স্বাভাবিককরণ। সাধারণ ফর্ম।

প্রযুক্তি একটি ধারণাগত ডাটাবেস মডেলকে একটি রিলেশনাল ডেটা মডেলে ম্যাপিং করে

1. রিলেশনাল ডেটা মডেলের মৌলিক ধারণা

পূর্ববর্তী লেকচারে যেমন দেখানো হয়েছিল, একটি রিলেশনাল ডেটা মডেল সংজ্ঞায়িত করার জন্য, ডেটার গঠন, কীভাবে এটিকে ম্যানিপুলেট করা যায় এবং অখণ্ডতার সীমাবদ্ধতাগুলি ঘোষণা করা প্রয়োজন (স্লাইড 2).

1.1। রিলেশনাল মডেলের কাঠামোগত উপাদান

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

1) নন-প্রোগ্রামার ব্যবহারকারীর কাছে বোধগম্য;

2) আপনাকে সহজেই স্কিমা পরিবর্তন করতে দেয় - সংশ্লিষ্ট সাবস্কেমগুলি পরিবর্তন না করেই নতুন ডেটা উপাদান এবং রেকর্ড সংযুক্ত করুন;

3) অপ্রত্যাশিত অনুরোধগুলি পরিচালনা করার সময় প্রয়োজনীয় নমনীয়তা প্রদান করে।

উপরন্তু, যেকোনো নেটওয়ার্ক বা শ্রেণীবিন্যাস ডায়াগ্রাম দ্বি-মাত্রিক সম্পর্ক দ্বারা প্রতিনিধিত্ব করা যেতে পারে।

রিলেশনাল মডেলের একটি প্রধান সুবিধা হল এর একজাতীয়তা। সমস্ত ডেটা টেবিলে সংরক্ষিত বলে মনে করা হয় যেখানে প্রতিটি সারির একই বিন্যাস রয়েছে। টেবিলের প্রতিটি সারি কিছু বাস্তব-বিশ্বের বস্তু বা বস্তুর মধ্যে সম্পর্ক উপস্থাপন করে। মডেলের ব্যবহারকারীকে অবশ্যই নিজের জন্য সিদ্ধান্ত নিতে হবে যে সংশ্লিষ্ট বাস্তব-বিশ্বের সত্তাগুলি সমজাতীয় কিনা। এটি উদ্দেশ্যযুক্ত অ্যাপ্লিকেশনের জন্য মডেলের উপযুক্ততার সমস্যার সমাধান করে।

প্রধান ধারণা যার দ্বারা রিলেশনাল মডেল সংজ্ঞায়িত করা হয় তা হল: ডোমেইন, রিলেশন, টিপল, কার্ডিনালিটি, অ্যাট্রিবিউটস, ডিগ্রী, প্রাথমিক কী।ধারণাগুলির মধ্যে সম্পর্কটি স্লাইডে চিত্রিত করা হয়েছে (স্লাইড 3).

ডোমেইনমানগুলির একটি সেট যা থেকে একটি নির্দিষ্ট সম্পর্কের সংশ্লিষ্ট বৈশিষ্ট্যগুলির মানগুলি নেওয়া হয়। প্রোগ্রামিং পরিভাষায়, একটি ডোমেন হল একটি সিস্টেম-সংজ্ঞায়িত (স্ট্যান্ডার্ড) বা ব্যবহারকারী-সংজ্ঞায়িত ডেটা টাইপ।

প্রাথমিক কীএকটি কলাম বা কলামের কিছু উপসেট যা অনন্য, যেমন সারিগুলিকে স্বতন্ত্রভাবে সংজ্ঞায়িত করে একটি প্রাথমিক কী যাতে একাধিক কলাম থাকে তাকে একাধিক কী, বা প্রাথমিক কী, বা একটি প্রাথমিক কী বলা হয়। অবজেক্ট ইন্টিগ্রিটি রুল বলে যে একটি প্রাথমিক কী সম্পূর্ণ বা আংশিকভাবে খালি হতে পারে না, যেমন শূন্য হতে

অবশিষ্ট কীগুলি, যা প্রাথমিক কী হিসাবেও ব্যবহার করা যেতে পারে, বলা হয় সম্ভাব্য বা বিকল্পচাবি

সত্তাকে প্রাথমিক কী বরাদ্দ করার নিয়মগুলি তৈরি করা যাক:

1) প্রাথমিক কী আবশ্যক স্বতন্ত্রভাবে সনাক্ত করাকোনো সত্তার কোনো উদাহরণ।

2) যদি সম্ভব হয়, প্রাথমিক কী হওয়া উচিত সবচেয়ে কমপ্যাক্টথেকেসমস্ত সম্ভাব্য কীগুলির মধ্যে, প্রাথমিক কীগুলির জন্য সেরা ডেটা টাইপ হল পূর্ণসংখ্যা।

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

4)। প্রাথমিক কী মান ঘন ঘন পরিবর্তন সাপেক্ষে করা উচিত নয়.আদর্শভাবে, ডোমেনের ব্যবসায়িক যুক্তি এমন যে এই মানগুলি মোটেও পরিবর্তন হওয়ার কথা নয়।

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

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

বাহ্যিক কীএকটি কলাম বা একটি টেবিলের উপসেট যা অন্য টেবিলের জন্য একটি প্রাথমিক কী হিসাবে কাজ করতে পারে। বাহ্যিক কীটেবিল অন্য টেবিলের প্রাথমিক কী এর একটি রেফারেন্স। রেফারেন্সিয়াল ইন্টিগ্রিটি নিয়ম বলে যে একটি বিদেশী কী হয় খালি হতে পারে বা এটি যে প্রাথমিক কীটিকে নির্দেশ করে তার সাথে মেলে। বিদেশী কীগুলি রিলেশনাল মডেলের একটি অবিচ্ছেদ্য অংশ কারণ তারা ডাটাবেস টেবিলের মধ্যে সম্পর্ক বাস্তবায়ন করে।

একটি বিদেশী কী, একটি প্রাথমিক কীর মতো, কলামগুলির সংমিশ্রণও হতে পারে। অনুশীলনে, একটি বিদেশী কী সর্বদা একটি যৌগিক (একাধিক কলাম সমন্বিত) হবে যদি এটি অন্য টেবিলে একটি যৌগিক প্রাথমিক কী উল্লেখ করে। স্পষ্টতই, প্রাথমিক এবং বিদেশী কীগুলিতে কলামের সংখ্যা এবং তাদের ডেটা প্রকারগুলি একই।

যদি একটি টেবিল অন্যান্য বেশ কয়েকটি টেবিলের সাথে সম্পর্কিত হয় তবে এতে একাধিক বিদেশী কী থাকতে পারে।

রিলেশনাল মডেলের ধারণাগুলি লেখকদের দ্বারা প্রবর্তিত বিশেষ পরিভাষা উপস্থাপন করে তাত্ত্বিক ভিত্তি, তবে, তাদের আরও পরিচিত অ্যানালগ রয়েছে (কিন্তু সব ক্ষেত্রে সমতুল্য নয়!), যার চিঠিপত্র নিম্নলিখিত টেবিলে দেওয়া হয়েছে ( স্লাইড 4 ).

12.1.2। সম্পর্কীয় মডেলের নিয়ন্ত্রণ উপাদান

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

12.1.3। তথ্য অখণ্ডতা ( স্লাইড 5)

ডোমেন-স্তরের অখণ্ডতা

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

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

ডোমেইন এর মূল উদ্দেশ্য হল তারা সীমিত তুলনা।বিভিন্ন ডোমেনের মানগুলির তুলনা করা যৌক্তিকভাবে ভুল, এমনকি যদি তারা একই ধরণের হয়। তাই ডোমেনের ধারণা সঠিকভাবে সাহায্য করে অনুকরণএলাকা বিষয়।

সম্পর্কের স্তরে সততা

সম্ভাব্য কীগুলি একমাত্র হিসাবে পরিবেশন করে টিপল স্তরে সম্বোধনের মাধ্যমসম্পর্কে আবদ্ধ। শুধুমাত্র একটি টিপলের প্রার্থী কী-এর মান জেনে একজনকে সেই টিপলটি সঠিকভাবে নির্দিষ্ট করতে দেয়।

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

সাধারণত, অজানা বা অসম্পূর্ণ ডেটার পরিস্থিতির জন্য, তথাকথিত ডেটা টাইপগুলির সাথে পরিপূরকখালি- যত্ন

খালি -মান হল এক ধরণের সূচক যে মানটি অজানা। ব্যবহার সমস্যাখালি - রিলেশনাল ডাটাবেসের তত্ত্বের মানগুলি সম্পূর্ণরূপে সমাধান করা হয়নি। আধুনিক রিলেশনাল ডিবিএমএস-এর প্রায় সব বাস্তবায়নই ব্যবহারের অনুমতি দেয়খালি -মানগুলি, তাদের অপর্যাপ্ত তাত্ত্বিক ন্যায্যতা সত্ত্বেও।

সম্পর্কের অখণ্ডতার নিয়ম পড়ে: প্রতিটি সম্পর্কের অন্তত একটি প্রার্থী কী থাকতে হবে যার উপাদান বৈশিষ্ট্যগুলি গ্রহণ করতে পারে নাখালি - মান এই প্রার্থী কীটিকে সম্পর্কের সাথে সম্পর্কিত টেবিলের প্রাথমিক কী হিসাবে ঘোষণা করা হয়।

এটি লক্ষ করা উচিত যে বেশিরভাগ ডিবিএমএস আপনাকে প্রাথমিক কী ছাড়াই টেবিল তৈরি করতে দেয়। যাইহোক, অনুশীলনে সম্পর্কের অখণ্ডতার নিয়ম লঙ্ঘন অবিলম্বে নিজেকে অনুভব করে। উদাহরণস্বরূপ, একটি DBMS এর জন্যমাইক্রোসফট এসকিউএল সার্ভারের পক্ষে প্রযুক্তি ব্যবহার করে ডেটা অ্যাক্সেস করা অসম্ভব হয়ে উঠবে OLE DB প্রদানকারী।

বিদেশী কী অখণ্ডতা (ডাটাবেস স্তরের অখণ্ডতা)

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

একটি বিদেশী কী সাধারণত অনন্যতার সম্পত্তি নেই।এটি যেমন হওয়া উচিত, যেহেতু একটি শিশু সম্পর্কের একই টিপলকে অভিভাবক সম্পর্কের ক্ষেত্রে উল্লেখ করে একাধিক টিপল থাকতে পারে, যা প্রকৃতপক্ষে, "এক-থেকে-অনেক" সম্পর্কের মধ্যে সম্পর্কের ধরন দেয় . এটি একটি প্রমিত ধরনের লিঙ্ক যা রেফারেন্সিয়াল অখণ্ডতা রক্ষা করে। যদি বিদেশী কীটির এখনও স্বতন্ত্রতার সম্পত্তি থাকে, তবে সম্পর্কের মধ্যে সম্পর্কটি "এক-টু-ওয়ান" ধরণের হয়। .

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

খালি -বিদেশী কী বৈশিষ্ট্যগুলির জন্য মানগুলি তখনই বৈধ হয় যখন বিদেশী কী বৈশিষ্ট্যগুলি কোনও প্রার্থীর কী-এর অংশ নয়৷

যেহেতু বিদেশী কীগুলি আসলে একটি ভিন্ন (বা একই) সম্পর্কের টিপলের রেফারেন্স হিসাবে কাজ করে, তাই এই রেফারেন্সগুলি অস্তিত্বহীন বস্তুর দিকে নির্দেশ করা উচিত নয়।

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

12.1.4। Codd এর নিয়ম

সাধারণভাবে, রিলেশনাল মডেলের ধারণাটি নিম্নলিখিত বারোটি কোড নিয়ম দ্বারা সংজ্ঞায়িত করা হয় ( স্লাইড 6 ):

1.তথ্য বিধি. ডাটাবেসের সমস্ত তথ্য একচেটিয়াভাবে যৌক্তিক স্তরে এবং শুধুমাত্র একটি উপায়ে সরবরাহ করতে হবে - সারণীতে থাকা মানগুলির আকারে।

2.নিশ্চিত প্রবেশাধিকার নিয়ম. একটি রিলেশনাল ডাটাবেসের প্রতিটি ডেটা উপাদানের (পারমাণবিক মান) যৌক্তিক অ্যাক্সেস অবশ্যই টেবিলের নাম, প্রাথমিক কী এবং কলামের নামের সমন্বয় ব্যবহার করে প্রদান করতে হবে।

3.অবৈধ মান সমর্থন নিয়ম. একটি রিলেশনাল ডাটাবেসকে অবশ্যই অবৈধ মানগুলিকে সমর্থন করতে হবে যা একটি শূন্য-দৈর্ঘ্যের অক্ষর স্ট্রিং, একটি হোয়াইটস্পেস স্ট্রিং, শূন্য বা অন্য কোনো সংখ্যা থেকে আলাদা এবং সেই ডেটার প্রকার নির্বিশেষে অনুপস্থিত ডেটা উপস্থাপন করতে ব্যবহৃত হয়।

4.রিলেশনাল মডেলের উপর ভিত্তি করে ডাইনামিক ডিরেক্টরি নিয়ম. ডাটাবেসের যৌক্তিক-স্তরের বিবরণ অবশ্যই মাস্টার ডেটার মতো একই আকারে উপস্থাপন করা উচিত যাতে উপযুক্ত অধিকার সহ ব্যবহারকারীরা মাস্টার ডেটার সাথে কাজ করার জন্য যে রিলেশনাল ভাষা ব্যবহার করে তা ব্যবহার করে এটির সাথে কাজ করতে পারে।

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

6. আপডেট নিয়ম দেখুন। তাত্ত্বিকভাবে আপডেট করা যেতে পারে এমন সমস্ত দৃশ্য আপডেট করার জন্য উপলব্ধ হওয়া উচিত।

7. যোগ, আপডেট এবং মুছে ফেলার নিয়ম। একটি একক অপারেন্ড হিসাবে একটি সম্পর্কের সাথে কাজ করার ক্ষমতা শুধুমাত্র ডেটা পড়ার সময়ই নয়, ডেটা যোগ করার, আপডেট করার এবং মুছে ফেলার সময়ও থাকতে হবে।

8. শারীরিক ডেটা স্বাধীনতার নিয়ম। ডেটার সাথে কাজ করার জন্য অ্যাপ্লিকেশন প্রোগ্রাম এবং ইউটিলিটিগুলিকে অবশ্যই যৌক্তিক স্তরে অক্ষত থাকতে হবে, ডেটা সঞ্চয় বা অ্যাক্সেস করার উপায়ে কোনও পরিবর্তন নির্বিশেষে।

9. যৌক্তিক ডেটা স্বাধীনতার নিয়ম। অ্যাপ্লিকেশন প্রোগ্রাম এবং ডেটা ইউটিলিটিগুলি অবশ্যই যৌক্তিকভাবে অক্ষত থাকতে হবে যখন অন্তর্নিহিত টেবিলগুলিতে কোনও পরিবর্তন করা হয় যা তাত্ত্বিকভাবে সেই টেবিলগুলিতে থাকা ডেটা অক্ষতভাবে সংরক্ষণ করে।

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

11. প্রচারের শাসনের স্বাধীনতা। একটি রিলেশনাল ডিবিএমএস একটি নির্দিষ্ট ক্লায়েন্টের চাহিদার উপর নির্ভর করা উচিত নয়।

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

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

নিয়ম 3 এর জন্য প্রয়োজন যে অনুপস্থিত ডেটা অবৈধ মান ব্যবহার করে উপস্থাপন করা যেতে পারে (খালি) .

নিয়ম 4 বলে যে একটি রিলেশনাল ডাটাবেস অবশ্যই নিজেকে বর্ণনা করতে হবে। অন্য কথায়, ডাটাবেসে অবশ্যই একটি সেট থাকতে হবে সিস্টেম টেবিল,ডাটাবেসের গঠন নিজেই বর্ণনা করে।

নিয়ম 5 ডিবিএমএস-এর একটি রিলেশনাল ডাটাবেস ভাষা ব্যবহার করতে হবে, যেমনএসকিউএল . এই ধরনের একটি ভাষা অবশ্যই একটি DBMS-এর সমস্ত প্রধান ফাংশনকে সমর্থন করবে - একটি ডাটাবেস তৈরি করা, ডেটা পড়া এবং প্রবেশ করানো, ডাটাবেসের নিরাপত্তা প্রয়োগ করা ইত্যাদি।

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

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

নিয়ম 8 এবং 9 এর অর্থ নিম্ন-স্তরের ডাটাবেস বাস্তবায়ন থেকে ব্যবহারকারী এবং অ্যাপ্লিকেশন প্রোগ্রামকে আলাদা করা। তারা যুক্তি দেয় যে ডিবিএমএসে ব্যবহৃত নির্দিষ্ট সঞ্চয়স্থান বা অ্যাক্সেস বাস্তবায়ন এবং এমনকি ডাটাবেস টেবিলের কাঠামোর পরিবর্তনগুলি ডেটার সাথে কাজ করার ব্যবহারকারীর ক্ষমতাকে প্রভাবিত করবে না।

নিয়ম 10 বলে যে ডাটাবেস ভাষা অবশ্যই প্রবেশ করা ডেটার উপর আরোপিত বিধিনিষেধমূলক শর্ত এবং ডেটাতে সঞ্চালিত ক্রিয়াগুলিকে সমর্থন করবে।

নিয়ম 11 বলে যে ডাটাবেস ভাষা অবশ্যই অন্যান্য কম্পিউটার সিস্টেমে অবস্থিত বিতরণ করা ডেটার সাথে কাজ করতে সক্ষম হতে হবে।

নিয়ম 12 ডাটাবেস ভাষা ব্যতীত ডাটাবেস ক্ষমতা ব্যবহারে বাধা দেয়, যা ডাটাবেসের অখণ্ডতার সাথে আপস করতে পারে।

12.2। স্বাভাবিককরণ।

অপ্রয়োজনীয় ডেটা ধারণ করে এমন সম্পর্কগুলির সাথে কাজ করার সময়, সমস্যাগুলিকে বলা হয় অসঙ্গতি আপডেট করুনএবং সন্নিবেশের অসঙ্গতি, মুছে ফেলার অসঙ্গতি এবং পরিবর্তনের অসঙ্গতিতে বিভক্ত। উদাহরণস্বরূপ, স্লাইডে উপস্থাপিত সম্পর্কটি বিবেচনা করুন ( স্লাইড 7 ).

সন্নিবেশ অসঙ্গতি. আপনি যোগ করতে পারবেন না, উদাহরণস্বরূপ, একটি শৃঙ্খলা সম্পর্কে তথ্য যা কোনো শিক্ষার্থী এখনও একটি সম্পর্কীয় টেবিলে নেয়নি। অন্যদিকে, একজন শিক্ষার্থীর জন্য একটি নতুন শৃঙ্খলা যোগ করার জন্য শিক্ষার্থী সম্পর্কে তথ্যের নকলের প্রয়োজন হবে, যা সম্ভাব্য ডেটা অসঙ্গতি (ইনপুট ত্রুটির ক্ষেত্রে) বাড়ে।

অপসারণ অসঙ্গতি. একটি নির্দিষ্ট শৃঙ্খলায় পরীক্ষা বা পরীক্ষায় উত্তীর্ণ ছাত্রদের সম্পর্কে সম্পর্কিত টেবিল থেকে তথ্য মুছে ফেলার সময়, শৃঙ্খলা সম্পর্কে তথ্য সম্পূর্ণরূপে মুছে ফেলা হবে।

পরিবর্তনের অসঙ্গতি. ডুপ্লিকেট ডেটা প্রবেশ করার সময় (এক বা একাধিক মানের একটি ভুল এন্ট্রির ক্ষেত্রে) এবং সেইসাথে ডুপ্লিকেট ডেটা সম্পাদনা করার সময় সম্ভাব্য ডেটা অসামঞ্জস্যতা সৃষ্টি করে।

প্রাথমিক অনুপাত স্বাভাবিক করে তালিকাভুক্ত অসঙ্গতিগুলি এড়ানো যেতে পারে।

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

12.2.1। কার্যকরী নির্ভরতা

স্বাভাবিককরণ প্রক্রিয়া কার্যকরী নির্ভরতার ধারণার উপর ভিত্তি করে। কার্যকরী নির্ভরতাএকটি সম্পর্কের বৈশিষ্ট্যগুলির মধ্যে সম্পর্ক বর্ণনা করে: যদি একটি সম্পর্কে R এর মধ্যে A এবং B বৈশিষ্ট্য থাকে তবে B বৈশিষ্ট্যটি কার্যকরীভাবে A এট্রিবিউটের উপর নির্ভর করে, তাহলে A এট্রিবিউটের প্রতিটি স্বতন্ত্র মান A এট্রিবিউট B এর শুধুমাত্র একটি মানের সাথে যুক্ত থাকে (এবং বৈশিষ্ট্যগুলির গ্রুপ A এবং B হিসাবে কাজ করতে পারে)। গুণ বা গুণের গ্রুপকে বলা হয় A নির্ধারককার্যকরী নির্ভরতা ( স্লাইড 8 ).

এইভাবে, একটি কার্যকরী নির্ভরতা A →B এর উপস্থিতিতে, A এট্রিবিউটের একই মান থাকা টিপল (সারি) এট্রিবিউট B এর মানের সাথে মিলে যায়। যাইহোক, কথোপকথনটি সত্য নয়: অ্যাট্রিবিউট B-এর একই মান অ্যাট্রিবিউট A-এর বিভিন্ন মানের সাথে সঙ্গতিপূর্ণ হতে পারে। উদাহরণস্বরূপ, কর্মগত সম্পর্ক কর্মচারী → অবস্থান থেকে এটি অনুসরণ করে যে যেখানেই কর্মচারী "Eremeev V.K" নির্দেশিত হয়, সেখানে "অধ্যাপক" পদটি তার সাথে মিলিত হবে, তবে অন্যান্য কর্মচারীদেরও "অধ্যাপক" অবস্থান থাকতে পারে।

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

যদি কিছু সম্পর্কের A, B এবং C বৈশিষ্ট্যগুলির জন্য কার্যকরী নির্ভরতা A → B, B → C থাকে, তাহলে বৈশিষ্ট্য C সম্পর্কিত বলা হয় ট্রানজিটিভ নির্ভরতাঅ্যাট্রিবিউট বি এর মাধ্যমে অ্যাট্রিবিউটের সাথে (এই ক্ষেত্রে, অ্যাট্রিবিউট এ অ্যাট্রিবিউট বি বা অ্যাট্রিবিউট সি-র উপর নির্ভর করে না)।

বহুমূল্য নির্ভরতা. একটি টেবিলের একটি বৈশিষ্ট্যকে একই টেবিলের অন্য একটি বৈশিষ্ট্যকে বহুমাত্রিকভাবে সংজ্ঞায়িত করতে বলা হয় যদি, প্রথম বৈশিষ্ট্যের প্রতিটি মানের জন্য, দ্বিতীয় বৈশিষ্ট্যের সংশ্লিষ্ট মানগুলির একটি সু-সংজ্ঞায়িত সেট থাকে ( স্লাইড 9 ).

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

12.2.2। সাধারণ ফর্ম

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

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

রিলেশনাল টেবিল প্রথম স্বাভাবিক আকারে (1NF),যদি ( স্লাইড 10 )

যেকোনো গুণের প্রতিটি মানই পারমাণবিক;

টেবিলে কোন অভিন্ন সারি নেই;

প্রতিটি কলাম অনন্যভাবে একটি বৈশিষ্ট্যের নামে নামকরণ করা হয় এবং সেই বৈশিষ্ট্যের বর্তমান মান ধারণ করে;

প্রতিটি বৈশিষ্ট্য একটি নির্দিষ্ট ডোমেনের সাথে যুক্ত (ডেটা টাইপ)।

1NF এ একটি রিলেশনাল টেবিল আছে প্রাথমিক কী-একটি বৈশিষ্ট্য বা গুণাবলীর সংগ্রহ যার মান প্রতিটি রেকর্ডকে স্বতন্ত্রভাবে চিহ্নিত করে।

রিলেশনাল টেবিল দ্বিতীয় স্বাভাবিক আকারে (2NF),যদি এটি 1NF-এর সংজ্ঞাকে সন্তুষ্ট করে এবং প্রাথমিক কী-তে অন্তর্ভুক্ত নয় এমন সমস্ত বৈশিষ্ট্য প্রাথমিক কী-এর উপর সম্পূর্ণরূপে কার্যকরীভাবে নির্ভরশীল।

রিলেশনাল টেবিল তৃতীয় স্বাভাবিক আকারে (3NF)(স্লাইড 11 ), যদি এটি 2NF-এর সংজ্ঞাকে সন্তুষ্ট করে এবং এর নন-কী অ্যাট্রিবিউটগুলির কোনওটিরই প্রাথমিক কী-এর উপর ট্রানজিটিভ কার্যকরী নির্ভরতা না থাকে (অর্থাৎ, নন-কী অ্যাট্রিবিউটগুলির কোনওটিরই অন্য কোনও নন-কী অ্যাট্রিবিউটের উপর কার্যকরী নির্ভরতা নেই)।

টেবিল আছে Boyce-Codd তৃতীয় স্বাভাবিক ফর্ম (BCNF)(শক্তিশালী তৃতীয় স্বাভাবিক ফর্ম) যদি এবং শুধুমাত্র যদি এর বৈশিষ্ট্যগুলির মধ্যে কোনও কার্যকরী নির্ভরতা সম্পূর্ণ কার্যকরী নির্ভরতায় হ্রাস পায় সম্ভবপ্রাথমিক কী (অর্থাৎ, সম্পর্কের সমস্ত নির্ধারক সম্ভাব্য প্রাথমিক কী)।

সাধারণত অনুশীলনে তারা একটি রিলেশনাল ডাটাবেসকে 3NF বা BCNF তে রূপান্তর করতে সন্তুষ্ট থাকে, তাই আমরা এখানে উচ্চতর সাধারণ ফর্মগুলি বিবেচনা করব না।

নিম্নলিখিত স্বাভাবিক ফর্মগুলি (4NF এবং 5NF) শুধুমাত্র কার্যকরী নয়, গুণাবলীর মধ্যে বহুমূল্য নির্ভরতাও বিবেচনা করে। এই স্বাভাবিক ফর্মগুলির সংজ্ঞা দেওয়ার জন্য, আমরা একটি টেবিলের সম্পূর্ণ পচনের ধারণাটি প্রবর্তন করি ( স্লাইড 12 ).

সম্পূর্ণ টেবিল পচন এর অনুমানগুলির একটি নির্বিচারে সংখ্যার এই জাতীয় সংগ্রহকে কল করুন, যার সংযোগটি টেবিলের বিষয়বস্তুর সাথে সম্পূর্ণভাবে মিলে যায়।

টেবিল আছে পঞ্চম স্বাভাবিক ফর্ম (5NF)যদি এবং শুধুমাত্র যদি এর প্রতিটি সম্পূর্ণ পচনের মধ্যে সমস্ত অনুমানে একটি সম্ভাব্য কী থাকে। একটি টেবিল যার সম্পূর্ণ পচন নেই সেটিও 5NF-এ রয়েছে।

চতুর্থ স্বাভাবিক ফর্ম (4NF) 5NF এর একটি বিশেষ ক্ষেত্রে, যখন সম্পূর্ণ পচনটি অবশ্যই দুটি অনুমানগুলির একটি মিলন হতে হবে। অনুশীলনে, একটি বাস্তব টেবিল খুঁজে পাওয়া সহজ নয় যা 4NF তে হবে, কিন্তু 5NF তে নয়।

12.3। স্বাভাবিককরণ পদ্ধতি ( স্লাইড 14)

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

দুটি সম্ভাব্য ক্ষেত্রে আছে:

1. টেবিলে একটি যৌগিক প্রাথমিক কী রয়েছে, উদাহরণস্বরূপ, ( K1, K2), এবং বৈশিষ্ট্য অন্তর্ভুক্ত করে , যা কার্যকরীভাবে সেই কীটির অংশের উপর নির্ভর করে (উদাহরণস্বরূপ, on K2), কিন্তু সম্পূর্ণ কী থেকে নয়। এই ক্ষেত্রে, গুণাবলী সম্বলিত অন্য টেবিল তৈরি করার সুপারিশ করা হয় K2এবং (প্রাথমিক কী- K2), এবং বৈশিষ্ট্য মুছে ফেলুন মূল টেবিল থেকে ( স্লাইড 15 ).

2. টেবিলে একটি প্রাথমিক (সম্ভাব্য) কী আছে প্রতি, বৈশিষ্ট্য A1, যা একটি সম্ভাব্য কী নয়, কিন্তু কার্যকরীভাবে নির্ভর করে প্রতি, এবং আরেকটি অ-কী বৈশিষ্ট্য A2, যা কার্যকরীভাবে নির্ভর করে A1. এখানে সমাধানটি মূলত আগের মতোই - বৈশিষ্ট্যগুলি সম্বলিত আরেকটি টেবিল তৈরি করা হয়েছে A1এবং A2, প্রাথমিক কী সহ A1, এবং বৈশিষ্ট্য A2মূল টেবিল থেকে সরানো হয় (স্লাইড 16).

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

12.4। একটি ER ডায়াগ্রাম থেকে একটি রিলেশনাল স্কিমা প্রাপ্ত করা ( স্লাইড 17)

1. প্রতিটি সাধারণ সত্তা একটি টেবিলে পরিণত হয় (সম্পর্ক)। সত্তার নাম টেবিলের নাম হয়ে যায়।

2. একটি বহু-থেকে-অনেক সম্পর্ক একটি সত্তা সম্পর্ক হিসাবে বিবেচিত হয় এবং একটি টেবিলে (সম্পর্ক) পরিণত হয়। এইভাবে, বহু-থেকে-অনেক সম্পর্ক দুটি বহু-থেকে-এক সম্পর্কে রূপান্তরিত হয়।

3. প্রতিটি বৈশিষ্ট্য একই নামের একটি সম্ভাব্য কলামে পরিণত হয়। ঐচ্ছিক বৈশিষ্ট্যের সাথে সম্পর্কিত কলামে শূন্য মান থাকতে পারে; প্রয়োজনীয় বৈশিষ্ট্যগুলির সাথে সম্পর্কিত কলামগুলি পারে না৷ যদি বৈশিষ্ট্যটি একাধিক হয়, তবে এটির জন্য একটি পৃথক সম্পর্ক তৈরি করা হয়।

4. সত্তার অনন্য শনাক্তকারীর উপাদানগুলি একটি প্রাথমিক কীতে পরিণত হয়৷ যদি একাধিক সম্ভাব্য অনন্য শনাক্তকারী থাকে, সবচেয়ে বেশি ব্যবহৃত একটি নির্বাচন করা হয়। যদি অনন্য শনাক্তকারীর মধ্যে সম্পর্ক অন্তর্ভুক্ত থাকে, তাহলে সম্পর্কের শেষ প্রান্তে সত্তার অনন্য শনাক্তকারীর একটি অনুলিপি প্রাথমিক কী কলামের সংখ্যার সাথে যোগ করা হয় (এই প্রক্রিয়াটি পুনরাবৃত্তিমূলকভাবে চলতে পারে)। এই কলামগুলি সম্পর্কের শেষ নাম এবং/অথবা সত্তার নাম ব্যবহার করে নামকরণ করা হয়েছে।

5. অনেক থেকে এক এবং এক থেকে এক সম্পর্ক বিদেশী কী হয়ে ওঠে। সেগুলো। সম্পর্কের "এক" প্রান্ত থেকে অনন্য শনাক্তকারীর একটি অনুলিপি তৈরি করা হয়, এবং সংশ্লিষ্ট কলামগুলি বিদেশী কী গঠন করে।

6. সূচীগুলি প্রাথমিক কী (অনন্য সূচক) এবং সেইসাথে বিদেশী কী এবং সেই বৈশিষ্ট্যগুলি তৈরি করা হয় যা প্রায়শই প্রশ্নগুলিতে ব্যবহৃত হবে।

7. যদি ধারণাগত স্কিমে উপপ্রকার থাকে, তাহলে দুটি বিকল্প সম্ভব।

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

দ্বিতীয় ক্ষেত্রে, প্রতিটি সাব-টাইপের জন্য এবং প্রতিটি প্রথম-স্তরের সাব-টাইপের জন্য একটি পৃথক টেবিল তৈরি করা হয় (নিম্নগুলির জন্য - ভিউগুলির জন্য), UNION ভিউ ব্যবহার করে সুপারটাইপটি পুনরায় তৈরি করা হয় (সাধারণ কলাম - সুপার টাইপ কলাম - সমস্ত সাব-টাইপ টেবিল থেকে নির্বাচিত) .

8. যদি অবশিষ্ট বিদেশী কীগুলি একই ডোমেনের অন্তর্গত হয়, যেমন একটি সাধারণ বিন্যাস আছে, দুটি কলাম তৈরি করা হয়েছে: সম্পর্ক সনাক্তকারী এবং সত্তা শনাক্তকারী। সম্পর্ক আইডি কলামটি সম্পর্ককে আলাদা করতে ব্যবহার করা হয়। সত্তা শনাক্তকারী কলামটি সংশ্লিষ্ট সম্পর্কের শেষ প্রান্তে সত্তার অনন্য শনাক্তকারী মান সংরক্ষণ করতে ব্যবহৃত হয়।

ফলস্বরূপ বিদেশী কীগুলি একই ডোমেনের অন্তর্গত না হলে, বর্জন চাপ দ্বারা আচ্ছাদিত প্রতিটি সম্পর্কের জন্য স্পষ্ট বিদেশী কী কলাম তৈরি করা হয়।

বিষয়ে প্রকাশনা