راهنمای جامع انواع داده در MariaDB

راهنمای جامع انواع داده در MariaDB

mariadb_datatypes
برنامه نویسی

راهنمای جامع انواع داده در MariaDB

راهنمای جامع انواع داده در MariaDB 11

انتخاب نوع داده مناسب در MariaDB 11 یکی از مهم‌ترین تصمیم‌ها در طراحی پایگاه داده است. این انتخاب مستقیماً روی سرعت اجرای کوئری‌ها، یکپارچگی داده‌ها و مصرف فضای ذخیره‌سازی تأثیر می‌گذارد. اگر نوع داده را درست انتخاب کنید، دیتابیس شما سریع‌تر، سبک‌تر و مقیاس‌پذیرتر خواهد بود.

MariaDB به‌عنوان یک سیستم مدیریت پایگاه داده متن‌باز قدرتمند، مجموعه‌ای کامل از انواع داده را ارائه می‌دهد که هر کدام برای سناریوهای خاصی طراحی شده‌اند. در این راهنمای کامل، با همه Data Typeهای MariaDB 11 و کاربردهای آن‌ها آشنا می‌شوید.


دسته‌بندی انواع داده در MariaDB 11

انواع داده در MariaDB به ۶ گروه اصلی تقسیم می‌شوند:

  1. انواع عددی (Numeric Types)
  2. انواع رشته‌ای (String Types)
  3. انواع تاریخ و زمان (Date & Time Types)
  4. انواع JSON
  5. انواع ENUM و SET
  6. انواع فضایی (Spatial Types)

۱. انواع عددی (Numeric Types)

انواع عددی برای ذخیره اعداد صحیح و اعشاری استفاده می‌شوند و انتخاب درست آن‌ها تأثیر زیادی بر Performance دارد.

اعداد صحیح (Integer Types)

نوع داده محدوده Signed محدوده Unsigned حافظه کاربرد
TINYINT -128 تا 127 0 تا 255 1 بایت سن، وضعیت بولی
SMALLINT -32768 تا 32767 0 تا 65535 2 بایت تعداد کم، کد محصول
MEDIUMINT -8M تا 8M 0 تا 16M 3 بایت شمارش بازدید
INT حدود ±2 میلیارد تا 4 میلیارد 4 بایت شناسه‌ها (پرکاربرد)
BIGINT بسیار بزرگ بسیار بزرگ 8 بایت داده‌های حجیم

نکته مهم

همیشه کوچک‌ترین نوع داده ممکن را انتخاب کنید. مثلاً برای سن افراد، TINYINT بسیار بهینه‌تر از INT است.


اعداد اعشاری (Decimal & Floating)

نوع داده ویژگی کاربرد
DECIMAL دقت ثابت مالی و حسابداری
FLOAT دقت شناور کمتر داده‌های علمی سبک
DOUBLE دقت شناور بالا محاسبات دقیق

⚠️ هشدار مهم

برای داده‌های مالی همیشه از DECIMAL استفاده کنید؛ زیرا FLOAT و DOUBLE خطای گرد کردن دارند.

مثال عملی

CREATE TABLE products (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    price DECIMAL(10,2) NOT NULL,
    stock SMALLINT UNSIGNED DEFAULT 0,
    is_active TINYINT(1) DEFAULT 1
);

۲. انواع رشته‌ای (String Types)

رشته‌ها برای ذخیره متن، ایمیل، آدرس و داده‌های کاراکتری استفاده می‌شوند.

رشته‌های کاراکتری

نوع داده حداکثر طول ویژگی کاربرد
CHAR(n) 255 طول ثابت کد ملی، جنسیت
VARCHAR(n) 65535 طول متغیر نام، ایمیل
TEXT 64KB متن بلند توضیحات
MEDIUMTEXT 16MB متن خیلی بلند مقاله
LONGTEXT 4GB متن بسیار بزرگ اسناد حجیم

تفاوت CHAR و VARCHAR

  • CHAR همیشه فضای ثابت می‌گیرد
  • VARCHAR فقط به اندازه داده فضا مصرف می‌کند
  • در اکثر پروژه‌ها VARCHAR انتخاب بهتر است

مثال

CREATE TABLE users (
    national_code CHAR(10),
    full_name VARCHAR(100)
);

رشته‌های باینری

نوع داده کاربرد
BINARY / VARBINARY داده رمزنگاری‌شده
BLOB فایل باینری کوچک
MEDIUMBLOB فایل متوسط
LONGBLOB فایل بسیار بزرگ

🔐 نکته امنیتی: معمولاً بهتر است فایل‌ها را در File Server ذخیره کنید و فقط مسیرشان را در دیتابیس نگه دارید.


۳. انواع تاریخ و زمان (Date & Time)

انتخاب درست نوع زمانی برای گزارش‌گیری و لاگ‌ها بسیار مهم است.

نوع داده کاربرد
DATE فقط تاریخ
TIME مدت زمان
DATETIME تاریخ و زمان کامل
TIMESTAMP رویدادهای وابسته به timezone
YEAR فقط سال

تفاوت DATETIME و TIMESTAMP

DATETIME

  • مستقل از timezone
  • محدوده وسیع
  • مناسب اکثر پروژه‌ها

TIMESTAMP

  • وابسته به timezone
  • سبک‌تر
  • مناسب لاگ‌های سیستمی

مثال

CREATE TABLE orders (
    id INT PRIMARY KEY,
    order_date DATETIME DEFAULT CURRENT_TIMESTAMP,
    delivery_date DATE,
    preparation_time TIME,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

۴. نوع داده JSON در MariaDB 11

پشتیبانی از JSON در MariaDB 11 امکان ذخیره داده‌های نیمه‌ساخت‌یافته را فراهم می‌کند.

مزایا

  • اعتبارسنجی خودکار JSON
  • دسترسی به کلیدها
  • امکان ایندکس روی فیلدهای JSON
  • انعطاف‌پذیری بالا

مثال

CREATE TABLE products (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    attributes JSON
);

SELECT * FROM products
WHERE attributes->>'$.brand' = 'Dell';

۵. انواع ENUM و SET

این نوع‌ها برای مقادیر محدود بسیار کاربردی هستند.

نوع توضیح
ENUM فقط یک مقدار از لیست
SET چند مقدار از لیست

مثال

CREATE TABLE orders (
    id INT PRIMARY KEY,
    status ENUM('pending','processing','completed','cancelled'),
    flags SET('urgent','gift','priority')
);

✅ برای فیلدهای با گزینه محدود، ENUM بسیار بهینه است.


۶. انواع داده فضایی (Spatial Types)

برای پروژه‌های GIS و موقعیت مکانی استفاده می‌شوند.

نوع کاربرد
GEOMETRY نوع پایه
POINT مختصات
LINESTRING خط
POLYGON چندضلعی

مثال

CREATE TABLE locations (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    coordinates POINT
);

راهنمای انتخاب بهترین نوع داده در MariaDB

برای طراحی دیتابیس حرفه‌ای این اصول را رعایت کنید:

✅ قانون‌های طلایی

  • کوچک‌ترین نوع داده ممکن را انتخاب کنید
  • برای پول از DECIMAL استفاده کنید
  • برای متن کوتاه از VARCHAR استفاده کنید
  • از JSON فقط وقتی لازم است استفاده کنید
  • به ایندکس‌پذیری فیلدها توجه کنید
  • رشد آینده داده‌ها را پیش‌بینی کنید

جدول انتخاب سریع Data Type

سناریو نوع پیشنهادی
Primary Key INT
وضعیت بولی TINYINT
قیمت و پول DECIMAL
نام و ایمیل VARCHAR
کد ثابت CHAR
متن بلند TEXT
زمان رویداد DATETIME
داده منعطف JSON
گزینه محدود ENUM

جمع‌بندی

شناخت درست انواع داده در MariaDB 11 یکی از پایه‌های طراحی دیتابیس حرفه‌ای است. انتخاب هوشمندانه Data Type باعث می‌شود:

  • سرعت کوئری‌ها افزایش یابد
  • مصرف حافظه کاهش پیدا کند
  • مقیاس‌پذیری سیستم بهتر شود
  • یکپارچگی داده حفظ شود

اگر در هر جدول، نوع داده را آگاهانه انتخاب کنید، دیتابیس شما در بلندمدت پایدار و سریع باقی می‌ماند.


 

دیدگاه خود را اینجا بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فیلدهای دلخواه برای نمایش را انتخاب کنید. سایر فیلدها مخفی می شود. برای ترتیب دلخواه فیلدها را به محل دلخواه بکشید و رها کنید.
  • عكس
  • شناسه محصول
  • امتیاز
  • قیمت
  • موجودی
  • موجودی
  • افزودن به سبد خرید
  • توضیحات
  • محتوا
  • وزن
  • ابعاد
  • اطلاعات تکمیلی
برای مخفی شدن نوار مقایسه، بیرون از کادر کلیک کنید
مقایسه