Danh mục tài liệu

Giáo trình SQL server 2005: Phần 2

Số trang: 45      Loại file: pdf      Dung lượng: 911.40 KB      Lượt xem: 30      Lượt tải: 0    
Xem trước 5 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tiếp nối phần 1 giáo trình SQL server 2005 phần 2 trình bày các nội dung chính xoay quanh các ngôn ngữ định nghĩa dữ liệu, các thủ tục lưu trữ hàm và trigger, cách sao lưu và phục hồi dữ liệu. Các bạn học sinh và quý thầy cô hãy tham khảo để có thêm tư liệu trong việc giảng dạy và học tập.
Nội dung trích xuất từ tài liệu:
Giáo trình SQL server 2005: Phần 2 4 Ngôn ng đ nh nghĩa d li u – DDL Trong chương này s đ c p đ n nhóm các câu l nh đư c s d ng đ đ nh nghĩa v à qu nlý các đ i tư ng CSDL như b ng, khung nhìn, ch m c,... và đư c g i là ngôn ng đ nh nghĩad li u (DDL). V cơ b n, ngôn ng đ nh nghĩa d li u bao g m các l nh: CREATE: đ nh nghĩa và t o m i đ i tư ng CSDL. ALTER: thay đ i đ nh nghĩa c a đ i tư ng CSDL. DROP: Xoá đ i tư ng CSDL đã có. 4.1 T o b ng Câu l nh CREATE TABLE đ ư c s d ng đ đ nh nghĩa m t b ng d li u m i trongCSDL. Khi đ nh nghĩa m t b ng d li u m i, ta c n ph i xác đ nh đ ư c các yêu c u sau đây: B ng m i đư c t o ra s d ng v i m c đích g ì và có vai trò như th nào trongcơ s d li u. C u trúc c a b ng bao g m nh ng tr ư ng (c t) nào, m i m t trư ng có ý nghĩanhư th nào trong vi c bi u di n d li u, ki u d li u c a m i trư ng là gì và trư ng đó có chophép nh n giá tr NULL hay không. Nh ng trư ng nào s tham gia vào khóa chính c a b ng. B ng có quan h v i nh ng b ngkhác hay không và n u có thì quan h như th nào. Trên các trư ng c a b ng có t n t i nh n g ràng bu c v khuôn d ng, đi u ki n h p l c ad li u hay không; n u có th ì s d ng đâu và như th nào. Câu l nh CREATE TABLE có cú pháp nh ư sau CREATE TABLE tên_b ng ( tên_c t thu c_tính_c t các_ràng_bu c [,... ,tên_c t_n thu c_tính_c t_n các_ràng_bu c_c t_n] [,các_ràng_bu c_trên_b ng] ) Tên_b ng: tuân theo quy t c đ nh danh, không vư t quá 128 ký t Tên_c t: các c t trong b ng, m i b ng có ít nh t m t c t. Thu c_tính_c t: bao g m ki u d li u c a c t, giá tr m c đ nh c a c t, c t có đ ư c thi tl p thu c tính identity, c t có ch p nh n giá tr NULL hay không. Trong đó ki u d li u làthu c tính b t bu c. 56 Các_ràng_bu c: g m các ràng bu c v khuôn d ng d li u ( r àng bu c CHECK) hay cácràng bu c v bào toàn d li u (PRIMARY KEY, FOREIGN KEY, UNIQUE) Ví d : Ví d dư i đây t o m t b ng có tên CUSTOMERS create table customers ( customerid int identity (1,1) primary key, customername nvarchar(50) not null, address nvarchar(100 ) null , birthday datetime null, gender bit default(true) not null ) C t customerid có ki u d li u int, đư c ch đ nh thu c tính identity(1,1) nghĩa là d li uc t này đư c thêm t đ ng b t đ u t 1 và m i l n có dòng m i thêm vào, giá tr c t này đư ctăng lên 1. C t này cũng đư c ch đ nh làm khóa chính c a b ng thông qua thu c tính primarykey Thu c tính NULL/ NOT NULL ch ra r ng c t đó có ch p nh n/ không ch p nh n giá trNULL. C t gender đư c ch đ nh giá tr m c đ nh l à true nghĩa là n u không ch đ nh giá tr choc t này thì c t này có giá tr là true Ví d : Thêm dòng m i vào b ng customers v i giá tr truy n v ào đ y đ cho các c t insert into customers values(Nguyen Van An, 22 Nguyen Thien Thuat, 5/5/1988, True) Thêm dòng m i vào b ng customers s d ng giá tr m c đ nh insert into customers (customername, addr ess, birthday) values(Nguyen Van An, 22 Nguyen Thien Thuat, 5/5/1988) Thêm dòng m i vào b ng customers và không truy n giá tr cho các c t cho phép giá trNULL insert into customers (customername ) values(Nguyen Van An) 57 4.2 Các lo i ràng bu c 4.2.1 Ràng bu c CHECK Ràng bu c CHECK đư c s d ng nh m ch đ nh đi u ki n h p l đ i v i d li u. M i khicó s thay đ i d li u trên b ng (INSERT, UPDATE), nh ng r àng bu c này s đư c s d ngnh m ki m tra xem d li u m i có h p l hay không. Ràng bu c CHECK đư c khai báo theo cú pháp như sau: [CONSTRAINT tên_ràng_bu c] CHECK (đi u_ki n) Ví d : create table students ( studentid int identity(1,1) primary key, studentname nvarchar(50) not null, address nvarchar(100) not null, score1 tinyint not null constraint chk_score1 CHECK (score1 >= 0 and score1 score3 tinyint not null, constraint chk_score CHECK( (score1>= 0 and score1 address nvarchar(100) not null, gender bit not null ) Ví d 2: Đ nh nghĩa b ng có hai khóa chính: create table orderdetail ( customerid int, orderid int, itemid int not null, quantity decimal(8,2) not null, constraint chk_primarykey primary key (customerid, orderid) ) 4.2.3 Ràng bu c FOREIGN KEY FOREIGN KEY là m t c t hay m t s k t h p c a nhi u c t đ ư c s d ng đ áp đ t m iliên k t d li u gi a hai table. FOREIGN KEY c a m t b ng s gi giá tr c a PRIMARYKEY c a m t b ng khác và chúng ta có th t o ra nhi u FOREIGN KEY trong m t table. FOREIGN KEY có th tham chi u vào PRIMARY KEY hay c t có ràng ...