Quản lý bảng trong SQL Server
Trang 1Quản lý bảng trong SQL Server
Phần 4
Trang 2Concepts of RDBMS and SQL Server 2000/Session 4/ 2 of 37
Mục tiêu của chương
Tìm hiểu từng bước để tạo lập CSDL
Tìm hiểu các kiểu dữ liệu khác nhau trong SQL
Trang 4Concepts of RDBMS and SQL Server 2000/Session 4/ 4 of 37
Thiết kế các bảng trong SQL Server
Chuẩn hoá là quá trình loại bỏ các thông tin dư
thừa trên dữ liệu
Trang 5Các đặc điểm của sự chuẩn
hoá CSDL
Trang 6Concepts of RDBMS and SQL Server 2000/Session 4/ 6 of 37
Khi nào chúng ta
cần chuẩn hoá??
Trang 7Tạo lập các bảng bằng cách
sử dụng T-SQL
Trang 8Concepts of RDBMS and SQL Server 2000/Session 4/ 8 of 37
Trang 9T ạo lập các bảng bằng cách
Khi chọn vào tuỳ chọn Table, cửa sổ thiết kế xuất
hiện tại đó chúng ta có thể thiết kế cấu trúc bảng
Trang 10Concepts of RDBMS and SQL Server 2000/Session 4/ 10 of 37
Kiểu dữ liệu
Binary, varbinary, Numeric,
Decimal, float, real
Trang 11Các kiểu dữ liệu của hệ thống
Trang 12Concepts of RDBMS and SQL Server 2000/Session 4/ 12 of 37
Tính toàn vẹn dữ liệu (1)
Toàn vẹn dữliệu
Độ tin cậy Độ chính xác
Trang 13Ràng buộc tham chiếu
Ràng buộc người dùng định nghĩa
Ràng buộc người dùng định nghĩa Ràng buộc miền
Ràng buộc
Thực thể
Ràng buộc
Thực thể
Trang 14Concepts of RDBMS and SQL Server 2000/Session 4/ 14 of 37
Toàn vẹn thực thể
Trang 15Toàn vẹn miền
Trang 16Concepts of RDBMS and SQL Server 2000/Session 4/ 16 of 37
Toàn vẹn tham chiếu
Trang 17Toàn vẹn tham chiếu
If Child results
in Orphan
Records
Xoá
Trang 18Concepts of RDBMS and SQL Server 2000/Session 4/ 18 of 37
Các công cụ thực hiện toàn
vẹn dữ liệu
Trang 20Concepts of RDBMS and SQL Server 2000/Session 4/ 20 of 37
Trang 21Tính tối thiểu và Tính ổn định
Nhìn vào bảng trong trang trước, cột employee number (mã
nhân viên) có thể là khoá ứng cử viên, nhưng cột Social
Security Number hoặc kết hợp hai cột Social Security
Number và Grade cũng có thể là khoá ứng cử viên
Do đó làm thế nào để xác định được khoá ứng cử viên nào
có khả năng để trở thành khoá chính ? Có hai tiêu chí để lựa
chọn:
Tối thiểu
Trang 22Concepts of RDBMS and SQL Server 2000/Session 4/ 22 of 37
định nghĩa cấu trúc bảng
CREATE TABLE Table_name
<Column_definition> PRIMARY KEY
V í dụ :
CREATE TABLE Reservation
( PNR_no int PRIMARY KEY )
Lệnh này sẽ tạo ràng buộc khoá chính trên cột
PNR_no trong bảng Reservation
Trang 23Th êm khoá chính vào một
bảng đã tồn tại
ALTER TABLE Table_name ADD CONSTRAINT
<Constraint_name> PRIMARY KEY
(<Column_name>)
V í dụ :
ALTER TABLE Reservation ADD CONSTRAINT
PK_const PRIMARY KEY PNR_no
Trang 24Concepts of RDBMS and SQL Server 2000/Session 4/ 24 of 37
Ràng buộc duy nhất
Một cột hoặc một tổ hợp các cột không phải là khoá chính
Nhiều ràng buộc duy nhất có thể được định
nghĩa trong bảng, trong khi ngược lại trong
bảng chỉ có duy nhất một ràng buộc khoá
chính
Một cột cho phép các giá trị Null.
Các ràng buộc duy nhất có thể được định
nghĩa trên các cột cho phép nhận giá trị rỗng,
trong khi các ràng buộc khoá chính chỉ được
định nghĩa trên các cột không cho phép giá
trị rỗng.
Trang 26Concepts of RDBMS and SQL Server 2000/Session 4/ 26 of 37
Cập nhật cấu trúc của bảng bằng cách
sử dụng Enterprise Manager
Trang 27C ập nhật cấu trúc của bảng
ALTER TABLE <Table_Name> [ALTER
COLUMN <Column_name> <New_data
Trang 28Concepts of RDBMS and SQL Server 2000/Session 4/ 28 of 37
Trang 30Concepts of RDBMS and SQL Server 2000/Session 4/ 30 of 37
Ràng buộc
Một Ràng buộc là thuộc tính có thể
được đặt trên một cột hoặc một tập hợp
các cột trong bảng
Ràng buộc này nhằm hạn chế việc nhập
liệu trên một cột hoặc tập hợp các cột.
Nếu một ràng buộc bi vi phạm, câu lệnh
gây ra sự vi phạm sẽ bị chấm dứt hoặc
không có tác dụng.
Trang 31Các ràng buộc
Trang 32Concepts of RDBMS and SQL Server 2000/Session 4/ 32 of 37
Ràng buộc khoá ngoại
Điều khiển dữ liệu liên kết với khoá chính trong bảng cha và khoá ngoại được lưu trữ trong bảng con
Ràng buộc Check
Giới hạn các giá trị trong cột.
Ràng buộc Not Null
Không cho phép giá trị rỗng trong cột.
Trang 33Ràng buộc Default
N ó được sử dụng với một cột của bảng
khi:
Kh ông có giá trị nhập vào
Kh ông cho phép giá trị rỗng
Trang 34Concepts of RDBMS and SQL Server 2000/Session 4/ 34 of 37
Ràng buộc khoá ngoại
Trang 35 Không chứa ký hiệu “$”
Trang 36Concepts of RDBMS and SQL Server 2000/Session 4/ 36 of 37
tạo bảng
Trang 37Th êm ràng buộc vào một
bảng đã tồn tại