Thứ Ba, 26 tháng 5, 2015

SQL - Bài 3: Tạo và làm việc với bảng

Mục đích của bài viết này là tạo ra 2 bảng tblPerson and tblGender  và thiết lập khóa chính và các ràng buộc khóa ngoại. Trong SQL Server, các bảng cỏ thể được tạo bằng cách sử dụng màn hình đồ họa sử dụng SQL Server Management Studio (SSMS) hoặc sử dụng câu lệnh truy vấn.

Tạo bảng tblPerson trên màn hình đồ họa, sử dụng SQL Management Studio (SSMS)
1. Click chuột phải vào Tables folder trong cửa sổ Object explorer
2. Chọn New Tables
3. Điền Column Name(tên cột), Data Type (kiểu dữ liệu), và All Nulls (cho phép Null hay không) và lựu lại với tên tblPerson

Các lệnh dưới tạo bảng tblGender, với 2 cột ID và Gender. Cột ID là khóa chính (primary key). Khóa chính được tạo để xác định thuộc tính duy nhất của một bảng nhằm phân biệt với các bảng khác (khóa chính có thể gồm một hoặc nhiều thuộc tính), khóa chính không được phép Null. 
Create Table tblGender
(ID int Not Null Primary Key,
Gender nvarchar(50))

Trong bảng tblPerson thuộc tính GenderID là khóa ngoại (foreign key) referencing đến cột ID trong bảng tblGender. Khóa ngoại có thể được tạo bằng cách sử dụng SSMS hoặc dùng câu lệnh truy vấn.

Cách sử dụng màn hình giao diện để thiết lập khóa ngoại
Phương pháp này khá dài dòng và không hữu dụng nên tôi sẽ bỏ qua, bạn nào muốn có thể tìm hiểu thêm.

Cách sử dụng cậu lệnh truy vấn SQl để tạo ràng buộc khóa ngoại
Alter table tblPerson 
add constraint tblPerson_GenderId_FK FOREIGN KEY (GenderId) references tblGender(ID)
To add a foreign key reference using a query


Công thức chung ở đây là:
Alter table ForeignKeyTable add constraint ForeignKeyTable_ForiegnKeyColumn_FK 
FOREIGN KEY (ForiegnKeyColumn) references PrimaryKeyTable (PrimaryKeyColumn)

Khóa ngoại được sử dụng để thực thi trọn vẹn cơ sở dữ liệu. Một khóa ngoại trong một bảng chỉ tới khóa chính trong bảng khác. Các ràng buộc khóa ngoại ngăn không cho dữ liệu không hợp lệ đưa vào các cột bên ngoài. Các giá trị nhập vào một cột ở bên ngoài phải là một trong những giá trị khóa chính trỏ tới










Không có nhận xét nào:

Đăng nhận xét