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



  • ۱
  • شهریور

جلسه ۴۹ : ویژگی AUTO INCREMENT در SQL

  • دسته‌بندی‌ها :
جلسه ۴۹ : ویژگی AUTO INCREMENT در SQL
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره آموزش کامل SQL را دنبال می کنند. در اکثر جداولی که در یک پایگاه داده در SQL ایجاد کرده اید، شما احساس می کنید که به یک فیلد شمارنده  نیاز دارید. که با افزودن هر رکورد به جدول، یک واحد به فیلد شمارنده اضافه گردد. یا حتی در زمانیکه می خواهید برای جدولی یک کلید اصلی تعریف کنید. اما فیلدی با مقادیر منحصر به فرد در جدول ندارید. می توانید یک فیلد شمارنده را به جدول اضافه کنید، و آن را به عنوان کلید اصلی جدول، تعریف کنید. در ادامه ی این آموزش شما را با ویژگی AUTO INCREMENT در SQL و ساختار تعریف AUTO INCREMENT در SQL ، برای ایجاد یک فیلد شمارنده، آشنا خواهیم کرد.

      ویژگی AUTO INCREMENT در SQL

      تعریف ویژگی AUTO INCREMENT روی یک فیلد در SQL، آن فیلد را به یک شمارنده تبدیل می کند.

      به این ترتیب،با افزودن هر رکوردی به جدولی که فیلد شمارنده دارد. یک واحد به شمارنده اضافه می گردد.

      فیلد شمارنده یکی از گزینه های مناسب برای تعریف به عنوان کلید اصلی است، چراکه مقادیر یکتا دارد.

      ساختار تعریف AUTO INCREMENT در SQL

      مثال:

      ایجاد جدولی با نام “Persons” که فیلد “ID” آن دارای ویژگی auto-increment است. و در پایان به عنوان کلید اصلی نیز تعریف شده است:

      مثال : 

      MySQL از کلمه کلیدی AUTO_INCREMENT برای تعریف ویژگی شمارنده در یک فیلد، استفاده می کند.

      AUTO_INCREMENT بصورت پیش فرض از ۱ شروع می کند و با افزودن هر رکوردی به جدول، یک واحد به شمارنده اضافه می کند.

      شما می توانید مانند مثال زیر، عدد شروع شمارش را در AUTO_INCREMENT خودتان تعیین کنید:

      مثال : 

      در مثال جدول “Persons”، دیگر نیازی نیست در زمان افزودن رکورد جدیدی به جدول، برای فیلد “ID” مقداری تعریف کنید:

      مثال : 

      در مثال فوق برای فیلدهای FirstName و LastName مقداری اختصاص یافته و مقدار فیلد “ID” بطور خودکار شمارش می شود.

      ساختار AUTO_INCREMENT در SQL Server

      مثال:

      تعریف ویژگی auto-increment و کلید اصلی برای فیلد “ID” در جدول “Persons”:

      مثال : 

      SQL Server از دستور IDENTITY برای تعریف ویژگی auto-increment روی فیلدها استفاده می کند.

      مثال بالا شروع شمارش برای فیلد “ID” را از ۱ تعیین می کند. و مشخص می کند برای هر رکوردی یک واحد اضافه شود.

      شما می توانید شروع شمارش و تعداد واحد شمارش به ازای هر رکورد را مانند نمونه زیر تغییر دهید:

      برای شروع شمارش از ۱۰ و به ازای هر رکورد اضافه شدن ۵ واحد به شمارنده : (IDENTITY(10,5

      اکنون برای افزودن رکورد جدید به جدول Persons دیگر نیازی به تخصیص مقداری برای فیلد “ID” نیست:

      مثال : 

      مثال بالا رکورد جدیدی را به جدول “Persons” تخصیص می دهد. و برای فیلد “ID” مقداری تخصیص نمی دهد.

      برای فیلد FirstName مقدار “Lars” و برای فیلد LastName مقدار “Monsen” تعریف شده و فیلد “ID” از شمارنده مقدار می گیرد.

      ساختار AUTO_INCREMENT در Access

      مثال:

      تعریف ویژگی auto-increment و کلید اصلی برای فیلد “ID” در جدول “Persons”:

      مثال : 

      Access از دستور AUTOINCREMENT برای تعریف ویژگی auto-increment روی فیلدها استفاده می کند.

      مثال بالا شروع شمارش برای فیلد “ID” را از ۱ تعیین می کند. و مشخص می کند برای هر رکوردی یک واحد اضافه شود.

      شما می توانید شروع شمارش و تعداد واحد شمارش به ازای هر رکورد را مانند نمونه زیر تغییر دهید:

      برای شروع شمارش از ۱۰ و به ازای هر رکورد اضافه شدن ۵ واحد به شمارنده :(AUTOINCREMENT(10,5

      اکنون برای افزودن رکورد جدید به جدول Persons دیگر نیازی به تخصیص مقداری برای فیلد “ID” نیست:

      مثال : 

      مثال بالا رکورد جدیدی را به جدول “Persons” تخصیص می دهد. و برای فیلد “ID” مقداری تخصیص نمی دهد.

      برای فیلد FirstName مقدار “Lars” و برای فیلد LastName مقدار “Monsen” تعریف شده و فیلد “ID” از شمارنده مقدار می گیرد.

      ساختار AUTO_INCREMENT در Oracle

      در Oracle کدها کمی پیچیده تر است.

      در Oracle از دستور CREATE SEQUENCE برای تعریف ویژگی auto-increment روی یک فیلد، استفاده می شود:

      مثال : 

      کد بالا یک آبجکت شمارنده با نام seq_person ایجاد می کند که شروع شمارش از ۱ بوده و با افزودن هر رکورد، یک واحد اضافه می کند.

      همچنین تعیین شده که تا ۱۰ شمارش انجام شده و مجددا از سر گرفته شود.

      گزینه cache،درواقع مشخص می کند که چند مقدار توالی در حافظه برای دسترسی سریع تر ذخیره شود.

      در افزودن رکورد جدیدی به جدول نیز، باید از تابع nextval استفاده شود:

      مثال : 

      مثال بالا، رکورد جدیدی را به جدول “Persons” اضافه می کند، و فیلد “ID” را نیز،قبلا، به عنوان شمارنده با نام seq_person تعریف کردیم.

      کلام آخر

      با افزودن ویژگی شمارنده به جداول، رکوردهای موجود در جدول از نظم خاصی برخوردار خواهند بود، و مهمتر اینکه یک فیلد با مقادیر منحصر به فرد، برای تعریف به عنوان کلید اصلی جدول خواهید داشت. امیدواریم که از مباحث ویژگی AUTO INCREMENT در SQL ، نهایت استفاده را برده باشید.

      QR:  جلسه ۴۹ : ویژگی AUTO INCREMENT در SQL
      به اشتراک بگذارید


      دیدگاه کاربران
      1. تصویر کاربر