CASE1:
নতুন টেবিল তৈরি করার সময় আপনার যদি বিদেশী কী তৈরি করতে হয়
CREATE TABLE table1(
id SERIAL PRIMARY KEY,
column1 varchar(n) NOT NULL,
table2_id SMALLINT REFERENCES table2(id)
);
উপরের কমান্ডগুলি 'টেবিল 1' এবং 'আইডি' (প্রাথমিক কী) নামের তিনটি কলাম, 'কলাম 1', 'টেবিল 2_আইডি' (টেবিল 2 এর আইডি কলামের উল্লেখ করে যে টেবিল 1 এর বিদেশী কী) নামের একটি সারণী তৈরি করবে।
DATATYPE 'সিরিয়াল' কলামটি তৈরি করবে যা এই ডেটাটাইপটি একটি স্বয়ংক্রিয়ভাবে উত্পাদিত কলাম হিসাবে ব্যবহার করবে, যখন সারণীতে মান সন্নিবেশ করানোর সময় আপনার এই কলামটি উল্লেখ করার দরকার নেই, বা আপনি মান স্থানে উদ্ধৃতি ছাড়াই 'ডিফল্ট' দিতে পারেন।
একটি প্রাথমিক কী কলামটি সর্বদা সারণীর সূচীতে 'টেবিলের নাম_পকি' যুক্ত থাকে।
যদি টেবিল তৈরির সময় বিদেশী কী যুক্ত করা হয় তবে '(বর্তমান_সারণযোগ্য_নাম) _ (বিদেশী_কি_আইডি_নাম) _ফকি' প্যাটার্ন সহ একটি চুক্তি যুক্ত করা হয়।
কোনও বিদেশী কী যুক্ত করার সময়, আমাদের কলামের নামের পাশে 'রেফারেন্সস' শব্দটি ইনপুট করতে হবে কারণ আমরা পোস্টগ্রেসকে বলতে চাই যে এই কলামটি একটি সারণি উল্লেখ করেছে এবং তারপরে রেফারেন্সের পাশে আমাদের রেফারেন্সের জন্য টেবিলটি দিতে হবে এবং বন্ধনীগুলিতে রেফারেন্স সারণীর কলামের নাম, সাধারণত বিদেশী কীগুলি প্রাথমিক কী কলাম হিসাবে দেওয়া হয়।
CASE 2:
আপনি যদি বিদ্যমান কলামে বিদ্যমান সারণীতে বিদেশী কী চান
ALTER TABLE table1
ADD CONSTRAINT table1_table2_id_id_fkey
FOREIGN KEY (table2_id) REFERENCES table2(id);
দ্রষ্টব্য: বন্ধনী '()' বিদেশী কী এবং রেফারেন্সগুলির পরে টেবিল 2 বাধ্যতামূলক বা অন্যথায় পোস্টগ্রাস ত্রুটি ছুঁড়ে দেবে।