آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش درج داده در sql

دوره های مرتبط با این مقاله

درج داده در sql

در هنگام درج داده، کاربران با فیلدهایی مواجه می شوند که به مقادیری نیاز دارند. گاهی به دلایلی، داده ای برای درج در آن ستون یا فیلد وجود ندارد. برای مثال، فیلد با نام MI را در نظر بگیرید: برخی افراد یا اسم دوم ندارند و یا تمایلی به درج آن ندارند. این اتفاق ممکن است برای هر فیلدی از جدول رخ دهد. بنابراین، بایستی راهی برای حل آن در نظر گرفت.
زمانی که هیچ مقداری در فیلد درج نگردد، در اصطلاح کامپیوتری به آن NULL می گویند.

  1. فیلدی که مقدارش NULL است، لزوما 0 نیست زیراکه 0 خود یک مقدار محسوب می شود.
  2. زمانی که گفته می شود فیلدی مقدارش NULL است، بدین معنی نیست که آن ستون یا فیلد خالی است. فیلدی تهی است که یا کاربر محتویات آن را کلا پاک کرده یا خود فیلد آن مقداری را که کاربر ارائه کرده را نمی پذیرد. آنچه لازم است به آن توجه داشته باشید، این است که فیلد تهی ممکن است دارای مقدار مشخصی باشد.

فیلدی که از آن به عنوان NULL یاد می شود، در واقع هیچ راهی برای تعیین و شناسایی مقدار آن وجود ندارد (در حقیقت، رایانه یا همان سیستم عامل، دارای مکانیزم داخلی و ویژه ی خود برای بررسی مقدار یک فیلد است) و یا مقدارش کاملا ناشناس است. همان طور که می دانید، می بایست تا حد امکان از NULL گذاشتن فیلد خودداری نمایید. به عنوان یک توسعه دهنده ی برنامه های پایگاه داده، این وظیفه ی شما است که از مقدار دقیق فیلدهای جدول آگاهی داشته و آن ها را کنترل نمایید.
فیلدی که مقدارش required است، کاربر بایستی پیش از رفتن به رکورد دیگر حتما مقداری را در آن درج نماید. به عبارتی روشن تر، کاربر نمی تواند فیلد را خالی بگذارد و حتما باید (حین درج اطلاعات) مقداری را در آن وارد کند.
آموزش حاضر را با پایگاه داده ی دانشگاه خود ادامه دهیم. برای اجرای سرویس های متعدد آن، دانشگاه دارای یک تیم مدیریتی می باشد که اعضای آن را رئیس دانشگاه، رئیس دانشکده و دیگر کارکنان تشکیل می دهند.
در این نسخه ی جدید از پایگاه داده، که آن را University3 نام گذاری می کنیم، جدول جدیدی ویژه ی employees ایجاد می کنیم. جدول مورد نظر در schema ای به نام Academics ذخیره می گردد.


آموزش کاربردی: معرفی مفهوم null پذیری (nullity)

1. کامپیوتر خود را راه اندازی کرده و وارد سیستم شوید (login کنید).
2. Microsoft SQL Server را اجرا کرده و دکمه ی Connect را کادر محاوره ای اتصال به سرور فشار دهید.
3. در پنجره ی Object Explorer، بر روی گره Database راست کلیک کرده و گزینه ی New Database... را انتخاب کنید.
4. اسم پایگاه داده را University3 وارد نمایید.
5. حال بر روی OK کلیک کنید.
6. در پنجره ی Object Explorer، گره University3 را گشوده، سپس گره فرزند آن Security را باز نمایید.
7. بر روی Schemas راست کلیک نموده و New Schema... را کلیک کنید.
8. اسم شِمای جدید را Academics انتخاب کنید.
9. حال بر روی OK کلیک کنید.
10. در زیر گره University3، بر روی Tables راست کلیک کرده، سپس New Table... را انتخاب کنید.
11. زمانی که جدول همچنان نمایان است، در پنجره ی Properties، بر روی Schema کلیک نموده، سپس آیکون هشتک لیست کشویی (combo box) آن را کلیک کنید و بعد از آن گزینه ی Academics را انتخاب نمایید.
12. ستون های زیر را برای جدول مورد نظر ایجاد نمایید:


Data Type
Column Name
nvarchar(20)
EmployeeNumber
nvarchar(25)
FirstName
nvarchar(25)
MiddleName
nvarchar(25)
LastName
nvarchar(50)
EmailAddress
nvarchar(30)
Username
nvarchar(24)
Password

13. برای ذخیره جدول مورد نظر، در standard toolbar، بر روی آیکون آموزش SQL کلیک کنید.
14. اسم جدول جدید را Employees انتخاب کنید.
15. اکنون بر روی دکمه ی OK کلیک کنید.


ایجاد یک ستون NULL یا NOT NULL به صورت ویزاردی

برای مدیریت مسئله ی فیلدهای null و required، مایکروسافت SQL دو گزینه ارائه می دهد: اجازه و عدم اجازه ی به NULL بودن فیلد. برای اینکه شرایط را طوری تنظیم کنیم که کاربر ملزوم به وارد کردن مقدار در فیلد مورد نظر شود، زمانی که جدول را به صورت ویژوال ایجاد می کنید، دستورهای زیر دنبال کنید:
1. در قسمت بالایی جدول، تیک checkbox مربوط به Allow Nulls را بردارید. با این حال، چنانچه به هر دلیلی مقدار فیلد از اهمیت چندانی برخوردار نیست، برای مثال اگر نمی خواهید مقدارش را در عملیات جبری بکار ببرید، در آن صورت می توانید کادر تیک Allow Nulls مربوط به آن فیلد را فعال کنید.
در بخش بالای جدول، بر روی ستون مورد نظر کلیک کنید. حال در بخش پایین جدول، بر روی آیکون هشتک لیست کشویی Allow Nulls کلیک کرده، سپس Yes را انتخاب کنید.


آموزش کاربردی: تنظیم null پذیری ستون

1. در بخش بالایی جدول، بر روی ستون EmployeeNumber کلیک کرده، سپس بر روی کادر تیک Allow Nulls مربوطه ی آن کلیک نمایید تا تیک آن برداشته شود.
2. حال جدول مورد نظر را به ترتیب زیر کامل کنید:


Allow Nulls
Column Name
Unchecked
EmployeeNumber
Checked
FirstName
Checked
MiddleName
Unchecked
LastName
Checked
EmailAddress
Checked
Username
Checked
Password

3. جدول را ذخیره کنید.


ایجاد ستون های NULL و NUT NULL با کدنویسی

چنانچه ستونی را به وسیله ی دستورات SQL ایجاد می کنید، برای تعریف قابلیت NULL پذیری آن، کلیدواژه ی NULL را در سمت راست تعریف ستون درج نمایید. برای اینکه مشخص کنیم ستونی required می باشد (کاربر را ملزوم کند پیش از رفتن به رکورد بعدی مقداری را در آن وارد کند)، در سمت راست تعریف ستون کلیدواژه ی NOT NULL را تایپ نمایید. اگر کلیدواژه ی NULL یا NOT NULL را مشخص نکنید، ستون به صورت پیش فرض NULL ایجاد می شود.


مثال:
CREATE TABLE Persons
(
    FirstName nvarchar(20) NULL,
    LastName nvarchar(20) NOT NULL,
    Gender smallint
);
GO

اگر جدول ایجاد شده و از قبل حاوی تعدادی مقدار می باشد، در آن صورت نمی توانید گزینه ی Allow Nulls را بر روی ستون هایی که مقدار ندارند، اعمال یا تنظیم نمایید.
پس از تعریف ستونی که مقدار NULL نمی پذیرد، اگر کاربر رکورد جدیدی ایجاد کند ولی مقداری برای آن ستون فراهم نکند، در آن صورت پیام خطا به نمایش در خواهد آمد.


مثال:
آموزش SQL

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


فرایند درج داده - ستون های NULL تعریف شده

اگر به ستونی اجازه دهید مقدار NULL بپذیرد، در آن صورت به هنگام درج داده، اگر مقداری برای ثبت در ستون ندارید، کافی است placeholder آن را تهی بگذارید:


CREATE TABLE Persons
(
    FirstName nvarchar(20) NULL,
    LastName nvarchar(20) NOT NULL,
    Gender smallint
);
GO
INSERT Persons(FirstName, LastName) -- The Gender is left out
VALUES(N'Martin', N'Binam');
GO
INSERT Persons(LastName, Gender) -- The FirstName is left out
VALUES(N'Howley', 2);
GO
INSERT Persons(LastName) -- The FirstName and the Gender are left out
VALUES(N'Crouch');
GO

در زمان درج و ورود داده در جدول، اگر جدول ستون هایی دارد که null پذیر است (و شما مقداری برای ستون null درنظر نگرفته اید)، باید لیست ستون ها را همانند مثال فوق ذکر کنید. برای ستونی که اسم آن ذکر نشده، موتور DB به صورت خودکار مقدار NULL را در نظر می گیرد. به عنوان جایگزینی برای این روش، T-SQL به شما این امکان را می دهد که لیست ستون ها نگه داشته یا هر لیست ستونی را بکار ببرید.


INSERT Persons -- All columns are used
VALUES(N'Alex', N'Hough', NULL);
GO
INSERT Persons(LastName, Gender, FirstName) -- The Gender will be set to null
VALUES(N'Kousseusseu', NULL, N'Tchipseu');
GO
INSERT Persons -- All columns are used
VALUES(NULL, N'Beltram', NULL),
      (NULL, N'Ohari', 1),
      (N'Jamrah', N'Belhassen', NULL);
GO

مقادیر پیش فرض ستون ها

گاهی بیشتر رکوردهایی که در زیر یک ستون قرار دارند دارای مقداری یکسان هستند، با این حال ممکن است مقدار تعدادی از رکورد های ستون نیز متفاوت باشد. به عنوان مثال می توان به یک موسسه آموزشی یا دانشگاه اشاره کرد که در پایگاه داده ی آن دانشجویان ثبت نام می شوند، عمده ی این دانشجویان به احتمال زیاد از یک ایالت یا استان هستند. در چنین شرایطی، می توانید به راحتی با ارائه ی مقدار به صورت خودکار ویژه ی آن ستون، به کاربر کمک نمایید. پس از آن کاربر فقط مقادیر را پذیرفته، سپس آن را در مواقعی محدودی که مقدار متفاوت است، جایگزین می کند. به منظور آسان ساختن این امر برای کاربر، در چنین شرایطی مقداری ایجاد می کنیم که مقدار پیش فرض یا default خوانده می شود.


ایجاد یک مقدار پیش فرض به صورت ویژوال

می توانید به هنگام ایجاد جدول، مقدار پیش فرض برای یک ستون در نظرگرفته و ایجاد نمایید. جهت تعریف و ایجاد مقدار پیش فرض یک ستون، ابتدا به بخش بالای جدول مراجعه نمایید، سپس بر روی ستون مورد نظر کلیک نمایید. حال در بخش پایین، بر روی Default Value or Binding کلیک نموده و بعد مقدار دلخواه را وارد نمایید.
در زمان مشخص کردن مقدار پیش فرض برای یک ستون، بایستی از قوانینی که با توجه به نوع داده ای آن ستون فرق می کند، پیروی نمایید:
1. مقادیر مبتنی بر متن نظیر char، varchar، varchar(max) و انواع مشتق آن را حتما داخل تک کوتیشن قرار دهید.
2. مقادیر عددی: مقدار را به صورت عدد وارد ستون مورد نظر نمایید، فقط به هنگام درج، قوانین مربوط به نوع داده ای را رعایت کنید. برای مثال جهت وارد کردن مقدار پولی یا ارزی از نوع داده ای money استفاده نمایید:


آموزش SQL

بار دیگر یاداور می شویم که باید از قوانین مبتنی بر نوع داده ای پیروی نمایید. برای مثال، چنانچه مقداری بزرگتر 255 برای نوع داده ای tinyint وارد کنید، با پیام خطا مواجه خواهید شد.
Bit: چنانچه مقدار false باشد در آن صورت مقدار 0 را وارد نمایید و در صورتی که مقدار true بود، می توانید هر عددی را درج کنید.


تخصیص مقدار پیش فرض به یک ستون

1. در کادر بالای Column Properties، بر روی Password کلیک کنید.
2. در کادر پایین صفحه، بر روی Default Value or Binding کلیک نمایید.
3. حال N'Password1' را وارد نمایید.


آموزش SQL

4. سرانجام جدول و تمامی تغییرات اعمال شده در آن را ذخیره نمایید.


ایجاد مقدار پیش فرض با کدنویسی

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


مثال:
CREATE TABLE Employees
(
    FullName NVARCHAR(50),
    Address NVARCHAR(80),
    City NVARCHAR(40),
    State NVARCHAR(40) DEFAULT L'NSW',
    PostalCode NVARCHAR(4) DEFAULT L'2000',
    Country NVARCHAR(20) DEFAULT L'Australia'
);
GO

در زمان درج داده در جدول مورد نظر، لزومی ندارد کاربر مقداری برای ستونی که از قبل یک مقدار پیش فرض برای آن تعریف شده، ارائه کند. به عبارتی دیگر، چنانچه کاربر مقداری هم برای آن ستون فراهم نکند، زمانی که رکورد ذخیره می گردد، همان مقدار پیش فرض مورد استفاده قرار می گیرد.
اگر کاربر مقداری برای ستون که دارای مقداری پیش فرض می باشد، ارائه کند و سپس مقدارش را حذف نماید، درآن صورت مقدار پیش فرض دیگر اعمال نمی گردد: بدین معنی که فیلد مورد نظر صرفا تهی خواهد شد.


تحمیل و درج مقدار پیش فرض به ستون در هنگام وارد کردن داده در جدول

در زمان درج داده با کد نویسی، چنانچه ستونی که دارای مقدار پیش فرض می باشد را در دستور ذکر نکنید، مقدار پیش فرض آن به ستون مربوطه اختصاص می یابد. از سوی دیگر، اگر چنین ستونی را در لیست دستور INSERT اضافه نکنید، می بایست یک مقدار پیش فرض فراهم نمایید یا مقداری تهی در ازای آن ارائه کنید. خوشبختانه، زبان T-SQL امکان تحمیل کردن مقدار پیش فرض به ستون مورد نظر را فراهم می کند. به منظور بهره گیری از این قابلیت، در placeholder یا مکان نگهدار مقدار ستون مورد نظر، کلیدواژه ی DEFAULT را بکار ببرید (روبروی اسم ستون و نوع داده ای آن، واژه ی کلیدی DEFAULT را تایپ نمایید).


مثال:
                            
 USE Exercise;
GO
CREATE TABLE Employees
(
    EmployeeNumber int,
    FirstName nvarchar(20),
    LastName nvarchar(20),
    HourlySalary money default 12.50
);
GO
INSERT INTO Employees
VALUES(28404, N'Amadou', N'Sulleyman', 18.85),
      (82948, N'Frank', N'Arndt', DEFAULT),
      (27749, N'Marc', N'Engolo', 14.50);
GO

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


منحصربفرد بودن رکوردها

یکی از مسائل بسیار مهمی که باید درنظر داشت، منحصربفردی رکوردها و قابلیت تمییز آن از دیکر رکورد ها است. در یک پایگاه داده، هر رکورد می بایست به صورت منحصربفردی تعریف (شناسایی) شده و از دیگر رکوردها متمایز باشد. Microsoft SQL Server چندین ابزار برای این منظور ارائه می دهد. این ابزار شامل ستون شناسه (identity)، کلید اصلی (primary key) و اندیس ها می باشد. در مباحث آتی درباره ی تمامی آیتم های ذکر شده بیشتر توضیح خواهیم داد. با این حال راهی برای انجام این کار وجود دارد که آن اعمال قانون uniqueness یا یکتایی بر روی ستون است.


ایجاد و اعمال قانون یکتایی بر روی ستون به صورت ویژوال

برای اعمال قابلیت یکتایی برای هر مقدار مورد ذخیره در ستون های جدول، در پنجره ی ایجاد و ویرایش جدول (Table window)، بر روی ستون دلخواه راست کلیک کرده، سپس Indexes/Keys... را انتخاب کنید.


آموزش SQL

در کادر محاوره ی Indexes/Keys dialog، بر روی گزینه ی Add کلیک نمایید. در سمت راست، گزینه ی Is Unique field را بر روی Yes تنظیم نمایید:


آموزش SQL

پس از انجام این کار، دکمه ی Close را فشار دهید.


آموزش کاربردی: اعمال قانون یکتایی بر روی یک ستون

1. در بخش بالایی جدول، بر روی ستون EmployeeNumber راست کلیک کرده، سپس گزینه ی Indexes/Keys... را کلیک نمایید.
2. در کادر محاوره ای Indexes/Keys، دکمه ی Add را کلیک کنید.
3. در سمت راست، بر روی گزینه ی Is Unique دوبار کلیک کرده تا مقدارش از No به Yes تغییر یابد.


آموزش SQL

4. حال دکمه ی Close را کلیک کنید.
5. جدول و تغییرات ایجاد شده در آن را ذخیره کنید.


اعمال قانون یکتایی بر روی ستون با کدنویسی

برای ایجاد ستون هایی که مقادیرش منحصربفرد است، زبان T-SQL کلیدواژه ی UNIQUE را ارائه می کند. برای اعمال آن بر روی ستون، پس از نوع داده ای مقدار، کافی است واژه ی کلیدی مزبور را درج نمایید.


مثال:
USE Exercise;
GO
CREATE TABLE Students
(
    StudentNumber int UNIQUE,
    FirstName nvarchar(50),
    LastName nvarchar(50) NOT NULL
);
GO

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


USE Exercise;
GO
CREATE TABLE Students
(
    StudentNumber int UNIQUE,
    FirstName nvarchar(50),
    LastName nvarchar(50) NOT NULL
);
GO
INSERT INTO Students
VALUES(24880, N'John', N'Scheels'),
      (92846, N'Rénée', N'Almonds'),
      (47196, N'Peter', N'Sansen'),
      (92846, N'Daly', N'Camara'),
      (36904, N'Peter', N'Sansen');
GO

پیش از اینکه رکورد چهارم درج گردد، از آن جایی که شماره دانشجویی مورد استفاده از قبل موجود می باشد، موتور پایگاه داده (DB) یک خطا صادر می کند:


Msg 2627, Level 14, State 1, Line 2
Violation of UNIQUE KEY constraint 'UQ__Students__DD81BF6C145C0A3F'. 
Cannot insert duplicate key in object 'dbo.Students'.
The statement has been terminated.

ستون های محاسباتی (Computed columns)

راه و روش های مختلفی برای کمک به کاربر در فرایند درج داده وجود دارد. به عنوان نمونه، می توان عبارتی ایجاد و آن را به یک ستون اعمال نمود به گونه ای که مقدار آن از ترکیب مقادیر دیگر بدست آید. چنین ستونی در اصطلاح ستون محاسباتی خوانده می شود.به عبارتی دیگر بعضی از داده‌ها از ترکیب و ادغام شدن چند داده دیگر حاصل می گردنند. به عنوان مثال شماره ی دانشجویی از ادغام چند داده ی مختلف دیگر بوجود می‌آید (همانند نیمسال ورودی، کد دانشگاه، کدرشته ی تحصیلی).
عبارت ستون محاسباتی را می توان در زمان ایجاد جدول، به صورت ویژوال یا کدنویسی ایجاد کرد.


ایجاد ستون محاسباتی به صورت ویژوال

برای این منظور، در حین ایجاد جدول، در بالاترین قسمت زبانه ی Column Properties، اسم ستون را مشخص نمایید. در بخش پایین و در زیر بخش Table Designer، فیلد Computed Column Specification را باز کرده، سپس در فیلد Formula، عبارت دلخواه را وارد نمایید. ابن عبارت می تواند شامل:

,br>
  1. مقادیری باشد که به جدول یا پایگاه داده ی مورد نظر هیچ ارتباطی ندارد، همچون اعداد ثابت، رشته ها و غیره ..
  2. یک یا چند ستون از جدولی یکسان باشد و هیچ مقدار خارجی در آن موجود نباشد. مثال:
  3. یک ستون از جدول مورد نظر به همراه مقادیر ثابت خارجی.

آموزش کاربردی: ایجاد یک عبارت برای ایجاد ستون محاسباتی

1. در بخش بالایی پنجره ی ویرایش جدول (Table window)، بر روی EmailAddress راست کلیک کرده و گزینه ی Insert Column را کلیک نمایید.
2. اسم را EmployeeName وارد کرده و کلید Tab را فشار دهید (نوع داده ای را در نظر نگیرید).
3. در بخش پایینی (تحت زبانه ی Column Properties)، بر روی دکمه ی " + " Computed Column Specification کلیک نمایید.
4. Formula را انتخاب کرده، سپس عبارت یا فرمول LastName + N', ' + FirstName را مقابل آن تایپ کنید.


آموزش SQL

5. جدول را بسته، تغییرات اعمال شده را با فشار دادن دکمه ی YES ذخیره کنید.
6. به پنجره ی Object Explorer مراجعه نموده، در زیر پایگاه داده ی University3، بر روی Tables کلیک کنید، سپس گزینه ی Refresh را انتخاب نمایید. حال بر روی Academics.Employees راست کلیک کرده، گزینه ی Edit Top 200 rows را انتخاب نمایید.
7. رکوردها را به ترتیب زیر ایجاد کنید:


LastName
MiddleName
FirstName
EmployeeNumber
Leighton
Henry
Donald
279227
Nolan
Alexander
582007
Parrish
Robert
Anthony
502494
Avrilien
Felicité
Laurentine
702048
Preston
John
Robert
927486
Lew
Simon
204850
Holms
Veronica
Jeannette
930248

8. جدول را ببندید.
9. در پنجره ی Object Explorer، بر روی Academics.Employees راست کلیک کنید، سپس گزینه ی Edit Top 200 rows را انتخاب نمایید.
10. اکنون جدول جاری را ببندید.


نوشتن عبارت ایجاد ستون محاسباتی با کدنویسی و دستورات SQL

همچنین می توان عبارت مورد نظر را با دستورات SQL و از طریق کدنویسی ایجاد کرد. برای این منظور، در مکان نگهدار ستون مورد نظر، اسم ستون را تایپ کنید، سپس کلید واژه ی AS و عبارت دلخواه را درج نمایید.


مثال:
CREATE TABLE Circle
(
    CircleID int identity(1,1) NOT NULL,
    Radius decimal(8, 3) NOT NULL,
    Area AS Radius * Radius * PI()
);
GO

استفاده از عبارت در حین درج داده

به هنگام درج داده در جدول مورد نظر، نباید برای ستونی که عبارت برای ایجاد آن درنظرگرفته شده، مقدار ارائه کرد، زیرا این کار به صورت خودکار توسط مفسر SQL صورت می گیرد. در زیر مثالی از درج داده را برای جدول Circle مشاهده می کنید:

INSERT INTO Circle(Radius) VALUES(46.82);
GO
INSERT INTO Circle(Radius) VALUES(8.15);
GO
INSERT INTO Circle(Radius) VALUES(122.57);
GO

ستون های ماندگار یا پایا (Persisted Columns)

هنگامی که ستونی را ایجاد می کنید که توسط عبارت ایجاد شده (ستون های محاسباتی)، ستون مورد نظر درواقع هیچ مقدار حقیقی از خودش ندارد، بلکه تنها نشانگر مقادیری است که از ترکیب مقدار ستون های دیگر یا ثوابت به وجود آمده اند. به چنین ستونی در اصطلاح پایگاه داده ستون مجازی یا virtual column می گویند. جدول زیر را درنظر بگیرید:


CREATE TABLE Employees
(
    EmployeeNumber nchar(60),
    FirstName nvarchar(20),
    LastName nvarchar(20),
    HourlySalary money,
    TimeWorkedInAWeek decimal(6, 2),
    FullName AS FirstName + N' ' + LastName,
    WeeklySalary AS HourlySalary * TimeWorkedInAWeek
);
GO

FullName درواقع ستونی است که مقادیر ترکیبی دو ستون FirstName و LastName را نمایش می دهد، بدین معنی که، برخلاف ستون های FirstName و LastName که دارای مقادیر واقعی هستند، ستون FullName هیچ مقدار حقیقی از خودش ندارد. زبان T-SQL به شما این امکان را می دهد که مقدار عبارت را در ستون ذخیره کنید. ذخیره سازی مقدار مورد نظر در ستون، تحت عنوان ماندگار سازی داده ها (data persisting) شناخته می شود.
برای اینکه از موتور پایگاه داده بخواهیم مقدار عبارت را (به عنوان یک مقدار مستقل و واقعی) ذخیره کند، چنانچه ستون مد نظرتان را به صورت ویژوال ایجاد می کنید، در بخش پایینی (زیر زبانه ی Column Properties)، زیر فیلد (Formula)، فیلد Is Persisted را بر روی Yes تنظیم کنید:


آموزش SQL

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


مثال:
CREATE TABLE Employees
(
    EmployeeNumber nchar(60),
    FirstName nvarchar(20),
    LastName nvarchar(20),
    HourlySalary money,
    TimeWorkedInAWeek decimal(6, 2),
    FullName AS LastName + N', ' + FirstName PERSISTED,
    WeeklySalary AS HourlySalary * TimeWorkedInAWeek
);
GO

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


دیگر خوصیصات و ویژگی های مربوط به رکورد: Is RowGuid

Is RowGuid یک خاصیت یا property است که به شما اجازه می دهد مشخص کنید، ستونی که خاصیت Identity آن بر روی Yes تنظیم شده می تواند به عنوان ROWGUID مورد استفاده قرار گیرد.
برای این منظور طراحی شده که شناسه ی سطر را در سرتاسر جدول، پایگاه داده و حتی پایگاه داده های مستقر بر شبکه کامپیوتری منحصر بفرد و یگانه شود.


تنظیمات زبان (Collation)

با استفاده از property یا خاصیت Collation می توانید تنظیمات تطبیق زبان را تعیین نمایید. برای آگاهی از زبان مورد استفاده ی سرویس دهنده، در Query Editor یا در پنجره ی فرمان PowerShell، دستور زیر را تایپ نمایید:


SELECT @@LANGUAGE;

  • 3548
  •    1294
  • تاریخ ارسال :   1394/11/04

دانلود PDF دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .