Birlamchi kalit(PRIMARY KEY)
PRIMARY KEY ifodasi ustunni birlamchi kalitga aylantirish uchun ishlatilishi mumkin.
CREATE TABLE Customers
(
Id INT PRIMARY KEY,
Age INT,
FirstName NVARCHAR(20),
LastName NVARCHAR(20),
Email VARCHAR(30),
Phone VARCHAR(20)
)
Birlamchi kalit jadvaldagi qatorni indentifikasilaydi. Birlamchi kalit int ustunlari bo'lishi shart emas; ular boshqa tip ham bo’lishi mumkin.
Birlamchi kalitni jadval darajasida sozlash:
CREATE TABLE Customers
(
Id INT,
Age INT,
FirstName NVARCHAR(20),
LastName NVARCHAR(20),
Email VARCHAR(30),
Phone VARCHAR(20),
PRIMARY KEY(Id)
)
Birlamchi kalit murakkab(qo’shma) (compound key) kalit ham bo'lishi mumkin. Agar bizda jadvalning qatorini birdaniga ikkita ustun unikal aniqlashi kerak bo'lsa, bunday kalit ishlatilishi mumkin. Misol uchun:
CREATE TABLE OrderLines
(
OrderId INT,
ProductId INT,
Quantity INT,
Price MONEY,
PRIMARY KEY(OrderId, ProductId)
)
Bu yerda OrderId va ProductId maydonlari birgalikda qo’shma birlamchi kalit vazifasini bajaradi. Ya'ni, OrderLines jadvalida ikkala maydon bir vaqtning o`zida bir xil qiymatga ega bo'lgan ikkita qator bo'lishi mumkin emas.
IDENTITY
IDENTITY atributi ustunni identifikator qilishga imkon beradi. Ushbu atribut INT, SMALLINT, BIGINT, TYNIINT, DECIMAL va NUMERIC sonli tiplarining ustunlariga berilishi mumkin. Jadvalga yangi ma`lumotlar qo'shilganda, SQL Server ushbu ustun qiymatiga oxirgi yozuvdagi qiymatni bittaga oshirib yozib qo’yadi. Odatda, birlamchi kalitga ega bo’lgan ustun qator identifikatori vazifasini bajaradi, garchi printsipial jihatdan bu shart emas.
CREATE TABLE Customers
(
Id INT PRIMARY KEY IDENTITY,
Age INT,
FirstName NVARCHAR(20),
LastName NVARCHAR(20),
Email VARCHAR(30),
Phone VARCHAR(20)
)
Shuningdek atributning to'liq shaklidan foydalanish mumkin:
IDENTITY(seed, increment)
Bu yerda seed parametri hisoblashni boshlaydigan boshlang'ich qiymatini bildiradi. increment parametri keyingi qiymat qancha oshishini belgilaydi. Misol:
IDENTITY(1, 1)
yoki
Id INT IDENTITY (2, 3)
UNIQUE
Agar ustun faqat unikal qiymatlarga ega bo'lishini talab qilinsa, unda UNIQUE atributini ishlatiladi.
CREATE TABLE Customers
(
Id INT PRIMARY KEY IDENTITY,
Age INT,
FirstName NVARCHAR(20),
LastName NVARCHAR(20),
Email VARCHAR(30) UNIQUE,
Phone VARCHAR(20) UNIQUE
)
Bunday holda, elektron pochta manzili va telefon raqamini ko`rsatadigan ustunlar unikal qiymatlarga ega bo'ladi. Ushbu ustunlar uchun bir xil qiymatlarga ega bo'lgan jadvalga ikkita qator qo'sha olmaymiz.
Ushbu cheklovlarni jadval darajasida ham aniqlashimiz mumkin:
CREATE TABLE Customers
(
Id INT PRIMARY KEY IDENTITY,
Age INT,
FirstName NVARCHAR(20),
LastName NVARCHAR(20),
Email VARCHAR(30),
Phone VARCHAR(20),
UNIQUE(Email, Phone)
)
NULL va NOT NULL
Ustun NULL bo'lishi mumkinligini ko`rsatish uchun ustunni aniqlashda ustun atributini NULL yoki NOT NULL-ga o'rnatish mumkin. Agar ushbu atribut ko`rsatilmasa, ustun boshlang’ich holda NULL bo'ladi. Ustun birlamchi kalit vazifasini bajarganda NULL bo'lishi mumkin emas.
CREATE TABLE Customers
(
Id INT PRIMARY KEY IDENTITY,
Age INT,
FirstName NVARCHAR(20) NOT NULL,
LastName NVARCHAR(20) NOT NULL,
Email VARCHAR(30) UNIQUE,
Phone VARCHAR(20) UNIQUE
)
DEFAULT
DEFAULT atributi ustun uchun standart qiymatni belgilaydi. Agar ma`lumotlar qo'shilayotganda ustun uchun qiymat berilmagan bo'lsa, u uchun standart qiymat ishlatiladi.
CREATE TABLE Customers
(
Id INT PRIMARY KEY IDENTITY,
Age INT DEFAULT 18,
FirstName NVARCHAR(20) NOT NULL,
LastName NVARCHAR(20) NOT NULL,
Email VARCHAR(30) UNIQUE,
Phone VARCHAR(20) UNIQUE
);
Bu yerda Age ustunining standart qiymati 18 ga teng.
Do'stlaringiz bilan baham: |