Giáo trình SQL Server - Chương 6: Quản lý bảng trong SQL Server

Mụctiêu:

Kếtthúcchương, họcviên có thể:

Nắmđượccácbướctạo mộtbảng

Hiểu đượccáckiểu dữliệu trong SQLServer

Định nghĩađượccácràng buộctoàn vẹn vàhiểu đượcý nghĩacủacácràng buộc

Biếtđượccách cập nhậtvàxoámộtbảng bằng cách sửdụng T-SQLvàEnterpriseManager

Hiểu đượccáckháiniệmliên quan đến ràng buộcvàcácđốitượng ràng buộc

pdf20 trang | Chuyên mục: SQL Server | Chia sẻ: dkS00TYs | Lượt xem: 5607 | Lượt tải: 0download
Tóm tắt nội dung Giáo trình SQL Server - Chương 6: Quản lý bảng trong SQL Server, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 với một bảng đã tạo, chúng ta phải thay đổi lại cấu trúc hay các bản ghi của nó.. Một số 
bảng không còn dùng nữa có thể bị xóa khỏi CSDL. Những thao tác này có thể được thực hiện 
bằng T-SQL với Query Analyzer hoặc sử dụng Enterprise Manager.
6.3.1 Cập nhật bảng 
Sau khi một bảng được tạo, chúng ta có thể thay đổi những lựa chọn đã được thiết lập cho bảng 
lúc ban đầu. Những lựa chọn này là:
 Các trường có thể được thêm, sửa hoặc xoá. Ví dụ, tên trường, độ rộng, kiểu dữ liệu của 
trường cũng có thể được thay đổi. 
 Tên bảng có thể được thay đổi.
 Các bản ghi có thể được thêm, sửa và xoá.
Có hai cách sửa các trường trong một bảng là:
 The Enterprise Manager
 Transact-SQL
Với Enterprise Manager, việc cập nhật một bảng cực kỳ dễ. Chúng ta chỉ cần mở bảng đó ra, 
thực hiện những thay đổi cần thiết và lưu lại. Để mở bảng trong cửa sổ design, ta chọn Design 
Table bằng cách chọn nhấn phải chuột lên bảng như trong hình 6.7.
Quản lý bảng trong SQL Server 110
SQL Server
Hình 6.7: Sửa thiết kế của bảng
Cú pháp để thay đổi cấu trúc của một bảng sử dụng T-SQL là:
Cú pháp:
ALTER TABLE 
[ALTER COLUMN ]
|ADD [Column_name ]
| {DROP COLUMN }
Trong đó:
 là tên của bảng cần sửa.
ALTER COLUMN xác định những trường nào cần được sửa. 
 là tên của trường cần được sửa, xoá hoặc thêm. 
 là kiểu dữ liệu mới của trường được sửa. 
ADD xác định trường sẽ được thêm vào bảng. 
DROP COLUMN xác định trường sẽ bị xoá khỏi bảng.
Quản lý bảng trong SQL Server 111
SQL Server
6.3.2 Xoá bảng 
Khi một bảng không còn cần đến nữa hoặc khi chúng ta muốn thiết kế lại bảng, hoặc dọn dẹp 
CSDL, ta có thể xóa bảng đó khỏi CSDL. Khi xóa bảng, toàn bộ cấu trúc, các full-text indexes, 
các ràng buộc, các index của nó bị xóa vĩnh viễn khỏi CSDL. Không gian trước đây dùng để lưu 
bảng và các index được giải phóng. 
Sử dụng Enterprise Manager, chúng ta xóa bảng bằng cách kích vào bảng như hình 6.8 rồi chọn 
Delete.
Hình 6.8: Xoá một bảng
Sử dụng T-SQL và Query Analyzer, cú pháp để xoá một bảng như sau:
Cú pháp:
DROP TABLE 
Ví dụ:
DROP TABLE Airlines_Master 
Câu lệnh DROP TABLE không thể xoá được một bảng khi nó được tham chiếu bởi một ràng 
buộc khoá ngoại. Để có thể xóa nó, đầu tiên ta phải xóa ràng buộc khóa ngoại, hay bảng tham 
chiếu trước.
6.4 Ràng buộc và đối tượng ràng buộc (Constraint and Constraint object)
Bên cạnh toàn vẹn thực thể, chúng ta cũng có toàn vẹn miền (Domain integrity) để đảm bảo dữ 
liệu hợp lệ cho bảng. Trước khi ta tìm hiểu các công cụ của SQL Server 2000 để thực hiện toàn 
Quản lý bảng trong SQL Server 112
SQL Server
vẹn miền, chúng ta sẽ tìm hiểu ràng buộc là gì. Điều này giúp chúng ta tìm hiểu các kiểu ràng 
buộc khác nhau dùng để thực hiện toàn vẹn miền.
6.4.1 Ràng buộc và đối tượng ràng buộc 
Ràng buộc là một thuộc tính có thể được đặt trên một trường hay nhiều trường trong bảng, 
nhằm giới hạn dữ liệu được nhập vào các trường đó. Nếu dữ liệu đưa vào vi phạm ràng buộc, 
câu lệnh thực hiện sẽ không có tác dụng
SQL Server 2000 cung cấp ba ràng buộc: CHECK, DEFAULT, FOREIGN KEY, PRIMARY KEY 
và UNIQUE. Một vài ràng buộc trong số này đã được xem xét trong các phần trước.
DEFAULT
Mọi trường trong một bản ghi phải có giá trị, kể cả giá trị NULL. Nó không nên để trắng. Trong 
trường hợp mà giá trị null không đáp ứng được yêu cầu và dữ liệu mong muốn không có sẵn, tốt 
hơn ta nên đặt giá trị mặc định cho trường.Giá trị mặc định sẽ được lưu vào trường khi người 
dùng không chỉ ra bất kì giá trị nào cho nó.
Ví dụ, người ta thường dùng giá trị N.A khi số điện thoại của khách hàng 
không có. Hay một công ty có chính sách chỉ những người có cấp bậc từ 
L6 trở đi mới được nhận HRA (tiền trợ cấp thuê nhà). Vì vậy, trong 
trường HRA sẽ lưu N.A cho mọi nhân viên có cấp bậc dưới L.6 như hình 
6.9
 Bảng nhân viên
Mã nhân viên Tên nhân viên Cấp H.R.A
E001 Maria L7 7500
E002 Joseph L6 N.A
E003 Sheba L8 8500
E004 James L5 N.A
Hình 6.9: Các giá trị mặc định
Giá trị mặc định trên trường phải tương thích với kiểu dữ liệu trên trường đó. Ví dụ, giá trị mặc 
định cho một trường kiểu int phải là một số nguyên, không thể là một xâu ký tự.
Giá trị mặc định có thể được xác định ngay khi tạo bảng hoặc được thêm vào I sau. Hình 6.10 chỉ 
ra rằng giá trị mặc định ‘NA’ được đặt cho trường ‘Phone’.
Quản lý bảng trong SQL Server 113
Các giá trị mặc 
định
Khoá ngoại
SQL Server
Hình 6.10: Thêm các giá trị mặc định
Ràng buộc Khoá ngoại
Khóa ngoại là một trường hay nhiều trường dùng để tạo liên kết dữ liệu giữa hai bảng. Mối liên 
kết giữa hai bảng dựa trên một trường chung. Một trường là khóa chính trong bảng cha, một 
trường là khóa ngoại trong bảng con. Ví dụ, ‘PNR_No’ là khoá chính trong bảng Reservation và 
là khóa ngoài trong bảng Passenger như hình 6.11.
PNR_No Aircraft_code PNR_no Ticket_no Name
1 IC01 1 1 Allan Smith
2 BA02 1 2 Stell Smith
3 IC01 1 3 Pam Smith
4 BA02 2 4 Peter Jones
2 5 Lily Jones
Bảng cha - Reservation …….. ….. ……
…….. ….. ……
Hình 6.11: Khoá chính và khoá ngoại
Quản lý bảng trong SQL Server 114
Bảng con - Passenger
Khóa chính Khoá chính
SQL Server
Mục đích chính của khoá ngoại là kiểm soát dữ liệu được lưu trong bảng con. Một ràng buộc 
khóa ngoại đảm bảo rằng chỉ có dữ liệu đã tồn tại trong khoá chính của bảng cha mới được phép 
nhập cho khoá ngoại.
Một bảng có thể có nhiều khoá ngoại.
Một ràng buộc khóa ngoại không chỉ được dùng để liên kết đến ràng buộc khóa chính trong bảng 
khác; nó còn có thể tham chiếu tới các trường có ràng buộc duy nhất trong bảng khác.
SQL Server 2000, kiểm tra các dữ liệu đã có trong các trường khóa ngoại để đảm bảo rằng nó 
phải tham chiếu đến các trường khóa chính hay các trường có ràng buộc duy nhất trong bảng cha. 
Ràng buộc CHECK
Ràng buộc CHECK được dùng để hạn chế những dữ liệu lưu trong một trường.
Ví dụ, trường Class_code trong bảng Reservation có thể đặt ràng buộc CHECK chỉ cho phép 
nhận các giá trị: EX cho ghế hạng Sang, FC cho ghế hạng Nhất và E cho ghế hạng Kinh tế.
Khi đặt ràng buộc CHECK lên một bảng đã có dữ liệu, nó sẽ thực hiện việc kiểm tra trên những 
dữ liệu cũ và cả những dữ liệu sau này thêm vào.
6.4.2 Thêm các đối tượng ràng buộc vào bảng 
Ràng buộc có thể được tạo ngay khi tạo bảng hoặc có thể thêm vào sau này. 
 Tạo một ràng buộc khi tạo bảng 
Một ràng buộc thường được tạo khi tạo bảng. Nó được vào trong câu lệnh CREATE 
TABLE.
Cú pháp: 
CREATE TABLE Table_name
(
)
Trong đó:
 là định nghĩa cho mỗi trường của bảng.
 là bất cứ ràng buộc nào dành cho bảng hoặc các trường như khoá 
chính, ràng buộc CHECK.
 là tuỳ chọn. Nó cũng có thể được xác định sau khi tạo bảng. 
Quản lý bảng trong SQL Server 115
SQL Server
Hình 6.12: Tạo bảng cùng với ràng buộc
 Tạo một ràng buộc trên một bảng đã có
Một ràng buộc có thể được tạo trên một bảng đã có dữ liệu bằng câu lệnh ALTER TABLE. 
Cú pháp:
ALTER TABLE Table_name
ADD CONSTRAINT 
Cũng có thể xóa một ràng buộc và tạo ra một ràng buộc khác trên cùng một trường.
Hình 6.13: Thêm một ràng buộc vào một bảng đã tồn tại
Quản lý bảng trong SQL Server 116
SQL Server
Kết luận
 Một bảng là một tập hợp các bản ghi được xếp thành các hàng và cột. 
 Một CSDL bao gồm một số bảng, mỗi CSDL lưu một tập dữ liệu có liên quan.
 Một điều cực kỳ quan trọng để thiết kế CSDL là tạo ra một mô hình CSDL mức khái niệm.
 Khi chúng ta thiết kế một CSDL, chúng ta cần chọn kiểu bảng cần thiết, kiểu của dữ liệu sẽ 
được lưu trong mỗi bảng, và ai có quyền truy cập tới các bảng đó,…
 Chuẩn hoá là một tiến trình nhằm loại bỏ sự dư thừa từ dữ liệu đầu vào.
 Một bảng có thể được tạo bằng:
• Enterprise Manager hoặc
• Câu lệnh Transact-SQL trong Query Analyzer
 Câu lệnh để tạo một bảng sử dụng T-SQL là CREATE TABLE theo sau là tên bảng.
 Chúng ta có thể tạo một bảng mới với Enterprise Manager bằng cách chọn CSDL và sau đó 
chọn Action, New và Table.
 Các kiểu dữ liệu là một trong những điều quan trong nhất của T-SQL.
 Toàn vẹn dữ liệu có nghĩa là dữ liệu tin cậy và chính xác. Các ràng buộc được thiết kế để 
giữ cho dữ liệu nhất quán và chuẩn xác.
 Ý tưởng cơ bản của Toàn vẹn thực thể là chúng ta phải có khả năng xác định mỗi thực thể 
trong CSDL.
 Xác định trường khoá là bước đầu tiên bắt toàn vẹn thực thể. Sau đó ta xác định các khóa 
ngoại của bảng.
 Toàn vẹn miền hạn chế dữ liệu nhập vào trên một trường nào đó.
 Toàn vẹn tham chiếu duy trì quan hệ giữa các bảng khi thao tác các bản ghi. Toàn vẹn Tham 
chiếu đảm bảo giá trị khoá nhất quán trên các bảng.
 SQL Server 2000 cung cấp ba cơ chế cho toàn vẹn Thực thể: Khoá Chính, ràng buộc Duy 
nhất, và thuộc tính IDENTITY.
 Câu lệnh T-SQL để xoá một bảng là DROP TABLE tiếp theo là tên bảng.
 Một ràng buộc là một thuộc tính được đặt trên một trường hoặc một tập hợp các trường của 
một bảng để hạn chế dữ liệu nhập vào các trường đó.
Quản lý bảng trong SQL Server 117
SQL Server
Kiểm tra tiến bộ
1. _________________ là tiến trình loại bỏ sự dư thừa từ dữ liệu đầu vào.
2. Toàn vẹn dữ liệu có nghĩa là dữ liệu ____________ và ______________. 
3. Câu lệnh T-SQL để xoá một bảng là ______________ tiếp theo là tên bảng
4. SQL Server 2000 cung cấp ba cơ chế cho toàn vẹn Thực thể: _______________, 
__________________ và _____________________.
5. Chúng ta có thể tạo một bảng mới Enterprise Manager bằng cách chọn CSDL và sau đó 
chọn ______________, New và Table.
6. Một ________________ đảm bảo rằng chỉ có dữ liệu tồn tại trong khoá chính của bảng cha 
mới được phép nhập và khoá ngoại.
7. Chúng ta có thể sử dụng toàn vẹn __________ để đảm bảo rằng các giá trị lặp không được 
nhập vào một cột nhất định.
8. Một ______________ là một thuộc tính mà có thể được đặt trên một hoặc một tập các cột của 
trong bảng để hạn chế dữ liệu nhập vào các cột đó.
9. Một khoá tối thiểu là một khoá với số lượng trường _________.
10. Thuộc tính _________ sinh ra một giá trị duy nhất trong bảng và theo mặc định giá trị khởi 
tạo là 1.
Quản lý bảng trong SQL Server 118

File đính kèm:

  • pdfGiáo trình SQL Server - Chương 6_Quản lý bảng trong SQL Server.pdf
Tài liệu liên quan