একটি স্কিমা পোস্টগ্রেসে টেবিল তৈরি করুন

Ekati Skima Postagrese Tebila Tairi Karuna



PostgreSQL হল অন্যতম জনপ্রিয় অবজেক্ট-রিলেশনাল ডাটাবেস সিস্টেম। এটি একটি বিনামূল্যের এবং ওপেন সোর্স সফ্টওয়্যার যা জটিল ডেটা ওয়ার্কলোডগুলি পরিচালনা করতে অতিরিক্ত বৈশিষ্ট্য সহ SQL ভাষাকে প্রসারিত করে। এটি নির্ভরযোগ্য এবং সুরক্ষিত বিভিন্ন ডেটার সাথে কাজ করতে পারে। PostgreSQL এর বৈশিষ্ট্য সম্পর্কে আরও জানুন।

এই নির্দেশিকাটিতে, আমরা PostgreSQL-এ একটি স্কিমাতে টেবিল তৈরি করার বিষয়ে আরও শিখব।







PostgreSQL-এ স্কিমা

একটি PostgreSQL ডাটাবেসে এক বা একাধিক নামধারী স্কিমা থাকতে পারে, প্রতিটি স্কিমা টেবিল ধারণকারী।



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



  • স্কিমা_ক
    • 1 নং টেবিল
    • টেবিল ২
  • স্কিমা_বি
    • 1 নং টেবিল
    • টেবিল ২

আপনি অপারেটিং সিস্টেম স্তরে ডিরেক্টরির মত স্কিমা সম্পর্কে চিন্তা করতে পারেন। পার্থক্য হল, নেস্টেড স্কিমা থাকতে পারে না। স্কিমা সম্পর্কে আরও গভীরভাবে জানুন PostgreSQL ডকুমেন্টেশন .





স্কিমা বাস্তবায়নের একাধিক কারণ থাকতে পারে:

  • একাধিক ব্যবহারকারী একে অপরের সাথে বিরোধ না করে একই ডাটাবেস ব্যবহার করে।
  • যৌক্তিক গোষ্ঠীগুলিতে ডাটাবেসগুলির আরও ভাল সংগঠন এবং পরিচালনা।
  • তৃতীয় পক্ষের অ্যাপগুলি বিদ্যমান স্কিমা বা অন্যান্য বস্তুর সাথে সংঘর্ষ না করে তাদের অনন্য স্কিমা তৈরি করতে পারে।

PostgreSQL এ টেবিল

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



পূর্বশর্ত:

এই নির্দেশিকায় প্রদর্শিত পদক্ষেপগুলি সম্পাদন করতে, আপনার নিম্নলিখিত উপাদানগুলির প্রয়োজন হবে:

  • একটি সঠিকভাবে কনফিগার করা লিনাক্স সিস্টেম। এই সম্পর্কে আরও জানো ভার্চুয়ালবক্সে উবুন্টু ইনস্টল করা হচ্ছে .
  • PostgreSQL এর একটি সঠিক ইনস্টলেশন। চেক আউট উবুন্টুতে PostgreSQL ইনস্টল করা হচ্ছে .
  • অ্যাক্সেস a PostgreSQL ব্যবহারকারী সঙ্গে USAGE অনুমতি একটি ডাটাবেসে।

এই গাইডের উদ্দেশ্যে, আমরা ব্যবহার করব পোস্টগ্রেস PostgreSQL-এ সমস্ত ক্রিয়া সম্পাদন করতে।

একটি স্কিমাতে টেবিল তৈরি করা

একটি ডেমো ডেটাবেস তৈরি করা

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

হিসাবে PostgreSQL শেল অ্যাক্সেস করুন পোস্টগ্রেস :

$ sudo -i -u postgres psql

একটি নতুন ডাটাবেস তৈরি করুন ডেমো_ডিবি:

$ ডেমো_ডিবি ডেটাবেস তৈরি করুন;

ডাটাবেস সফলভাবে তৈরি হয়েছে কিনা তা যাচাই করুন:

$ \l

অবশেষে, নতুন তৈরি ডাটাবেসের সাথে সংযোগ করুন:

$ \ কানেক্ট ডেমো_ডিবি;

পাবলিক স্কিমা

PostgreSQL-এ যেকোনো নতুন ডাটাবেস একটি ডিফল্ট স্কিমা সহ আসে - পাবলিক . যদি আপনি স্কিমার নাম উল্লেখ না করে একটি বস্তু তৈরি করার চেষ্টা করেন, তাহলে সর্বজনীন স্কিমা ডিফল্টরূপে নির্বাচিত হয়।

নিম্নলিখিত কমান্ডটি PostgreSQL ডাটাবেসের সমস্ত উপলব্ধ স্কিমা প্রিন্ট করে:

$ \dn

বিকল্পভাবে, আমরা নিম্নলিখিত SQL ক্যোয়ারী ব্যবহার করতে পারি:

$ SELECT * pg_catalog.pg_namespace থেকে;

একটি নতুন স্কিমা তৈরি করা হচ্ছে

একটি নির্দিষ্ট ডাটাবেসের অধীনে একটি নতুন স্কিমা তৈরি করতে, কমান্ড গঠনটি নিম্নরূপ:

$ স্কিমা তৈরি করুন <স্কিমা_নাম>;

নিয়ম অনুসরণ করে, আসুন একটি নতুন স্কিমা ডেমো_স্কিমা তৈরি করি:

$ স্কিমা ডেমো_স্কিমা তৈরি করুন;

যাচাইকরণের জন্য স্কিমা তালিকা পরীক্ষা করুন:

$ \dn

একটি স্কিমা একটি টেবিল তৈরি করা

এখন যেহেতু আমরা লক্ষ্য স্কিমা তৈরি করেছি, আমরা এটিকে টেবিলের সাথে পূরণ করতে পারি।

একটি টেবিল তৈরি করার জন্য সিনট্যাক্স নিম্নরূপ:

টেবিল তৈরি করুন <স্কিমা>। (

...
)

এখানে:

  • স্কিমা : এই ক্ষেত্রটি স্কিমার নাম উল্লেখ করে যেখানে টেবিলটি তৈরি করা হয়েছে। যদি কোন মান প্রদান করা না হয়, টেবিলের অধীনে তৈরি করা হয় পাবলিক স্কিমা

প্রদর্শনের জন্য, আমরা একটি সাধারণ টেবিল তৈরি করি:

টেবিল তৈরি করুন demo_schema.demo_table (

নাম CHAR(64),

ID INT NOT NULL

);

এখানে:

  • ক্ষেত্র NAME 64 অক্ষরের একটি স্ট্রিং সংরক্ষণ করার জন্য নির্দিষ্ট করা হয়েছে।
  • ক্ষেত্র আইডি পূর্ণসংখ্যার মান রয়েছে। শব্দটি ' নাল না ' নির্দেশ করে যে আইডি খালি বা শূন্য হতে পারে না।

আমরা নিম্নলিখিত ক্যোয়ারী ব্যবহার করে টেবিলের অস্তিত্ব যাচাই করতে পারি:

$ SELECT * demo_schema.demo_table থেকে;

টেবিলে ডেটা সন্নিবেশ করা হচ্ছে

টেবিলের জায়গায়, আমরা এখন কিছু মান সন্নিবেশ করতে পারি:

demo_schema.demo_table এর ভিতরে ঢোকান (NAME, ID)

মূল্য

('PQR', 45),

('IJK', 99)

;

টেবিলের বিষয়বস্তু পরীক্ষা করুন:

$ SELECT * demo_schema.demo_table থেকে;

স্কিমা ম্যানেজমেন্ট

স্কিমা অনুমতি

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

একটি নির্দিষ্ট ভূমিকার জন্য স্কিমা অনুমতি আপডেট করতে, কমান্ড গঠন নিম্নরূপ:

$ GRANT ON SCHEMA TO ;

একটি নির্দিষ্ট ভূমিকার জন্য স্কিমা অনুমতি প্রত্যাহার করতে, কমান্ড গঠন নিম্নরূপ:

$ REVOKE ON SCHEMA TO ;

নিম্নলিখিত কমান্ড ব্যবহার করে পরিবর্তন যাচাই করুন:

$ \dn+

স্কিমা বৈশিষ্ট্য পরিবর্তন করুন

এর সাহায্যে স্কিমা পরিবর্তন করুন বিবৃতিতে, আমরা একটি স্কিমার বিভিন্ন বৈশিষ্ট্য পরিবর্তন করতে পারি। যেমন: মালিকানা, স্কিমার নাম ইত্যাদি।

স্কিমার নাম পরিবর্তন করতে, নিম্নলিখিত ক্যোয়ারী ব্যবহার করুন:

$ ALTER স্কিমা RENAME to ;

একটি স্কিমার মালিকানা পরিবর্তন করতে, নিম্নলিখিত ক্যোয়ারী ব্যবহার করুন:

$ ALTER স্কিমা মালিকের ;

নোট করুন যে মালিকানা পরিবর্তন করতে, বর্তমান ব্যবহারকারীর অবশ্যই থাকতে হবে সৃষ্টি স্কিমার অনুমতি।

একটি স্কিমা মুছে ফেলা হচ্ছে

যদি একটি স্কিমা আর প্রয়োজন না হয়, আমরা এটি ব্যবহার করে মুছে ফেলতে পারি ড্রপ প্রশ্ন:

$ ড্রপ স্কিমা <স্কিমা_নাম>

স্কিমা কোনো বস্তু ধারণ করে, আমাদের প্রয়োজন ক্যাসকেড সংশোধক:

$ ড্রপ স্কিমা <স্কিমা_নাম> ক্যাসকেড;

টেবিল ব্যবস্থাপনা

টেবিল অনুমতি

স্কিমার মতো, প্রতিটি টেবিলে অনুমতি ব্যবস্থাপনার সাথেও আসে, একটি ভূমিকা টেবিলে কী কাজ করতে পারে তা নির্ধারণ করে।

একটি টেবিলের অনুমতি পরীক্ষা করতে, psql এ নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

$ \dp <টেবিল_নাম>

টেবিল বৈশিষ্ট্য পরিবর্তন করুন

এর সাহায্যে টেবিল পরিবর্তন করুন বিবৃতি, আমরা ইতিমধ্যে বিদ্যমান টেবিলের অসংখ্য দিক পরিবর্তন করতে পারি।

উদাহরণস্বরূপ, একটি কলাম ড্রপ করতে, ক্যোয়ারীটি এইরকম দেখায়:

$ ALTER TABLE
ড্রপ কলাম <কলাম>;

একটি নতুন কলাম যোগ করতে, আমরা নিম্নলিখিত ক্যোয়ারী ব্যবহার করতে পারি:

$ ALTER TABLE
ADD COLUMN ;

আমরা একটি নির্দিষ্ট কলামের জন্য কম্প্রেশন সেট করতে পারি:

$ ALTER COLUMN SET কম্প্রেশন ;

একটি টেবিল মুছে ফেলা হচ্ছে

একটি স্কিমা থেকে একটি টেবিল মুছে ফেলার জন্য, আমরা ব্যবহার করতে পারেন ড্রপ টেবিল প্রশ্ন:

$ ড্রপ টেবিল <টেবিল_নাম>;

নোট করুন যে স্কিমাগুলির বিপরীতে, ড্রপ টেবিল টেবিলটি খালি হোক বা না হোক ক্যোয়ারী কোনও ত্রুটি তৈরি করবে না।

উপসংহার

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

ভাল ডেটা অখণ্ডতার জন্য, আপনি একটি কনফিগার করতে পারেন যৌক্তিক PostgreSQL প্রতিলিপি . PostgreSQL ডাটাবেস সুস্থ রাখতে, আপনি কনফিগার করতে পারেন অটোভ্যাকুয়াম মুছে ফেলা রেকর্ড দ্বারা অবশিষ্ট মৃত tuples পরিষ্কার করতে.

আরও PostgreSQL গাইডের জন্য, দেখুন PostgreSQL উপ-শ্রেণী .