Xem mẫu
- Table + View
- 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
- 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
- Example of Table:
Hoa Sen University www.hoasen.edu.vn 4
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Các ràng buộc
• Primary Key Constraint
• Unique Constraint
• Foreign Key Constraint
• Check Constraint
Hoa Sen University www.hoasen.edu.vn 15
- 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
- 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
- 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
- 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
- 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