انواع دادههای پرکاربرد در PostgreSQL
انواع دادههای پرکاربرد در PostgreSQL
پایگاه داده PostgreSQL با ارائه انواع دادههای متنوع، امکانات گستردهای برای طراحی سیستمهای دادهمحور فراهم میکند. انتخاب نوع داده مناسب برای هر فیلد، نقش کلیدی در بهینهسازی عملکرد، کاهش حجم ذخیرهسازی و افزایش دقت دادهها دارد. در این مقاله، به بررسی انواع دادههای پرکاربرد در PostgreSQL میپردازیم و نحوه استفاده از هر کدام را با مثالهای عملی توضیح میدهیم.
۱. انواع عددی (Numeric Types)
انواع عددی برای ذخیره مقادیر عددی استفاده میشوند و به دو دسته اصلی اعداد صحیح و اعداد اعشاری تقسیم میشوند. انتخاب نوع مناسب بر اساس محدوده و دقت مورد نیاز، از اهمیت بالایی برخوردار است.
| نوع داده | توضیحات |
|---|---|
smallint |
اعداد صحیح کوچک (۲ بایتی). |
integer یا int |
اعداد صحیح معمولی (۴ بایتی). |
bigint |
اعداد صحیح بزرگ (۸ بایتی). |
decimal یا numeric |
اعداد اعشاری با دقت دقیق (مثلاً برای پول). |
real |
اعداد اعشاری با دقت ۶ رقم. |
double precision |
اعداد اعشاری با دقت ۱۵ رقم. |
۲. انواع کاراکتری و رشتهای (Character Types)
این انواع برای ذخیره رشتههای متنی طراحی شدهاند و بسته به نیازهای کاربر، میتوانند با طول ثابت یا متغیر باشند. انتخاب نوع مناسب، به کاهش حجم ذخیرهسازی و بهبود عملکرد کمک میکند.
| نوع داده | توضیحات |
|---|---|
char(n) یا character(n) |
رشته با طول ثابت (پر شدن با فاصله). |
varchar(n) یا character varying(n) |
رشته با طول متغیر تا حداکثر n کاراکتر. |
text |
رشته با طول نامحدود (بدون محدودیت خاص). |
۳. انواع بولی (Boolean)
این نوع داده برای ذخیره مقادیر منطقی (درست یا نادرست) استفاده میشود و میتواند مقادیر true، false یا null را بپذیرد.
| نوع داده | توضیحات |
|---|---|
boolean |
میتواند مقادیر true، false یا null را بگیرد. |
۴. انواع تاریخ و زمان (Date/Time)
این انواع برای ذخیره تاریخ، زمان و فاصله زمانی طراحی شدهاند. استفاده از timestamptz به جای timestamp برای مدیریت منطقه زمانی توصیه میشود.
| نوع داده | توضیحات |
|---|---|
date |
فقط تاریخ (سال، ماه، روز). |
time |
فقط زمان (ساعت، دقیقه، ثانیه) بدون منطقه زمانی. |
timetz |
زمان با منطقه زمانی. |
timestamp |
تاریخ و زمان بدون منطقه زمانی. |
timestamptz |
تاریخ و زمان با منطقه زمانی (پیشنهاد میشود). |
interval |
فاصله زمانی (مثلاً "۱ روز و ۲ ساعت"). |
۵. انواع باینری (Binary)
این نوع داده برای ذخیره دادههای باینری مانند تصاویر، فایلها و سایر دادههای غیرمتنی استفاده میشود.
| نوع داده | توضیحات |
|---|---|
bytea |
برای ذخیره دادههای باینری (مثل فایلها یا تصاویر). |
۶. انواع خاص (Special)
این انواع برای کاربردهای خاص مانند ذخیره شناسههای یکتا، دادههای JSON و آرایهها طراحی شدهاند.
| نوع داده | توضیحات |
|---|---|
uuid |
برای ذخیره شناسههای یکتا (Universal Unique Identifiers). |
json |
برای ذخیره دادههای JSON. |
jsonb |
دادههای JSON به صورت باینری (پردازش سریعتر). |
array |
پشتیبانی از آرایه برای اکثر انواع داده. |
نتیجهگیری
انتخاب نوع داده مناسب در PostgreSQL، یکی از مهمترین مراحل در طراحی پایگاه داده است. برای بهینهسازی عملکرد و دقت، توصیه میشود از timestamptz به جای timestamp و jsonb به جای json استفاده کنید. این انواع داده، بهویژه در کاربردهای مدرن و پیچیده، بهعنوان پرکاربردترین و کاربردیترین گزینهها شناخته میشوند.
برای آموزشهای بیشتر در زمینه پایگاه داده و برنامهنویسی، به آموزشگاه وارنا پاد مراجعه کنید.
