دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۲
  • آبان

جلسه ۰۵ : انواع داده در SQLite

  • دسته‌بندی‌ها :
جلسه ۰۵ : انواع داده در SQLite
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، و کاربرانی که دوره آموزش SQLite را دنبال می کنند. هر دیتابیسی از جداولی تشکیل شده که هر جدول نیز شامل مجموعه ای از فیلدها یا ستون های مرتبط هستند که داده هایی را در خود ذخیره می کنند، نوع داده های فیلدها غالبا با یکدیگر متفاوت هستند، برخی فلیدها داده های عددی ، برخی رشته ها و برخی دیگر ممکن است نوع تاریخ و زمان را ذخیره کنند، مقدار فضای لازم برای ذخیره ی هر کدام از این نوع داده ها با یکدیگر متفاوت است از این رو SQLite به شما اجازه می دهد نوع داده ی فیلدهای جداول خود را تعیین کنید تا با این کار به بهینه سازی فضای هارد و عملکرد دیتابیس کمک کنید. برای این منظور بهتر است تا با انواع داده در SQLite آشنا شوید.

      آشنایی با انواع داده در SQLite 

      در این آموزش شما با انواع داده در SQLite که برای فیلدهای جداول تعریف شده آشنا خواهید شد.

      کلاس های ذخیره سازی در SQLite 

      هر مقداری که در دیتابیس SQLite ذخیره شده باشد، شامل یکی از کلاس های ذخیره سازی زیر است :

      ردیفکلاس های ذخیره سازی و توضیحات آن
      ۱NULL

      مقدار از نوع NULL است.

      ۲INTEGER

      مقدار یک عدد صحیح علامتدار است که در ۱, ۲, ۳, ۴, ۶, یا ۸ بیت ذخیره می شود.

      ۳REAL

      مقدار یک عدد اعشاری است، که به عنوان یک عدد اعشاری با استاندارد IEEE 8 بایت ذخیره می شود.

      ۴TEXT

      مقدار یک رشته متن است که با استفاده از کدگذاری پایگاه داده ذخیره می شود (UTF-8، UTF-16BE یا UTF-16LE).

      ۵BLOB

      مقدار یک مقدار داده است، دقیقا همانطور که وارد شد ذخیره می شود.

      کلاس ذخیره سازی SQLite کمی بیشتر از یک نوع داده است. برای مثال کلاس ذخیره سازی INTEGER شامل ۶ نوع داده های صحیح مختلف با طول های مختلف است.

      نوع وابستگی در SQLite

      SQLite از مفهوم نوع وابستگی بر روی ستون ها یا فیلدهای جداول پشتیبانی می کند.

      هر ستونی می تواند هر نوع داده ای را ذخیره کند، اما کلاس ذخیره سازی ترجیحی روی یک ستون affinity (نوع وابستگی) نامیده می شود.

      هر ستون جدول در یک پایگاه داده SQLite3 یکی از وابستگیهای نوع زیر است :

      ردیفوابستگی و توضیحات
      ۱TEXT

      این ستون تمام داده ها را با استفاده از کلاس های ذخیره سازی NULL، TEXT یا BLOB ذخیره می کند.

      ۲NUMERIC

      این ستون ممکن است شامل مقادیری با تمام پنج کلاس ذخیره سازی باشد.

      ۳INTEGER

      همانند یک ستون با میل NUMERIC (عددی)، با یک استثنا در یک عبارت CAST رفتار می کند.

      ۴REAL

      رفتارهایی مانند ستون با وابستگی NUMERIC (عددی) به جز آن که مقادیر عدد صحیح را در نمایش اعشاری وارد می کند.

      ۵NONE
      یک ستون با وابستگی NONE یک کلاس ذخیره سازی را بیش از دیگری ترجیح نمی دهد و هیچ تلاشی برای تحمیل داده ها از یک کلاس ذخیره سازی به دیگری نیست.

      وابستگی و نام نوع در SQLite

      جدول زیر لیست های مختلف نوع داده ها را لیست می کند که می توانند هنگام ایجاد جداول SQLite3 با وابستگی مربوطه مورد استفاده قرار گیرند:

      نوع دادهوابستگی
      • INT
      • INTEGER
      • TINYINT
      • SMALLINT
      • MEDIUMINT
      • BIGINT
      • UNSIGNED BIG INT
      • INT2
      • INT8
      INTEGER
      • (CHARACTER(20
      • (VARCHAR(255
      • (VARYING CHARACTER(255
      • (NCHAR(55
      • (NATIVE CHARACTER(70
      • (NVARCHAR(100
      • TEXT
      • CLOB
      TEXT
      • BLOB
      • no datatype specified
      NONE
      • REAL
      • DOUBLE
      • DOUBLE PRECISION
      • FLOAT
      REAL
      • NUMERIC
      • (DECIMAL(10,5
      • BOOLEAN
      • DATE
      • DATETIME
      NUMERIC

      نوع داده ی Boolean

      SQLite کلاس ذخیره سازی Boolean جداگانه ندارد و به جای آن مقادیر Boolean در قالب دو مقدار عددی ۰ (false) و ۱ (true) ذخیره می شوند.

      نوع داده ی تاریخ و زمان (Date and Time)

      SQLite کلاس جداگانه ای برای ذخیره سازی مقادیر تاریخ و زمان ندارد.

      اما SQLite قادر است مقادیر تاریخ و زمان را در قالب انواع مقادیر TEXT, REAL یا INTEGER ذخیره کند.

      ردیفکلاس های ذخیره ی تاریخ و فرمت آن
      ۱TEXT

      فرمت “YYYY-MM-DD HH:MM:SS.SSS”

      ۲REAL

      تعداد روزهای پس از ظهر در گرینویچ در تاریخ ۲۴ نوامبر، ۴۷۱۴ ب.سی.

      ۳INTEGER

      تعداد ثانیه ها از زمان ۱۹۷۰-۰۱-۰۱ ۰۰:۰۰:۰۰ UTC

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

      کلام آخر

      در هر یک از دیتابیس های قدرتمند در دنیا انواع داده از جمله انواع داده در SQLite برای مشخص کردن نوع داده ای که قرار است در هر فیلد ذخیره شود ارائه گردیده است ، مشخص کردن نوع داده برای هر فیلد در جداول دیتابیس، به بهبود عملکرد برنامه و بهینه سازی فضای هارد سیستم کمک می کند.

      QR:  جلسه ۰۵ : انواع داده در SQLite
      به اشتراک بگذارید