Xem mẫu

  1. Table + View
  2. Câu hỏi  1. Table là gì?  2. Làm cách nào tạo và bảo trì bảng trong MSSQL?  3. Những yếu tố cơ bản khi thiết kế, sử dụng Table? Hoa Sen University www.hoasen.edu.vn 2
  3. Table là gì?  Table = Relation = Những mẩu thông tin có cùng định dạng  Dữ liệu được tổ chức dạng row-column.  Row = 1 mẩu thông tin  Column = 1 field của thông tin. Cùng 1 column phải cùng kiểu dữ liệu  Number of Column : FIX  Number of ROW: CHANGE  WHY ??? Hoa Sen University www.hoasen.edu.vn 3
  4. Example of Table: Hoa Sen University www.hoasen.edu.vn 4
  5. Create table  Tạo bảng CREATE TABLE [database_name.[owner].| owner.] table_name ( { | column_name AS computed_column_expression | } [,...n] ) [ON {filegroup | DEFAULT} ] [TEXTIMAGE_ON {filegroup | DEFAULT} ] Hoa Sen University www.hoasen.edu.vn 5
  6. Create Table ::= { col n_nam e dat ype } um a_t [ [ DEFAULT cons ant t _expr s on ] es i | [ IDENTITY [(s eed,i em ent) [NOT FOR REPLICATION] ] ] ncr ] [ ROWGUIDCOL ] [< column_constraint> [ ...n] ] Hoa Sen University www.hoasen.edu.vn 6
  7. Create table ::= [CONSTRAINT cons r nt t ai _nam e] {     [ NULL | NOT NULL ]     | [    { PRIMARY KEY | UNIQUE }         [CLUSTERED | NONCLUSTERED]         [WITH FILLFACTOR = flf or ilact ]         [ON {fl oup | DEFAULT} ]] iegr      ]     | [    [FOREIGN KEY]         REFERENCES r _t e [( ef um n)] ef abl r _col           [NOT FOR REPLICATION]      ]     | CHECK [NOT FOR REPLICATION]         (ogi _expr s on) l cal es i } Hoa Sen University www.hoasen.edu.vn 7
  8. Create table ::= [CONSTRAINT cons r nt t ai _nam e] {     [ { PRIMARY KEY | UNIQUE }         [ CLUSTERED | NONCLUSTERED]         { ( col n[, um ...n] )}          [ WITH FILLFACTOR = flf or ilact ]         [ON {fl oup | DEFAULT} ] iegr     ]     | FOREIGN KEY             [( um n[, col ...n])]             REFERENCES r _t e [( ef um n[, ef abl r _col ...n])]             [NOT FOR REPLICATION]     | CHECK [NOT FOR REPLICATION]         ( ear s ch_condii )tons } Hoa Sen University www.hoasen.edu.vn 8
  9. Create table Tạo một bảng có tên CUSTOMERS cr e abl cus om er eat t e  t s ( cus om er d nti iy 1,   i ar key, t i i  dentt ( 1)pr m y  cus om er t nam e  char 50)notnul, nvar (     l addr s nvar es   char 100   l, ( )nul  bi t r hday  etm e  l dat i nul, gender bi  aul(t ue'    l   tdef t'r )notnul ) Hoa Sen University www.hoasen.edu.vn 9
  10. Những yếu tố cơ bản 1. Kiểu dữ liệu của column 2. Giá trị NULL| DEFAULT 3. Constraint (Ràng buộc) Hoa Sen University www.hoasen.edu.vn 10
  11. Kiểu dữ liệu Type of data System-supplied data types Number of bytes Binary binary[(n)], varbinary[(n)] 1-8000 Character char[(n)], varchar[(n)] 1-8000, (8000 characters) Unicode, nchar[(n)] ,nvarchar[(n)] 2-8000, (1 - 4000 characters) character Date and time Datetime, smalldatetime 8 (2 4-byte integers) , 4 (2 2-byte integers) Exact numeric decimal[(p[, s])], numeric[(p[, s])] 5-17 Approximate float[(n)], real 4-8, 4 numeric Global identifier Uniqueidentifier 16 Integer int, smallint, tinyint 4 , 2, 1 Monetary Money, Smallmoney 8, 4 Special bit, cursor, sysname, timestamp 1, 0-8 Text and image text, image 0-2 GB Unicode text ntext 0-2 GB Hoa Sen University www.hoasen.edu.vn 11
  12. Câu hỏi  Tại sao varchar, char lại bị chặn bởi 8000 byte?  Datetime tại sao chỉ cần 8 byte? Hoa Sen University www.hoasen.edu.vn 12
  13. Giá trị NULL/ DEFAULT  NULL: giá trị không xác định  Nguyên nhân: - Giá trị đó tồn tại nhưng không biết - Không xác định được giá trị đó tồn tại hay không -Giá trị tại thời điểm hiện tại chưa có nhưng sẽ xác định sau - Là kết quả của lỗi tính toán - Do thiết kế  Phân biệt với “xâu rỗng” (kiểu char, varchar, …)  Có thể khai báo NULL | NOT NULL  DEFAULT là giá trị mặc định Hoa Sen University www.hoasen.edu.vn 13
  14. Giá trị NULL  Hãy chỉ ra những trường hợp các bảng có giá trị NULL trong thiết kế ĐỒ ÁN A Hoa Sen University www.hoasen.edu.vn 14
  15. Các ràng buộc • Primary Key Constraint • Unique Constraint • Foreign Key Constraint • Check Constraint Hoa Sen University www.hoasen.edu.vn 15
  16. Ràng buộc CHECK • Chỉ định điều kiện hợp lệ đối với dữ liệu. • Khi có sự thay đổi dữ liệu trên bảng (INSERT, UPDATE) → Kiểm tra xem dữ liệu mới có hợp lệ hay không. • Cú pháp: [CONSTRAINT tên_ràng_buộc] CHECK (điều_kiện) Hoa Sen University www.hoasen.edu.vn 16
  17. Ràng buộc CHECK 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
  18. Ràng buộc PRIMARY KEY • Định nghĩa khoá chính của bảng. • Khoá chính: một hoặc một tập nhiều cột mà giá trị của chúng là duy nhất trong bảng. • Mỗi một bảng chỉ có thể có duy nhất một khoá chính • Khoá chính không chấp nhận giá trị NULL. • Cú pháp: [CONSTRAINT tên_ràng_buộc] PRIMARY KEY [(danh_sách_cột)] Hoa Sen University www.hoasen.edu.vn 18
  19. Ràng buộc PRIMARY KEY create table orderdetail ( customerid int, orderid int, itemid int not null, quantity decimal(8,2) not null, constraint chk_primarykey primary key (customerid, orderid) ) Hoa Sen University www.hoasen.edu.vn 19
  20. Ràng buộc UNIQUE • Nếu một (hoặc) tập hợp cột unique thì giá trị xác định của chúng phải là duy nhất trong bảng. • Mỗi một bảng chỉ có thể có nhiều khoá UNIQUE • Chấp nhận giá trị NULL. • Cú pháp: [CONSTRAINT tên_ràng_buộc] UNIQUE [(danh_sách_cột)] Hoa Sen University www.hoasen.edu.vn 20
nguon tai.lieu . vn