ایجاد و دستکاری جداول (Create and Manipulate PostgreSQL Tables)
تقریباً هر سازمان دادهمحوری به نوعی از سیستمهای مدیریت پایگاه داده رابطهای (RDBMS) استفاده میکند. این ابزارها بهترین راه برای ذخیره و مدیریت دادهها در قالبی ساختاریافته هستند. یکی از RDBMSهای بسیار محبوب، PostgreSQL است. با این حال، بسیاری از مبتدیان تصور میکنند که ذخیره دادهها در این پایگاه داده از طریق ایجاد جداول و پرسوجو در SQL چالشبرانگیز است. اما اینطور نیست. در این مقاله، خواهید آموخت که ایجاد و دستکاری جداول در PostgreSQL چقدر آسان است.
PostgreSQL یا Postgres یک RDBMS متنباز در سطح سازمانی است. این پایگاه داده در سال ۱۹۸۶ در دانشگاه کالیفرنیا، برکلی توسعه یافت. از آن زمان، Postgres به دلیل مقیاسپذیری، قابلیت اطمینان و اقدامات انطباقی خود شناخته شده است.
Postgres دارای معماری قوی است که پرسوجوهای JSON (غیررابطهای) و SQL (رابطهای) را پشتیبانی میکند. همچنین میتوانید از طیف وسیعی از توابع SQL مانند زیرپرسوجوها، تریگرها، کلیدهای خارجی و توابع تعریفشده توسط کاربر استفاده کنید. تمامی این قابلیتها به کسبوکار شما کمک میکند تا برنامههای تحلیلی مقیاسپذیر توسعه دهید.
بهعنوان یک پلتفرم متنباز، Postgres از کنترل خصوصی یا شرکتی آزاد است و از سیستمعاملهای مختلف پشتیبانی میکند. این ادغام نیاز به مجوزهای متعدد را حذف میکند، در نتیجه هزینهها را کاهش میدهد و آن را به یک DBMS ایدهآل برای سازمانها تبدیل میکند.
ویژگیهای کلیدی PostgreSQL
- انطباق با ACID:
ACID یا اتمیک بودن، یکنواختی، انزوا و دوام، یک چارچوب چهارلایه در Postgres است که اطمینان میدهد تراکنشها در پایگاه داده قابل اعتماد هستند. این ویژگی آن را به گزینهای ایدهآل برای برنامههایی که نیاز به یکپارچگی قوی داده دارند، مانند سیستمهای مالی، تبدیل میکند. - انواع داده غنی:
علاوه بر انواع دادههای پایه مانند عددی، متنی و تاریخ، PostgreSQL از انواع دادههای پیشرفتهای پشتیبانی میکند. این شامل آرایهها، hstore (برای جفتهای کلید-مقدار)، PostGIS برای اشیاء جغرافیایی و JSON/BJSON (برای دادههای بدون ساختار) میشود. - جامعه پویا:
توسعه Postgres توسط جامعهای متعهد از مشارکتکنندگان و حرفهایها هدایت میشود. این امر به بهبود ابزار از طریق بهروزرسانیهای منظم، رفع اشکالات و گزارشدهی کمک میکند.
جداول Postgres چیست؟
همانطور که اشاره شد، پایگاههای داده رابطهای دارای ساختار ردیفها و ستونها هستند. جدول در Postgres یک شیء پایگاه داده است که دادهها را در قالبی ساختاریافته شامل ردیفها و ستونها ذخیره و مدیریت میکند. تعداد ستونها در هر جدول Postgres ثابت است، در حالی که تعداد ردیفها میتواند نامحدود باشد.
در این جداول، هر ستون دارای یک نوع داده ثابت است که مجموعه مقادیر ممکن برای اختصاص به ستون را محدود میکند. انواع داده پشتیبانیشده در جداول Postgres شامل بولی، کاراکتری و عددی است. با این حال، این امکان را به شما میدهد تا نوع داده خود را تعریف کنید.
برای مدیریت جداول در Postgres بهصورت دستی، باید از دستورات DDL و DML استفاده کنید. DDL یا زبان تعریف داده شامل دستورات SQL است که برای تعریف ساختار یا طرحواره پایگاه داده استفاده میشوند. این دستورات شامل CREATE، DROP، ALTER و RENAME هستند. از سوی دیگر، DML یا زبان دستکاری داده، دستور SQL است که برای دستکاری دادهها در Postgres استفاده میشود و شامل دستورات INSERT، UPDATE و DELETE است.
روشهای ایجاد و دستکاری جداول در Postgres
روشهای مختلفی برای مدیریت جداول در Postgres وجود دارد. در زیر دو روش رایج آورده شده است:
- استفاده از دستورات SQL برای ایجاد و دستکاری جداول Postgres.
- استفاده از ابزار GUI برای ایجاد و دستکاری جداول در Postgres.
استفاده از دستورات SQL برای ایجاد و دستکاری جداول Postgres
دستورات SQL رایجترین روش برای ایجاد و مدیریت جداول در Postgres هستند. این روش برای ایجاد جداول بسیار ساده است. در اینجا یک راهنمای دقیق ارائه شده است:
پیشنیازها
- PostgreSQL
- Windows Powershell
مرحله ۱: ایجاد یک پایگاه داده جدید در Postgres
اولین قدم اتصال به نمونه Postgres است. پس از اتصال، با استفاده از دستور زیر یک پایگاه داده ایجاد کنید:
CREATE DATABASE store;
نام “store” را با نام دلخواه پایگاه داده خود جایگزین کنید.
توجه: اگر از قبل یک پایگاه داده دارید و میخواهید جدولی در آن ایجاد کنید، میتوانید این مرحله را نادیده بگیرید.
مرحله ۲: ایجاد جدول در پایگاه داده
پس از داشتن یک پایگاه داده، میتوانید شروع به تعریف جداول برای ذخیره دادههای خود کنید. یک سینتکس ساده برای این کار به شکل زیر است:
CREATE TABLE your_table (column_name TYPE [column_constraint],[table_constraint,] );
در کد بالا، جدولی به نام your_table ایجاد میکنید و ستونی به نام column_name را با تعیین TYPE که نوع داده ستون را مشخص میکند، تعریف میکنید.
برای توضیح بهتر ایجاد جدول در Postgres، مثالی را در نظر بگیرید: فرض کنید میخواهیم جدولی به نام order در پایگاه داده store از مرحله ۱ با فیلدهای زیر ایجاد کنیم: ID، Name، Product، Address، Quantity، Phone. کد این جدول به شکل زیر خواهد بود:
CREATE TABLE order (
id INT PRIMARY KEY,
name VARCHAR,
product VARCHAR,
address VARCHAR,
price INT,
phone INT
);
در کد بالا، PRIMARY KEY یک محدودیت ویژه است که برای نشان دادن ستونهایی استفاده میشود که بهطور یکتا سوابق را در جدول شناسایی میکنند. همچنین، میبینید که هر ستون نوع داده مشخصی دارد.
مرحله ۳: دستکاری جداول
روشهای متعددی برای دستکاری یک جدول در Postgres وجود دارد. این میتواند شامل افزودن ستونهای جدید، حذف ستونهای موجود، بهروزرسانی دادههای ستونهای موجود و غیره باشد. در زیر برخی از روشهای رایج آورده شده است:
درج ردیفها در جدول
وقتی جدول ایجاد میشود، هیچ دادهای ندارد. در Postgres، دادهها یک ردیف در هر زمان درج میشوند. برای ایجاد یک ردیف جدید، باید از دستور INSERT در جدول نمونه ایجادشده در مرحله ۲ استفاده کنید. در زیر یک مثال عملی آورده شده است:
INSERT INTO order VALUES (1, 'Andrew', 'shirt', 'Brooklyn, new york', 15, 1234567890);
کد بالا یک ردیف جدید در جدول order با نام Andrew و سایر ویژگیها، همانطور که ذکر شد، ایجاد میکند.
بهروزرسانی دادههای جدول
میتوانید ردیفهای جداگانه، تمام ردیفها یا زیرمجموعهای از ردیفها را در Postgres بهروزرسانی کنید. برای این کار، میتوانید از دستور UPDATE استفاده کنید.
در زیر دستوری آورده شده که فیلد phone را در جدول order که در مرحله ۲ ایجاد کردید، بهروزرسانی میکند:
UPDATE order SET phone = 0987654321 WHERE phone = 1234567890;
حذف دادههای جدول
همانطور که افزودن داده به ردیفها امکانپذیر است، میتوانید دادهها را از جدول Postgres فقط در قالب ردیفهای کامل حذف کنید. برای این کار، میتوانید از دستور DELETE استفاده کنید.
به عنوان مثال، برای حذف تمام ردیفها از جدول، بهسادگی بنویسید:
DELETE FROM your_table;
با این حال، میتوانید شرایطی برای حذف ردیفهای خاص نیز ارائه دهید. در زیر مثالی از جدول order آورده شده است:
DELETE FROM order WHERE phone = 0987654321;
با این دستور، تمام ردیفهایی که فیلد phone آنها ۰۹۸۷۶۵۴۳۲۱ است، حذف خواهند شد.
استفاده از ابزار GUI برای ایجاد و دستکاری جداول در Postgres
در این روش، یاد خواهید گرفت که چگونه با استفاده از یکی از رایجترین ابزارهای GUI برای مدیریت پایگاه داده Postgres، یعنی pgAdmin، با جداول Postgres کار کنید. در زیر فرآیند گامبهگام آورده شده است:
پیشنیازها
- pgAdmin
مرحله ۱: ایجاد جدول Postgres
- نمونه pgAdmin را در سیستم محلی خود باز کنید.
- از نوار ناوبری سمت چپ، پایگاه دادهای که میخواهید جدول را در آن ایجاد کنید، انتخاب کنید.
- روی Schemas > public > Create > Table کلیک کنید.
- یک پنجره پاپآپ برای ایجاد جدول ظاهر میشود. نام جدول را در فیلد Name وارد کنید. همچنین میتوانید Owner، Schema، Tablespace، جدول پارتیشنشده و Comment را بر اساس نیاز خود انتخاب کنید.
- برای ایجاد ستون، روی تب Columns کلیک کنید.
- در آنجا، یک دکمه + در گوشه سمت راست خواهید دید؛ روی آن کلیک کنید و جزئیات ستون مانند Name، Data type و Primary key را وارد کنید.
- پس از افزودن ستونهای مورد نیاز، روی دکمه Save کلیک کنید.
- جدول ایجادشده را در درخت اشیاء مشاهده خواهید کرد.
مرحله ۲: دستکاری جداول Postgres در pgAdmin
برای این کار، بیایید مثالهای مشابهی که در بالا ذکر شد را برای دستکاری جداول در نظر بگیریم. برای اطمینان از عملکرد این روش در pgAdmin، یک کلید اصلی به جدول ایجادشده در مرحله ۱ اضافه کنید.
درج ردیفها در جدول
- برای انجام این کار، بهسادگی روی جدول خود راستکلیک کنید > View/Edit Data > All Rows.
- در انتهای آخرین ردیف داده، بهسادگی کلید Enter را فشار دهید تا شروع به درج دادههای جدید در جدول کنید.
- روی دکمه Save از منوی بالا سمت چپ کلیک کنید.
بهروزرسانی دادههای جدول
- برای بهروزرسانی دادههای جدول، به همان صفحه بروید با راستکلیک روی جدول خود > View/Edit Data > All Rows.
- میتوانید هر دادهای را که میخواهید انتخاب کنید و محتوا را از اینجا بهروزرسانی کنید.
- روی آیکون Save کلیک کنید.
حذف دادههای جدول
حذف دادههای جدول با استفاده از pgAdmin تنها یک کار کلیکی است.
- برای حذف یک ستون موجود، به ستونهایی که در مرحله ۱ ایجاد کردید بروید، روی ستونی که میخواهید حذف کنید راستکلیک کنید و روی Save کلیک کنید.
- برای حذف یک ردیف، مراحل بهروزرسانی داده را دنبال کنید و به جای بهروزرسانی، گزینه delete را انتخاب کنید.
- در نهایت، برای حذف کل جدول، بهسادگی روی نام جدول راستکلیک کنید، سپس گزینه Delete/Drop را انتخاب کنید.
اگر مراحل بالا را با دقت دنبال کردهاید، اکنون میدانید چگونه با جداول در Postgres کار کنید.
نتیجهگیری
تسلط بر Postgres به شما امکان میدهد تا از پتانسیل کامل داراییهای دادهای خود با مدیریت و استفاده مؤثر از دادهها بهرهبرداری کنید. تا حالا باید متقاعد شده باشید که استفاده از این RDBMS بدون داشتن تجربه فنی قبلی چقدر آسان است. با استفاده از اطلاعات ذکرشده در بالا، میتوانید بهراحتی جداول را در پایگاه داده Postgres ایجاد و دستکاری کنید.
سوالات متداول درباره جداول PostgreSQL
آیا یادگیری PostgreSQL برای مبتدیان دشوار است؟
خیر. در حالی که Postgres دارای ویژگیهای پیشرفتهای است، ایجاد و دستکاری جداول با دستورات SQL یا ابزارهایی مانند pgAdmin ساده است. هنگامی که اصول پایگاههای داده—ردیفها، ستونها و انواع داده—را درک کنید، میتوانید بهسرعت با آن راحت شوید.
آیا میتوانم انواع داده سفارشی در جداول PostgreSQL ایجاد کنم؟
بله. PostgreSQL نهتنها از انواع داده استاندارد مانند متن، عددی و بولی پشتیبانی میکند، بلکه به شما امکان میدهد انواع داده سفارشی خود را برای موارد استفاده پیچیدهتر تعریف کنید.
تفاوت بین دستورات DDL و DML چیست؟
دستورات DDL (زبان تعریف داده) مانند CREATE، ALTER و DROP ساختار پایگاه داده را تعریف یا اصلاح میکنند. دستورات DML (زبان دستکاری داده) مانند INSERT، UPDATE و DELETE با دادههای واقعی داخل جداول سروکار دارند.
آیا باید از دستورات SQL استفاده کنم یا میتوانم جداول را بهصورت بصری مدیریت کنم؟
میتوانید هر دو را انجام دهید. دستورات SQL دقیق و قدرتمند هستند، اما ابزارهای GUI مانند pgAdmin به شما امکان میدهند دادهها را از طریق یک رابط بصری ایجاد، درج، بهروزرسانی و حذف کنید—که اگر رویکرد بدون کد را ترجیح میدهید، مفید است.
