تعریف جدول و محدودیتهای داده
طراحی درست جدول در SQL Server شامل انتخاب نوع دادهی مناسب و تعریف Constraintهای لازم برای تضمین صحت داده است. برای کلید اصلی خودافزا از IDENTITY استفاده میشود:
CREATE TABLE Customers (
Id INT IDENTITY(1,1) PRIMARY KEY,
FullName NVARCHAR(150) NOT NULL,
Email NVARCHAR(150) NOT NULL UNIQUE,
RegisteredAt DATETIME2 DEFAULT GETDATE()
);
CREATE TABLE Orders (
Id INT IDENTITY(1,1) PRIMARY KEY,
CustomerId INT NOT NULL FOREIGN KEY REFERENCES Customers(Id),
Total DECIMAL(10, 2) NOT NULL CHECK (Total > 0),
CreatedAt DATETIME2 DEFAULT GETDATE()
);
استفاده از NVARCHAR بهجای VARCHAR برای متنهای فارسی و سایر زبانهای غیرانگلیسی ضروری است، چون NVARCHAR از یونیکد پشتیبانی میکند در حالی که VARCHAR فقط کاراکترهای صفحهکد محلی را ذخیره میکند. IDENTITY(1,1) به این معناست که شمارش از عدد ۱ شروع شده و هر بار ۱ واحد افزایش مییابد.
محدودیت CHECK تضمین میکند مقدار ستون Total همیشه مثبت باشد و از ثبت دادهی نامعتبر جلوگیری میکند. محدودیت FOREIGN KEY نیز ارتباط بین دو جدول را برقرار و از ثبت CustomerId نامعتبر جلوگیری میکند. DATETIME2 نسبت به نوع قدیمیتر DATETIME دقت بیشتری دارد و برای پروژههای جدید توصیه میشود. رعایت این اصول از همان ابتدای طراحی، از بسیاری از مشکلات دادهای در آینده جلوگیری میکند.