Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
2,86 MB
Nội dung
Chương3 1 Nhận biết được các đối tượng trong 1 CSDL của SQL Server. Chọn kiểu dữ liệu SQL Server thích hợp cho yêu cầu lưu trữ dữ liệu, và tạo kiểu dữ liệu theo nhu cầu người dùng Tạo và quản lý các bảng CSDL. Tạo và quản lý các ràng buộc (constraint) 2 Table Data type Default Rule Constraint Index View Stored procedure User-defined function Trigger 3 4 5 Mở Folder chưa đối tương cần xem binary[(n)] varbinary[(n)] bit decimal[(p[,s])] real float[(n)] bigint int smallint tinyint numeric [(p[,s])] money smallmoney char[(n)] 6 nchar[(n)] varchar[(n)] nvarchar[(n)] datetime smalldatetime cursor table sysname timestamp uniqueidentifier image text ntext sql_variant Giá trị NULL dùng để chỉ các giá trị chưa biết, không thể dùng được, hay sẽ được bổ sung sau. Nó khác với giá trị rỗng (empty) hay zero. Hai giá trị null không được xem là bằng nhau. Khi so sánh hai giá trị null, hay 1 giá trị null với 1 giá trị khác thì kết quả trả về sẽ là unknown. Ví dụ: số phone của khách hàng hiện tại chưa có, nhưng có thể sẽ được bổ sung này. Số phone sẽ có giá trị là null. Để kiểm tra giá trị null trong lệnh truy vấn, phải dùng toán tử IS NULL hay IS NOT NULL trong mệnh đề WHERE. Mặc định các cột hay kiểu dữ liệu của người dùng thường không có gía trị NULL. 7 Tạo kiểu dữ liệu người dùng là để bảo đảm tính thống nhất của dữ liệu (data consistency) khi mà nhiều bảng phải lưu trữ cùng 1 loại dữ liệu trong 1 cột Kiểu dữ liệu của người dùng được tạo dựa vào các kiểu dữ liệu hệ thống. Chỉ có tác dụng trong CSDL mà nó được tạo ra ngoại trừ trường hợp nó được tạo ra trong CSDL hệ thống model. 8 Dùng lệnh để tạo: sp_addtype type_name, system_data_type [,'NULL'|'NOT NULL'] Ví dụ: sp_addtype stateab,‘char(2)’,’NOT NULL’ Dùng lệnh để xoá: sp_droptype type_name 9 continued 10 Dùng Enterprise Manager để tạo Nhấp phải tại folder User Defined Data Type, chọn lệnh New User Defined Data Type [...]... nhanh hơn chỉ mục nonclustered 31 Quan hệ chỉ có thể được tạo ra giữa các bảng trong cùng 1 CSDL và trên cùng 1 server Khoá ngoại chỉ có thể tham chiếu đến một cột sau trong bảng chính: Là 1 cột hay 1 phần của khoá chính Là cột có ràng buộc unique Là cột có chỉ mục unique Một bảng có thể có tối đa 2 53 khoá ngoại và có thể tham chiếu đến 2 53 bảng khác nhau 32 [FOREIGN KEY ] REFERENCES ref_table... ACTION } ] 33 ON DELETE {CASCADE | NO ACTION} Xác định hành động cần phải thực hiện cho 1 hàng trong bảng đang tạo nếu hàng đó có quan hệ tham chiếu và hàng tham chiếu bị xoá khỏi bảng chính Mặc định là NO ACTION CASCADE: dùng để xác định là hàng sẽ bị xoá khỏi bảng tham chiếu nếu hàng đó bị xoz1 khỏi bảng chính NO ACTION: SQL Server sẽ đưa ra thông báo lỗi và việc xoá hàng trên bảng chính... bảng, bảo đảm các giá trị khoá được thống nhất giữa các bảng có quan hệ nhau Không có tham chiếu khi không tồn tại giá trị khoá trong bảng chính, và nếu giá trị khoá thay đổi thì tất cả các tham chiếu đến nó cũng thay đổi thống nhất theo Khi áp dụng quy luật bảo toàn tham chiếu, người dùng không thể: Thêm các bản ghi vào bảng được quan hệ (related table) nếu không có bản ghi tương ứng trong bảng. .. bảng được quan hệ (related table) nếu không có bản ghi tương ứng trong bảng chính (primary table) Thay đổi giá trị trong bảng chính làm cho các bản ghi trong bảng được quan hệ bị mất mối liên kết ( orphaned record) Xoá các bản ghi trong bảng chính nếu tồn tại 1 số bản ghi trong bảng được quan hệ 22 SQL server 2000 hỗ trợ các loại constraint sau : Default Check Unique Primary key Foreign key... Bảng là một đối tượng của CSDL được dùng để lưu trữ dữ liệu Dữ liệu trong bảng được tổ chức thành các hàng (rows) và cột (columns) Mỗi hàng trong bảng biểu diễn một bản ghi (record) duy nhất Mỗi cột biểu diễn một thuộc tính (attribute) Tên cột trong 1 bảng không được trùng nhau nhưng cho phép tên cột có thể trùng nhau trong những bảng khác nhau của cùng 1 CSDL SQL... SQL Server cho phép: Tối đa 2 triệu bảng trong 1 CSDL Tối đa 1024 cột trong 1 bảng Tối đa 8060 bytes trong 1 hàng 11 Phải có quyền tạo và thay đổi cấu trúc bảng, nếu không sẽ sinh ra lỗi Tên bảng phải là từ định danh hợp lệ Với phiên bản SQL Server 6.5 hoặc các phiên bản trước nữa thì sẽ không thay đổi được kiểu dữ liệu cột hoặc thêm cột cho một bảng dữ liệu continued12 Không thể thay... xếp vật lý Chỉ có 1 chỉ mục clustered trong mỗi bảng Tương tự như danh bạ điện thoại (telephone directory) trong đó dữ liệu được sắp xếp bởi tên thuê bao 30 Chỉ mục nonclustered: là chỉ mục có cấu trúc riêng biệt độc lập với thứ tự vật lý của bảng dữ liệu Thứ tự vật lý của chỉ mục nonclustered không trùng với thứ tự các bản ghi trong bảng dữ liệu Tương tự như chỉ mục trong textbook Nên... kiểu dữ liệu cột hoặc thêm cột cho một bảng dữ liệu continued12 Không thể thay đổi dữ liệu cột hoặc huỷ cột mà có tham chiếu chỉ mục Không thể xóa 1 bảng nếu có bất kỳ phụ thuộc giữa bảng đó với các đối tượng khác của SQL Server continued 13 CREATE TABLE [ database_name.[ owner ] |owner.] table_name ({ < column_definition > |column_name AS computed_column_expression | < table_constraint > ::=... trị gia tăng duy nhất cho 1 cột, và cột này thường được dùng khoá chính cho bảng Giá trị được gán thường là các kiểu dữ liệu sau: tinyint, smallint, int, bigint, decimal(p,0), hay numeric(p,0) Trong mỗi bảng chỉ cho phép 1 cột là identity mà thôi Seed: là giá trị đầu tiên được tạo Increment:là bước tăng để tạo ra giá trị kế tiếp Giá trị mặc định thường là (1,1) 18 CREATE TABLE jobs ( job_id... integrity Các ràng buộc dùng để bảo đảm các giá trị của dữ liệu không vi phạm quy luật bảo toàn dữ liệu 23 Cú pháp: DEFAULT constant_expression Default dùng để xác định giá trị “sẵn trước” được gán cho 1 cột khi thêm 1 bản ghi mới vào bảng DEFAULT có thể áp dụng cho bất kỳ cột nào trong bảng ngoại trừ cột có kiểu timestamp hay có thuộc tính IDENTITY constant_expression: chỉ có giá trị hằng . hoặc thêm cột cho một bảng dữ liệu. 12 continued Không thể thay đổi dữ liệu cột hoặc huỷ cột mà có tham chiếu ch mục. Không thể xóa 1 bảng nếu có bất kỳ phụ thuộc giữa bảng đó với các. (attribute). Tên cột trong 1 bảng không được trùng nhau nhưng cho phép tên cột có thể trùng nhau trong những bảng khác nhau của cùng 1 CSDL. SQL Server cho phép: Tối đa 2 triệu bảng trong 1 CSDL. Tối. Ch ơng 3 1 Nhận biết được các đối tượng trong 1 CSDL của SQL Server. Ch n kiểu dữ liệu SQL Server th ch hợp cho yêu cầu lưu trữ dữ liệu, và tạo kiểu