এসকিউএল ডেটাবেসে বিদেশী কী কী?

এসকিউএল ডেটাবেসে বিদেশী কী কী?

বিদেশী কীগুলি ডাটাবেস প্রশাসকদের সহজেই একটি এসকিউএল ডাটাবেস ম্যানেজমেন্ট সিস্টেমের মধ্যে বিদ্যমান বিভিন্ন সংযোগগুলি সনাক্ত করতে দেয়।





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





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





একটি ডাটাবেস ম্যানেজমেন্ট সিস্টেমে, প্রতিটি রেকর্ড (বা সারি) অনন্য হওয়া উচিত।

প্রাথমিক কী

যদিও শর্ত হল যে একটি টেবিলে প্রতিটি রেকর্ড আলাদা হওয়া উচিত, এটি সবসময় হয় না। গাড়ি ভাড়ার ডাটাবেসের উদাহরণ দিয়ে চলতে থাকুন, যদি ডাটাবেসে দুটি গ্রাহক থাকে যার প্রত্যেকের নাম জন ব্রাউন, জন ব্রাউন একটি মার্সিডিজ-বেঞ্জ ফেরত পাওয়ার আশা করা যেতে পারে যা তিনি ভাড়া নেননি।



একটি প্রাথমিক কী তৈরি করা এই ঝুঁকি হ্রাস করবে। একটি এসকিউএল ডাটাবেস ম্যানেজমেন্ট সিস্টেমে, একটি প্রাথমিক কী হল একটি অনন্য শনাক্তকারী যা একটি রেকর্ডকে অন্য রেকর্ড থেকে আলাদা করে।

কেন গুগল প্লে পরিষেবা বন্ধ করা হয়েছে?

অতএব, একটি SQL ডাটাবেস ম্যানেজমেন্ট সিস্টেমের প্রতিটি রেকর্ডের একটি প্রাথমিক কী থাকা উচিত।





একটি ডাটাবেসে প্রাথমিক কী ব্যবহার করা

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

  • CarOwnerID (যা প্রাথমিক কী সংরক্ষণ করবে)
  • নামের প্রথম অংশ
  • নামের শেষাংশ
  • ফোন নম্বর

সম্পর্কিত: কিভাবে এসকিউএল -এ একটি টেবিল তৈরি করবেন





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

একটি প্রাথমিক কী উদাহরণ সহ একটি রেকর্ড

/* creates a new record in the customers table */
INSERT INTO Customers VALUES
('0004',
'John',
'Brown',
'111-999-5555');

উপরের এসকিউএল কোডটি পূর্বে বিদ্যমান একটি নতুন রেকর্ড যোগ করবে গ্রাহক টেবিল নীচের টেবিলে দুটি জন ব্রাউন রেকর্ড সহ নতুন গ্রাহক টেবিল দেখানো হয়েছে।

বিদেশী কী

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

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

বিদেশী কী কী?

একটি এসকিউএল ডাটাবেস ম্যানেজমেন্ট সিস্টেমে, একটি বিদেশী কী হল একটি অনন্য শনাক্তকারী বা অনন্য শনাক্তকারীর সংমিশ্রণ যা একটি ডাটাবেসে দুই বা ততোধিক টেবিল সংযুক্ত করে।

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

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

একটি এসকিউএল কোড যা একটি বিদেশী কী দিয়ে একটি টেবিল তৈরি করে তা আদর্শ থেকে কিছুটা আলাদা।

একটি বিদেশী কী উদাহরণ সহ একটি টেবিল তৈরি করা

/* creates a new cars table in the car rental database */
CREATE TABLE Cars
(
LicenseNumber varchar(30) NOT NULL PRIMARY KEY,
CarType varchar(30) NOT NULL,
CustomerID varchar(30) FOREIGN KEY REFERENCES Customers(CustomerID)
);

আপনি উপরের কোডে দেখতে পাচ্ছেন, নতুন টেবিলে সংযুক্ত হওয়া প্রাথমিক কীটির রেফারেন্স সহ একটি বিদেশী কী স্পষ্টভাবে চিহ্নিত করতে হবে।

কিভাবে স্পটফাইতে প্লেলিস্ট শেয়ার করবেন

সম্পর্কিত: নতুনদের জন্য প্রয়োজনীয় এসকিউএল কমান্ড চিট শীট

নতুন টেবিলে একটি রেকর্ড যোগ করতে, আপনাকে নিশ্চিত করতে হবে যে বিদেশী কী ক্ষেত্রের মান মূল টেবিলের প্রাথমিক কী ক্ষেত্রের মানটির সাথে মেলে।

একটি বিদেশী কী উদাহরণ সহ একটি রেকর্ড যোগ করা

/* creates a new record in the cars table */
INSERT INTO Cars VALUES
('100012',
'Mercedes-Benz',
'0004');

উপরের কোডটি নতুন একটি নতুন রেকর্ড তৈরি করে গাড়ি টেবিল, নিম্নলিখিত ফলাফল উত্পাদন।

গাড়ির টেবিল

উপরের টেবিল থেকে, আপনি সঠিক জন ব্রাউনকে চিহ্নিত করতে পারেন যা রেকর্ডে বিদেশী কী দ্বারা মার্সেডিজ-বেঞ্জ ভাড়া দেয়।

আগাম বিদেশী কী

ডাটাবেজে বিদেশী কী ব্যবহার করার আরও দুটি উপায় রয়েছে।

যদি আপনি উপরের একটি বিদেশী কী সংজ্ঞা ফিরে তাকান, আপনি দেখতে পাবেন যে এটি বলে যে একটি বিদেশী কী একটি অনন্য শনাক্তকারী বা অনন্য শনাক্তকারীর সংমিশ্রণ হতে পারে।

গাড়ী ভাড়ার ডাটাবেসের উদাহরণে ফিরে যাওয়া, আপনি দেখতে পাবেন যে প্রতিবার একজন গ্রাহক সেই গাড়ি ভাড়া দিলে (একই গাড়ির) একটি নতুন রেকর্ড তৈরি করে, এর উদ্দেশ্যকে পরাজিত করে গাড়ি টেবিল যদি গাড়িগুলি বিক্রয়ের জন্য থাকে এবং একবার একক গ্রাহকের কাছে বিক্রি হয়, তাহলে বিদ্যমান ডাটাবেস নিখুঁত; কিন্তু দেওয়া হয়েছে যে গাড়িগুলি ভাড়া দেওয়া আছে এই ডেটা উপস্থাপন করার আরও ভাল উপায় আছে।

যৌগিক কী

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

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

যৌগিক বিদেশী কী দিয়ে একটি টেবিল তৈরি করা

/* creates a CarRental table in the car rental database */
CREATE TABLE CarRental
(
DateRented DATE NOT NULL,
LicenseNumber varchar(30) NOT NULL FOREIGN KEY REFERENCES Cars(LicenseNumber),
CustomerID varchar(30) NOT NULL FOREIGN KEY REFERENCES Customers(CustomerID),
PRIMARY KEY (DateRented, LicenseNumber, CustomerID)
);

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

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

যাইহোক, একটি যৌগিক কী তৈরি করা যা বলে যে কোন গ্রাহক, কোন গাড়ি এবং কোন দিন একটি চমৎকার অনন্য চাবি তৈরি করে। এই অনন্য কী একটি যৌগিক বিদেশী কী এবং একটি যৌগিক প্রাথমিক কী উভয়ই প্রতিনিধিত্ব করে।

ইন্টিগ্রেটেড/অন-বোর্ড গ্রাফিক্স

বিদেশী প্রাথমিক কী

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

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

ফ্রেড এখনও একজন কর্মচারী এবং এখনও একই আইডি নম্বর থাকবে। সুতরাং ফ্রেডের কর্মচারী আইডি এখন একটি বিদেশী কী হিসাবে সুপারভাইজার টেবিলে রয়েছে যা সেই টেবিলে একটি প্রাথমিক কী হয়ে উঠবে (যেহেতু ফ্রেডের জন্য একটি নতুন আইডি নম্বর তৈরি করার কোন মানে হয় না কারণ তিনি একজন সুপারভাইজার)।

এখন আপনি এসকিউএল ডেটাবেসে বিদেশী কী সনাক্ত করতে পারেন

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

যদি আপনি মনে করেন বিদেশী কীগুলি আকর্ষণীয়, আপনার SQL ডেটাবেসগুলি জিজ্ঞাসা করার জন্য যখন আপনি প্রকল্প এবং নির্বাচন অপারেশনগুলি ব্যবহার শুরু করবেন তখন আপনার একটি ক্ষেত্রের দিন থাকবে।

শেয়ার করুন শেয়ার করুন টুইট ইমেইল এসকিউএল -এ প্রকল্প এবং নির্বাচন অপারেশনগুলি কীভাবে ব্যবহার করবেন তা শিখুন

এসকিউএল রিলেশনাল ডেটাবেসগুলির সাথে এই উদাহরণগুলির সাথে প্রকল্প এবং নির্বাচন অপারেশনগুলি বোঝার মাধ্যমে ধরুন।

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • প্রোগ্রামিং
  • প্রোগ্রামিং
  • এসকিউএল
  • তথ্যশালা
লেখক সম্পর্কে কাদিশা কেন(21 নিবন্ধ প্রকাশিত)

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

Kadeisha Kean থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন