Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
645,88 KB
Nội dung
SQL Server Chương 6 Quản lý bảng trong SQL Server Mục tiêu: Kết thúc chương, học viên có thể: Nắm được các bước tạo một bảng Hiểu được các kiểu dữ liệu trong SQL Server Định nghĩa được các ràng buộc toàn vẹn và hiểu được ý nghĩa của các ràng buộc Biết được cách cập nhật và xoá một bảng bằng cách sử dụng T-SQL và Enterprise Manager Hiểu được các khái niệm liên quan đến ràng buộc và các đối tượng ràng buộc 6.1 Giới thiệu Trong bài trước, ta đã xem xét những tính năng của hệ quản trị CSDL quan hệ (RDBMS) SQL Server. Chúng ta đã biết các cách khác nhau để kích hoạt Enterprise Manager, cách khởi động và dừng SQL Server. Việc đặt cấu hình cho SQL Server với nhiều tùy chọn khác nhau cũng là phần quan trọng trong bài trước. Chúng ta cũng đã xem xét cách tạo, xóa và copy CSDL. 6.1.1 CSDL và bảng CSDL Một bảng là một tập hợp các bản ghi có quan hệ với nhau được xếp thành các hàng và cột. Mỗi CSDL bao gồm một số bảng, mỗi bảng chứa một tập hợp dữ liệu liên quan. Các bảng trong một CSDL có quan hệ với nhau. Chúng ta hãy xem xét một CDSL dùng để lưu trữ dữ liệu của một “Hệ thống đặt vé máy bay”. Những thông tin chi tiết của các hành khách, người đã đặt vé, có thể được lưu trong bảng Reservation. Trong khi những thông tin về việc huỷ vé có thể được lưu trong bảng “Cancellation”. Hơn nữa, ngày và giờ của các chuyến bay có thể được lưu trong một bảng khác. Danh sách vé cũng được lưu trong một bảng khác. Tất cả các bảng liên quan đến đặt chỗ vé bay được lưu trong một CSDL “Airlines”. Mặt khác, bảng chứa thông tin về việc nghỉ phép của nhân viên của hãng hàng không không phù hợp với CSDL này, vì nó không liên quan gì đến việc đặt vé máy bay. 6.1.2 Thiết kế bảng và CSDL Một việc rất quan trọng khi thiết kế CSDL là phải tạo được mô hình CSDL mức khái niệm (còn gọi là “blueprint” hay “Conceptual model”). Mô hình bản thiết kế CSDL phải đảm bảo CSDL đó có thể đáp ứng được những nhu cầu hiện tại và sau này của doanh nghiệp. Người thiết kế CSDL phải nhớ rằng mô hình CSDL mức khái niệm không phụ thuộc vào mô hình CSDL (dù là mô hình phân cấp, mô hình mạng hay mô hình quan hệ). Thêm nữa, Mô hình CSDL mức khái niệm của CSDL cũng không được phụ thuộc vào ứng dụng, phần cứng, phần mềm để đảm bảo chỉ có những thông tin cần thiết và đúng đắn được lưu trữ trong CSDL. Quản lý bảng trong SQL Server 99 SQL Server Khi thiết kế CSDL, ta phải xác định những bảng nào cần thiết, mỗi bảng sẽ lưu trữ dữ liệu nào, ai được phép truy nhập vào từng bảng, … Ở phần tạo và làm việc với bảng, ta sẽ xem xét chi tiết hơn Cách hiệu quả nhất để định nghĩa bảng là tạo ra tất cả những gì cần thiết cho bảng tại thời điểm tạo bảng, bao gồm các ràng buộc dữ liệu, và một số các thành phần khác. Tuy nhiên trong một số trường hợp bạn cũng có thể tạo ra một bảng có thể chưa đầy đủ, thêm một ít dữ liệu vào đó, sau đó thử làm việc trên bảng đó. Cách thức này giúp chúng ta nhận thấy những kiểu giao dịch nào thường xuyên xẩy ra và những kiểu dữ liệu nào thường xuyên được nhập vào bảng trước khi chúng ta chấp nhận thiết kế đó của bảng. Chúng ta nên phác thảo cấu trúc của bảng trên giấy trước khi tạo bảng. Có một vài điểm cần nhớ khi tạo bảng là: Bảng sẽ chứa những kiểu dữ liệu gì Các trường trong bảng và kiểu dữ liệu của từng trường (và kích thước của trường nếu cần thiết) Những trường nào chấp nhận giá trị Null? Tên trường Trường nào cần đặt giá trị mặc định và xác định các điều kiện để đảm bảo dữ liệu hợp lệ cho trường. Trường nào cần đặt index và xác định loại index phù hợp cho trường đó. Xác định những trường nào là khóa chính, trường nào là khóa ngoại. Giá trị mặc định, khoá chính, khoá ngoại sẽ được giới thiệu chi tiết trong phần sau của chương này. 6.1.3 Chuẩn hoá dữ liệu Chuẩn hóa là quá trình loại bỏ những dữ liệu dư thừa (hoặc không mong muốn) từ dữ liệu đầu vào. Hãy xem CSDL như một tủ quần áo. Chúng ta nên phân loại chúng như: quần, áo, cà vạt, tất, và xếp chúng ở những ngăn riêng biệt. Nếu chúng ta để tất không thành đôi ở nhiều nơi khác nhau, chúng ta sẽ không bao giờ tìm thấy một đôi để đi vào buổi sáng hôm sau. Nếu chúng ta để lẫn cả cà vạt và tất, ta cũng sẽ rất khó tìm và đi chúng trong một thời gian ngắn. Cho nên tất cả dữ liệu phải được nhóm vào nhau một cách phù hợp, giống như tất phải để thành đôi. Không nên để bất kì dữ liệu không phù hợp vào trong bảng. Dữ liệu liên quan với nhau cũng phải được đặt vào một bảng thích hợp. Chuẩn hóa là một kĩ thuật giúp người dùng nhóm các dữ liệu liên quan với nhau và đặt dữ liệu đó vào trong một bảng phù hợp. Do đó, chúng ta phải chuẩn hóa CSDL trước khi bắt đầu làm việc với nó. Có một số dạng chuẩn hóa đã được công nhận và được sử dụng rộng rãi. Một CSDL chuẩn hoá nên có những đặc trưng sau: Quản lý bảng trong SQL Server 100 Chú ý : NULL là một mục mà không được gán giá trị một cách tường minh. NULL không phải bằng với 0 hoặc trắng. Vì vậy hai giá trị Null là không bằng nhau. SQL Server Mỗi bảng phải có một trường khoá. Không được có các trường trùng nhau Mỗi bảng phải chứa thông tin về một thực thể đơn. Thực thể có thể là một địa điểm, đối tượng, sự kiện hoặc một con người. Ví dụ: Các quyển sách, Giáo viên, Nhân viên. Mỗi trường trong bảng phải phụ thuộc vào khoá chính. Tất cả các trường không là khoá chính phải độc lập với nhau. Khi nào thì dùng chuẩn hoá? Chuẩn hóa được áp dụng trong những tình huống sau: Dữ liệu nhiều và nằm rải rác. Không có nhóm dữ liệu được định nghĩa. Dữ liệu quá phức tạp. Bước đầu tiên để xây dựng ứng dụng CSDL. 6.2 Tạo các bảng CSDL Sau khi cấu trúc bảng đã được xác định, bảng có thể được tạo. Dữ liệu thường được lưu trong các bảng cố định. Bất kì người dùng nào có quyền phù hợp đều có thể sử dụng bảng, bảng sẽ tồn tại trong CSDL cho đến khi chúng bị xóa đi. 6.2.1 Tạo bảng với Enterprise Manager hoặc T-SQL Một bảng có thể được tạo bằng cách dùng: Enterprise Manager hoặc Các câu lệnh Transact-SQL trong Query Analyzer Cú pháp để tạo một bảng sử dụng T-SQL là: CREATE TABLE <Table_Name> (<Column_Name> <Data_Type>) Ví dụ: CREATE TABLE Airlines_Master (Aircode CHAR(2), Airline_name VARCHAR(15)) 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 các lựa chọn Action, New và Table. Quản lý bảng trong SQL Server 101 SQL Server Figure 6.1: Tạo một bảng mới Khi chọn Table, cửa sổ thiết kế hiện lên để ta có thể nhập vào cấu trúc của bảng. Giả sử chúng ta muốn tạo một bảng tên là ‘Airlines_master’ có hai trường ‘Air code’ và ‘Airline_name’. Chúng ta nhập vào tên trường, độ rộng và các kiểu dữ liệu cho hai trường này và lưu bảng với tên là Airlines_master. Figure 6.2: Adding fields to a table 6.2.2 Kiểu dữ liệu và ràng buộc toàn vẹn Kiểu dữ liệu là một trong những điều quan trọng nhất của T-SQL. Dữ liệu trong một bảng của SQL Server 2000 được định nghĩa bởi kiểu dữ liệu của nó. Nó chỉ rõ loại thông tin nào có thể được lưu trong một cột. Khi tạo bảng, đầu tiên chúng ta phải xác định kiểu dữ liệu cho từng trường trong bảng. Kiểu dữ liệu xác định những giá trị cho phép lưu vào trường. Ví dụ, nếu chúng ta chỉ muốn lưu tên vào Quản lý bảng trong SQL Server 102 SQL Server một trường, chúng ta có thể đặt kiểu dữ liệu ‘character’ cho trường đó. Nếu chúng ta muốn một trường nào đó chỉ lưu các giá trị số, ta đặt kiểu dữ liệu của trường đó là ‘numeric’. Các kiểu dữ liệu hệ thống là những kiểu dữ liệu do SQL Server 2000 cung cấp. Những kiểu dữ liệu này đều chỉ rõ số lượng byte được cấp phát đề lưu trữ dữ liệu, và dạng dữ liệu nào có thể được lưu trữ. Xác định một kiểu dữ liệu cho trường đảm bảo rằng chỉ có kiểu dữ liệu đó mới được lưu vào trong trường. Ví dụ, ‘TWO’ không thể được lưu vào trong trường có kiểu dữ liệu là ‘int’. Nhưng số 2 có thể được lưu vào trường có kiểu dữ liệu là ‘character’ hoặc ‘int’. Hình 6.3 mô tả các kiểu dữ liệu khác nhau trong SQL Server 2000. Figure 6.3: SQL Server data types Một số kiểu dữ liệu hệ thống thường được dùng được liệt kê trong bảng sau. Kiểu dữ liệu Mô tả Kiểu dữ liệu binary - Kiểu dữ liệu binary bao gồm các số hecxa. Có ba dạng của kiểu dữ liệu binary. Binary: Cú pháp: binary [(n)] Varbinary: Cú pháp: varbinary [(n)] Image: Cú pháp: image Quản lý bảng trong SQL Server 103 char varchar nchar nvarchar text ntext char varchar char varchar nchar nvarchar char varchar nchar char char cha char varchar nchar nvarchar char varchar nchar nvarchar char varchar char SQL Server Kiểu dữ liệu Text – Kiểu dữ liệu ký tự bao gồm một tổ hợp các chữ cái, các ký hiệu hoặc các chữ số. Kiểu dữ liệu Nchar và nvarchar lưu kí tự theo tiêu chuẩn Unicode. Char: Cú pháp:char [(n)] Varchar: Cú pháp: varchar [(n)] Nchar: Cú pháp: nchar [(n)] Nvarchar: Cú pháp: nvarchar [(n)] Text: Cú pháp: text Ntext: Cú pháp: ntext Date và time – Dữ liệu ngày tháng được đặt trong dấu nháy đơn. Thứ tự giữa chúng không quan trọng. Có thể đặt ngày tháng truớc thời gian hoặc ngược lại. Datetime: Cú pháp : datetime Smalldatetime Cú pháp: Smalldatetime Dữ liệu Numeric – Dữ liệu này chỉ bao gồm các số. Nó gồm các số dương, số âm, và số thập phân. Dữ liệu Integer: Bao gồm các số nguyên dương và nguyên âm, như -15, 0, 5, 2509. Có bốn dạng khác nhau của kiểu dữ liệu Integer int, smallint, tinyint, bigint. Dữ liệu Decimal: float, real Kiểu dữ liệu Monetary - Kiểu dữ liệu Monetary (tiền tệ) lưu trữ các giá trị tiền tệ với độ chính xác là bốn chữ số sau dấu phẩy. . Money: Cú pháp: Money Smallmoney: Cú pháp: smallmoney Kiểu dữ liệu Bit – Kiểu dữ liệu này có thể lưu giá trị 1 hoặc 0 Bit: Cú pháp:Bit sql_variant – Đây là kiểu dữ liệu lưu giá trị của các kiểu dữ liệu khác trong SQL Server 2000. sql_variant: Cú pháp:Sql_variant Bảng 6.1: Các kiểu dữ liệu của SQL Server Toàn vẹn dữ liệu đóng một vai trò rất quan trọng trong một môi trường RDBMS lớn có nhiều người cùng sử dụng. Chúng ta không thể mong đợi người sử dụng sẽ nhập những dữ liệu đúng đắn. Do đó, trong khi tạo bảng, chúng ta phải chú ý và đảm bảo chỉ những dữ liệu hợp lệ mới được phép nhập vào CSDL. Toàn vẹn dữ liệu (Data integrity) chỉ sự tin cậy và chính xác của dữ liệu. Các qui tắc toàn vẹn dữ liệu (Integrity rules) được thiết lập để đảm bảo dữ liệu nhất quán và chính xác. Những qui tắc Quản lý bảng trong SQL Server 104 SQL Server này sẽ thực hiện việc kiểm tra dữ liệu đầu vào, chỉ những dữ liệu hợp lệ mới cho phép lưu trữ. Chúng ta thường nghe câu châm ngôn “ “Garbage in, garbage out ” ”. Lí do chính mà chúng ta dùng một CSDL để lưu trữ dữ liệu mà không dùng các bảng tính hoặc bộ xử lí văn bản là vì nó ngăn không cho lưu trữ những dữ liệu vô nghĩa (dữ liệu rác hoặc dữ liệu không chính xác). Điều này được thực hiện bằng việc sử dụng toàn vẹn dữ liệu. Mọi DBMS hay RDBMS đều hỗ trợ nhiều công cụ cho việc duy trì sự toàn vẹn dữ liệu. Chú ý: Toàn vẹn dữ liệu đảm bảo rằng tất cả dữ liệu lưu trữ trong CSDL là hợp lệ. CSDL sẽ mất tính toàn vẹn dữ liệu của nó khi nó cho phép lưu trữ những dữ liệu không hợp lệ. Việc thực hiện toàn vẹn dữ liệu đảm bảo sự đúng đắn và chính xác của dữ liệu trong CSDL. Ví dụ, nếu một Employee ID (mã nhân viên) trong bảng Employee (Nhân viên) được nhập là “123”, CSDL sẽ không cho phép lưu trữ một bản ghi khác mà Employee ID có cùng giá trị, vì không thể có hai nhân viên có cùng một số ID. Nếu chúng ta có trường Employee-rating chỉ có thể nhận các giá trị từ 1 đến 5, CSDL khi đó sẽ không cho phép lưu trữ giá trị 6 vào trong trường đó. Nếu bảng đó có trường Department để lưu thông tin về phòng ban của nhân viên, CSDL khi đó sẽ chỉ cho phép những phòng ban nào có trong công ty mới được phép lưu vào trường. Toàn vẹn dữ liệu có thể phân làm bốn loại như hình vẽ 6.4 Hình 6.4: Các kiểu toàn vẹn dữ liệu Ý tưởng cơ bản của Toàn vẹn Thực thể (Entity integrity) là chúng ta phải có khả năng xác định được mỗi thực thể lưu trong CSDL. Thực thể là bất kỳ cái gì tồn tại trong thế giới thực. Nó có thể là một đối tượng, một chủ đề, hoặc một sự kiện được lưu trong CSDL. Bảng được tạo ra để lưu trữ thực thể, các trường trong bảng thể hiện các thuộc tính của thực thể. Toàn vẹn thực thể định nghĩa mỗi dòng trong bảng là một thực thể duy nhất trong bảng đó. Khi chúng ta đưa một thực thể (bản ghi) vào bảng, điều quan trọng là thực thể đó phải được xác định duy nhất trong bảng để chúng ta có thể truy xuất nó và thay đổi dữ liệu trên nó. Xác định khóa chính là bước đầu tiên thực hiện toàn vẹn thực thể. Sau đó chúng ta sẽ xác định khóa ngoại cho bảng. Thuật ngữ Domain (miền) chỉ một tập hợp các giá trị được phép lưu vào trường. Ví dụ, một yêu cầu trên trường age của bảng Employee là chỉ nhận các giá trị từ 18 đến 58. Ta biết Toàn vẹn thực thể (Entity Integrity) kiểm tra sự hợp lệ dữ liệu của thực thể, toàn vẹn miền Quản lý bảng trong SQL Server 105 Toàn vẹn dữ liệu Toàn vẹn thực thể Toàn vẹn miền Toàn vẹn tham chiếu Toàn vẹn do người dùng định nghĩa SQL Server (Domain Integrity) đảm bảo các yêu cầu về dữ liệu trên một trường cụ thể. Toàn vẹn miền xác định sự hợp lệ của dữ liệu trên một trường đã cho. Toàn vẹn miền được mô tả trong hình 6.5 Hình 6.5: Toàn vẹn miền Có thể xem toàn vẹn miền như là các quy tắc về nghiệp vụ (business rules) trên một trường. Ở mức đơn giản nhất, kiểu dữ liệu trên trường cũng thực hiện chức năng của toàn vẹn miền. Ví dụ chuỗi kí tự ‘two’ không được phép lưu vào một trường có kiểu dữ liệu numeric. Để hạn chế việc đưa những dữ liệu không đúng đắn vào CSDL, chúng ta cần đặt ra những qui tắc dữ liệu hợp lệ trên bất kì trường nào. Toàn vẹn tham chiếu (Referential integrity) duy trì mối quan hệ giữa các bảng khi các bản ghi bị thay đổi. Toàn vẹn tham chiếu đảm bảo các giá trị khóa luôn nhất quán trên các bảng. Một trong những yêu cầu để đảm bảo tính nhất quán là nếu một giá trị khóa bị thay đổi, tất cả các tham chiếu đến nó cũng được thay đổi theo. Ví dụ, nếu một bác sĩ thôi không làm việc trong bệnh viện nữa, chắc chắn sẽ không sắp xếp lịch hẹn gặp của bệnh nhân với bác sĩ đó. Nếu trường ID trong bảng Physicians bị thay đổi, thì nó cũng sẽ làm thay đổi các bản ghi liên quan trong bảng Appointment để đảm bảo không có bản ghi nào trong bảng Appointment bị mồ côi. SQL Server 2000 cung cấp rất nhiều các công cụ khác nhau để thực hiện toàn vẹn dữ liệu. Chúng được liệt kê trong bảng 6.2 Kiểu toàn vẹn Các công cụ của SQL Server Toàn vẹn thực thể 1. PRIMARY KEY constraint 2. UNIQUE constraint 3. IDENTITY columns Toàn vẹn miền 1. DEFAULT definition 2. FOREIGN KEY constraint 3. CHECK constraint 4. NOT NULL property Toàn vẹn tham chiếu 1. FOREIGN KEY constraint 2. CHECK constraint Toàn vẹn do người dùng định nghĩa 1. Rules 2. Stored Procedures 3. Triggers Bảng 6.2: Các công cụ của SQL Server đảm bảo tính toàn vẹn dữ liệu Quản lý bảng trong SQL Server 106 Age Miền xác định Các giá trị nằm ngoài miền XĐ SQL Server SQL Server 2000 đưa ra ba cơ chế để thực hiện Toàn vẹn thực thể. Đó là khóa chính (PRIMARY KEY), ràng buộc duy nhất (UNIQUE constraint), thuộc tính Identity (IDENTITY property). Từng cơ chế sẽ được giải thích chi tiết dưới đây. Ràng buộc khoá chính Một bảng có một trường hoặc kết hợp nhiều trường mà giá trị của chúng dùng để xác định tính duy nhất của một bản ghi trong bảng. Khi một trường đơn có thể phân biệt được từng bản ghi trong bảng, nó được gọi là khóa chính (Primary key) của bảng, và sẽ đảm bảo tính toàn vẹn thực thể trên bảng đó. Khi có nhiều hơn một trường cùng kết hợp để xác định tính duy nhất của một bản ghi trong bảng, như vậy khóa chính của bảng gồm nhiều trường và được gọi là khóa kết hợp (Composite key) Một bảng bao giờ cũng có khóa chính. Ràng buộc khóa chính đảm bảo các bản ghi trong bảng là duy nhất. Xác định khoá chính Đối với người phát triển, việc lựa chọn đúng trường khóa chính cho bảng là rất quan trọng. Khóa chính của bảng có thể là một trường đơn, hay nhiều trường. Yêu cầu dữ liệu của trường khóa chính phải là duy nhất, không được trùng nhau đối với tất cả các bản ghi trong bảng (bao gồm cả các bản ghi sẽ được thêm vào sau này). Tất cả các trường thỏa mãn yêu cầu trên gọi là Candidate key. Ví dụ, trong bảng Employee, mã số nhân viên có thể là một candidate key, nhưng cũng có thể thay nó bằng số chứng minh thư, hay kết hợp của số chứng minh thư và cấp bậc. Điều này được minh họa trong hình 6.6. Bảng Employee Mã nhân viên Tên nhân viên Số CMT Cấp E001 John K3450 A E002 Smith H7832 B E003 Mary I56741 A E004 Lisa J45322 C Hình 6.6: Xác định Candidate key Vậy chúng ta chọn khóa chính như thế nào từ các candidate key? Có hai yếu tố có thể xem xét khi chúng ta đưa ra quyết định là: tính tối thiểu và tính ổn định (minimality and stability.) Khóa tổi thiểu (Minimal key) là loại khóa có số lượng trường ít nhất. Do đó, nếu chúng ta phải lựa chọn khóa chính giữa một trường đơn và nhiều trường thì ta nên chọn trường đơn làm khóa chính hơn. Vì việc thao tác dữ liệu trên một trường sẽ nhanh hơn trên nhiều trường. Tuy nhiên cũng có Quản lý bảng trong SQL Server 107 Candidate key Candidate key Candidate key SQL Server các ngoại lệ ví dụ như thao tác dữ liệu trên hai trường có kiểu integer sẽ nhanh hơn trên một trường có kiểu Varchar với kích thước lớn. Tính ổn định (Stability) là một đặc tính của dữ liệu trong một trường. Vì khóa chính dùng để đặt quan hệ giữa hai bảng, cho nên một điều quan trọng là không nên thay đổi thường xuyên dữ liệu trong trường khóa chính. Một cách lí tưởng là nó không bao giờ thay đổi. Khi bạn đã chọn được khóa chính từ các candidate key, các candidate key còn lại gọi là Alternate key. Tạo và sửa một khoá chính Một ràng buộc khoá chính đơn có thể là: Được tạo ngay khi định nghĩa bảng Cú pháp: CREATE TABLE Table_name <Column_definition> PRIMARY KEY Ví dụ: CREATE TABLE Reservation ( PNR_no int PRIMARY KEY ) Câu lệnh này sẽ tạo một ràng buộc khoá chính cho cột PNR_no trong bảng Reservation. Đưa thêm vào một bảng đã tồn tại, nếu bảng đó chưa có ràng buộc khoá chính. Nhớ rằng một bảng chỉ có thể có một ràng buộc khoá chính. Cú pháp: 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) Thay đổi hoặc xoá khóa chính nếu nó đã tồn tại. Nếu chúng ta muốn thay đổi khóa chính, trước tiên chúng ta phải xoá khoá chính đó đi rồi tạo lại. Một vài điểm cần chú ý khi tạo một khoá chính Khi một ràng buộc khóa chính được đưa vào một bảng đã có dữ liệu, SQL Server 2000 sẽ kiểm tra những dữ liệu trên các trường khóa chính để đảm bảo rằng không có các giá trị trùng nhau hay tồn tại các giá trị null. Nếu các trường khóa chính có chứa các giá trị null hay các giá trị trùng nhau, SQL Server 2000 sẽ trả về một lỗi và không đặt ràng buộc khóa chính đó cho bảng. Quản lý bảng trong SQL Server 108 [...]... 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à... 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 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... ) 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... và khoá ngoại Quản lý bảng trong SQL Server 114 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... 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... 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 1 16 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... 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. .. 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ì... numeric Nó sinh ra một giá trị duy nhất trong bảng Theo mặc định, giá trị bắt đầu thiết lập bởi thuộc tính này là 1 Thuộc tính này có thể được thiết lập khi tạo bảng Cú pháp: Column_name Data Type IDENTITY (SEED, INCREMENT) Trong đó: Column_name: Tên trường được gắn thuộc tính IDENTITY SEED : Giá trị khởi tạo của cột IDENTITY Quản lý bảng trong SQL Server 109 SQL Server INCREMENT : Bước nhảy được sử dụng... 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 . SQL Server Chương 6 Quản lý bảng trong SQL Server Mục tiêu: Kết thúc chương, học viên có thể: Nắm được các bước tạo một bảng Hiểu được các kiểu dữ liệu trong SQL Server Định. Procedures 3. Triggers Bảng 6. 2: Các công cụ của SQL Server đảm bảo tính toàn vẹn dữ liệu Quản lý bảng trong SQL Server 1 06 Age Miền xác định Các giá trị nằm ngoài miền XĐ SQL Server SQL Server 2000. 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