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