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



  • ۲۶
  • آبان

جلسه ۲۷ : محدودیت ها در SQLite

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

      مقدمه

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

      محدودیت ها در SQLite

      در این آموزش با سینتکس انواع محدودیت ها در SQLite و نمونه ای از هر یک آشنا خواهید شد.

      Constraint ها در SQLite شامل موارد زیر هستند :

      • NOT NULL Constraint : تعیین می کند که یک ستون نمی تواند مقدار NULL بگیرد.
      • DEFAULT Constraint : زمانیکه مقداری برای یک ستون تعیین نشده باشد، یک مقدار پیش فرض برای آن در نظر می گیرد.
      • UNIQUE Constraint : تعیین می کند که تمام مقادیر داخل یک ستون باید متفاوت (یکتا) باشند.
      • PRIMARY Key : یک ستون را به عنوان کلید اصلی جدول در نظر می گیرد.
      • CHECK Constraint : تعیین می کند که مقادیر یک ستون شرایط خاصی داشته باشند.

      در ادامه با هر یک از Constraint ها در SQLite و کاربردهای هر یک آشنا می شوید.

      محدودیت NOT NULL

      در حالت پیش فرض هر از یک ستون ها می تواند مقادیر NULL را بپذیرد.

      اگر می خواهید که یک ستون مقادیر NULL را نپذیرد، می توانید از این محدودیت استفاده کنید.

      مقدار NULL به این معنی نیس که هیچ مقداری نیست، بلکه NULL یک مقدار ناشناخته است.

      مثال

      برای نمونه در SQLite جدولی با نام COMPANY و ۵ ستون به صورت زیر تعریف می کنیم.

      در این جدول ستون های ID و NAME و AGE مقادیر NULL را نمی پذیرند:

      مثال : 

      محدودیت DEFAULT

      محدودیت DEFAULT برای وقتی که دستور INSERT INTO شامل هیچ مقداری برای آن ستون نمی شود، یک مقدار پیش فرض اختصاص می دهد.

      مثال

      برای نمونه در SQLite جدولی با نام COMPANY و ۵ ستون تعریف می کنیم.

      به طوری که در این جدول برای ستون SALARY مقدار پیش فرض ۵۰۰۰٫۰۰ را در نظر می گیریم:

      مثال : 

      محدودیت UNIQUE

      محدودیت UNIQUE تعیین می کند که تمام مقادیر آن ستون باید یکتا بوده و با هم فرق داشته باشند.

      مثال

      برای نمونه در SQLite جدولی با نام COMPANY و ۵ ستون تعریف کرده که برای ستون AGE این جدول محدودیت UNIQUE را تعریف می کنیم :

      مثال : 

      محدودیت PRIMARY KEY

      این محدودیت یک ستون را به عنوان کلید اصلی آن جدول تعریف می کند.

      کلید اصلی همانند محدودیت UNIQUE اجازه ی تکراری بودن مقادیر ستون مربوطه را نمی دهد.

      اما در کلید اصلی بر خلاف UNIQUE در هر جدول فقط می تواند شامل یک کلید اصلی باشد.

      تعریف کلیدهای اصلی در زمان طراحی جداول از مهم ترین مباحث محسوب می شود.

      کلیدهای اصلی جداول ارتباط بین آن ها را برقرار می کنند.

      زمانیکه یک کلید اصلی در جدول دیگر کلید خارجی باشد، این دو جدول را می توان با یکدیگر نوعی ارتباط یک به یک داد.

      در SQLite یک فیلد کلید اصلی با برخی کدها می تواند مقادیر NULL را نیز بپذیرد، در حالیکه در سایر دیتابیس ها اینگونه نیست.

      یک کلید اصلی می تواند از چند فیلد آن جدول تشکیل شده باشد که در اینصورت به آن composite key گفته می شود.

      مثال

      اگر دقت کرده باشید در مثال های قبلی در جدول COMPANY فیلد ID را به عنوان کلید اصلی جدول تعریف کرده ایم:

      مثال : 

      محدویت CHECK

      این محدودیت بر اساس شرط هایی که در ساختار آن تعریف می کنیم، مقادیر را می پذیرد.

      در این محدودیت اگر مقداری که قرار است وارد این فیلد شود با شرط آن مطابقت نداشته باشد، آن را نمی پذیرد.

      مثال

      برای نمونه در SQLite جدولی با نام COMPANY و ۵ ستون تعریف کرده که در فیلد SALARY محدودیتی را اعمال می کنیم که مقادیر ۰ نپذیرد:

      مثال : 

      حذف محدودیت ها

      بعد از تعریف جدول ، تنها می توان با دستور ALTER TABLE امکان تغییر نام جدول و یا افزودن ستون را به کاربران داد.

      اما نمی توان برای کاربران امکان ، تغییر نام یا حذف ستون و افزودن و حذف محدودیت ها را تعریف کرد.

      کلام آخر

      در حالت پیش فرض تمام ستون های یک جدول مثل هم بوده و محدودیت خاصی ندارند، اما تقریبا در تمام موارد نیاز به تعریف یک یا چند محدودیت، حداقل تعریف کلید اصلی جداول را خواهید داشت، در این خصوص می توان از محدودیت ها در SQLit استفاده کرد.

      QR:  جلسه ۲۷ : محدودیت ها در SQLite
      به اشتراک بگذارید