Postgres এ NOT NULL সীমাবদ্ধতা সরান

Postgres E Not Null Simabad Dhata Sarana



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

একটি NULL সীমাবদ্ধতা কি?

NOT NULL সীমাবদ্ধতা নিশ্চিত করে যে একটি কলামে নাল মান থাকতে পারে না যার জন্য টেবিলের প্রতিটি সারির সেই নির্দিষ্ট কলামের জন্য একটি নন-নাল মান থাকা প্রয়োজন।

টিউটোরিয়াল প্রয়োজনীয়তা:

এই পোস্টে দেওয়া নির্দেশাবলী অনুসরণ করতে, আমরা ধরে নিই যে আপনার নিম্নলিখিত প্রয়োজনীয়তা রয়েছে:







  1. আপনার মেশিনে PostgreSQL সার্ভার ইনস্টল করা হয়েছে
  2. প্রাথমিক এসকিউএল জ্ঞান
  3. সীমাবদ্ধতা, ফাংশন ইত্যাদির মতো ডাটাবেস টেবিল অবজেক্ট তৈরি করার অনুমতি

উদাহরণ সারণী:

চলুন শুরু করা যাক কলাম সহ একটি নমুনা টেবিল সেট আপ করে যেখানে একটি শূন্য সীমাবদ্ধতা নেই। নিম্নলিখিত তৈরি টেবিল বিবৃতি নিন যা একটি মৌলিক টেবিল সেট আপ করে যা ওয়ার্ডপ্রেসে wp_users টেবিলের অনুরূপ:



টেবিল তৈরি করুন wp_users (
আইডি সিরিয়াল প্রাথমিক কী,
user_login VARCHAR(60) NULL নয়,
user_pass VARCHAR(255) NOT NULL,
user_nicename VARCHAR(50) NOT NULL,
user_email VARCHAR(100) NULL নয়,
user_url VARCHAR(100),
user_registered TIMESTAMP NULL DEFAULT current_timestamp,
user_activation_key VARCHAR(255),
user_status INT NOT NULL DEFAULT 0,
প্রদর্শন_নাম VARCHAR(250) শূন্য নয়
);

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



একটি প্রদত্ত কলামে একটি NOT NULL সীমাবদ্ধতা তৈরি করার সবচেয়ে কার্যকর পদ্ধতি হল টেবিল তৈরির সময়। এটি নিশ্চিত করে যে টেবিলে যোগ করা সমস্ত ডেটা সীমাবদ্ধতার নিয়ম মেনে চলে।





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

একটি শূন্য নয় সীমাবদ্ধতা যোগ করুন

কিছু ক্ষেত্রে, আপনি একটি বিদ্যমান টেবিলে একটি NOT NULL সীমাবদ্ধতা যোগ করতে চাইতে পারেন। উদাহরণস্বরূপ, আপনি ALTER COLUMN ধারা অনুসরণ করে ALTER TABLE কমান্ড ব্যবহার করতে পারেন।



সিনট্যাক্স নিম্নরূপ:

টেবিলের_নাম পরিবর্তন করুন
COLUMN কলাম_নাম পরিবর্তন করুন SET NOT NULL;

আপনার টার্গেট টেবিলের সাথে table_name এবং যে টার্গেট কলামে আপনি সীমাবদ্ধতা প্রয়োগ করতে চান তার সাথে column_name প্রতিস্থাপন করুন।

সীমাবদ্ধতা যাচাই করুন

আপনি PSQL ইউটিলিটিতে “\d” কমান্ড ব্যবহার করে প্রদত্ত টেবিলে সীমাবদ্ধতা বিদ্যমান কিনা তা যাচাই করতে পারেন।

\d টেবিল_নাম

উদাহরণ:

নমুনা_ডিবি=# \d wp_users;

ফলস্বরূপ আউটপুট নিম্নরূপ:

NOT NULL সীমাবদ্ধতা সরান

আপনি একটি প্রদত্ত কলাম থেকে NOT NULL সীমাবদ্ধতা অপসারণ করতে চাইতে পারেন। এর জন্য, আমরা নিম্নরূপ ALTER TABLE এবং ALTER COLUMN ধারাগুলি ব্যবহার করতে পারি:

টেবিলের_নাম পরিবর্তন করুন
ALTER COLUMN column_name DROP NOT NULL;

উদাহরণস্বরূপ, wp_users টেবিলের user_url কলাম থেকে NOT NULL সীমাবদ্ধতা অপসারণ করতে, আমরা নিম্নলিখিত ক্যোয়ারী চালাতে পারি:

সারণী পরিবর্তন করুন

এটি টেবিল থেকে সীমাবদ্ধতা ড্রপ করা উচিত.

উপসংহার

পোস্টগ্রেএসকিউএল-এ NOT NOLL সীমাবদ্ধতার সাথে আমরা কীভাবে কাজ করতে পারি তা এই টিউটোরিয়ালটিতে অন্বেষণ করা হয়েছে। আমরা একটি প্রদত্ত কলাম থেকে একটি বিদ্যমান NOT NULL সীমাবদ্ধতা কিভাবে ড্রপ করতে হয় তাও অন্বেষণ করেছি।