1
Thiết kế bảng
Mục tiêu
2
!"#
Rules
3
$%&'()*+,"-
"""%".
/"+0"1%23"4%567
'5
8294%+:
,""1%-./;%
<"&=-%
>*-%23"4%'!%"?
.@4%("?-%A
>%29"*- '!%
(.@-%A4%%-.
5".
Rules
4
8=''18$BCB$DEB
CREATE RULE [owner.]rulename AS
condition_expression
F"*"-29#%
-"+G"?/"1
""H#'55"'"29
2I-"+29%J
KL!:
(8$BCB$DEB'HH
CMJ'>NO>
P5QQ55Q
R8$BCB$DEB"H'"H
CMJ"'"STUVWWW
Rules
5
X+#;%"@(:
5'H'YS
X+#."%@(:
5'H'#YS
X+Z(
[$N\$DEB]^_`
Gắn rule vào 1 cột hay kiểu dữ liệu
người dùng
6
5'H-"_JT`aa
bbbb_J-cT`a-cHa
bb__JT`aHd%a`
JN-cH:.@-%/"+
0"1%23"4%29%
>*-cH/;%e%
-fg29#/"+0
"1@%23"4%h.
"1"@/"+0"1%23"4%
i/*
J:294% /"%/*(
/"+0"1%23"4%
5j4%+."1g@
/"+0"1%23"4%/;%/*i
I"
Ví dụ 1
7
k/*."H
@-%'
5'H-"aaa'5_"
`Q
k/*H55/"+0"1
%23"4%55
5'H-"aH55aa55a
Hạn chế khi dùng Rules
8
hl"m g(29%/*(
.(/"+0"1@%23"4%
>*(29%/*(/"+0
"1%23"4%g/;%*29
n29%/*2Ig.
@/"+0"1%23"4%
>*(I"29%/*(.
/"+0"1@%23"4%%
%/*(/fI"
5o*p
8/;%'!%290"1
ng5q%-%80"1g5q
/;%'"r"?/"129#
-e"
Xóa gắn kết rule khỏi 1 cột hay kiểu dữ
liệu người dùng
9
8='':
5'H-"_J-cT`
a-cHa
bbbb__JT`aHd%a`
KL!:
sg/t"."H@-%
'
5'H-"a'5_"H`a
s/t"/"+0"1%23"4%
5'H-"55
Các ví dụ
10
8$BCB$DEB'F/CMJ"5O>a-5"55a
aH/aa''H'aa'5%a
5'H-"a'F/aa"5'a
k/*'F/.'@-%
"5
5'H-"a"5'a
sgn%/*.'-%
"5
M'H'F/'PRWQQ>N>DEEQ
M'H-"P'F/QF/'
k/*'F//"+0"1%23"4%
5'H-"PF/'a
s%/*n%/*/"+0"1@
%23"4%
Defaults - Tạo giá trị mặc
định
11
8='':
8$BCB[BuCDE
bbbbCM5H#'55"
[:A@m
5H#'55":(-"+G
Gv%5j-"+G
w
KL!:
8$BCB[BuCDE'dCM
a/xa
Xoá mặc định
12
[$N\[BuCDE]^_`
E1'g+#g4%="?
KL!:
[$N\[BuCDE'd
Sử dụng defaults
13
M/"29[BuCDEgm29
%/*(./"+0"1%23"
4%
5'H-"H-cH
_uDD$BN>Ey`
sg%/*g/;%
z'!%29.@-%
/"+0"1%23"4%
5'H-"-cH
_uDD$BN>Ey`
Ví dụ default và cột của bảng
14
DMB'-5
kN
8$BCB[BuCDE'dCM
a/xa
kN
5'H-"'d
a5'a
kN
5'H-"a5'a
kN
[$N\[BuCDE'd
Ví dụ default và kiểu dữ liệu người
dùng
15
5'H''8"P(VQ
8$BCB[BuCDE8"CM
aN/a
5'H-"8"a'8"a
5'H-"P8"Q
P58"Q
So sánh Rule và default
16
$%-.8{B8|p%g+29
,"-v%4%
2)%,%-.[BuCDEp%g
+29,"-v%4%
>*%-./
4%29'!%.%
"?)(-%fA(
}"%/*g.
Index - Chỉ mục
17
>*-%/;%4% !:
Các hàng không lưu trữ theo 1 thứ tự đặc biệt
nào.
Các trang dữ liệu cũng không sắp xếp tuần
tự.
Cơ bản về truy xuất dữ liệu
Access fundamentals
18
|"%23"4%#&0"1M~E
55o##g}"5q(
!/;%•
~'""€5o55 !
"1gI"Am@1&+
f,"j"225:
Nếu không có chỉ mục, SQL server sẽ duyệt toàn
bộ bảng
Nếu có chỉ mục thích hợp, nó sẽ dùng để định vị
dữ liệu cần tìm.
Cơ bản về truy xuất dữ liệu
Access fundamentals
19
%=•1-%:
SQL Server sẽ bắt đầu ở vị trí vật lý đầu tiên của
bảng.
SQL Server sẽ tiếp tục quét cho đến cuối bảng
theo từng dòng để tìm dữ liệu thích hợp.
Các hàng thoả mãn tiêu chuẩn dò tìm sẽ được
trích ra và là kết quả trả về của lệnh truy vấn.
>*g !L9'::
SQL server sẽ đi dọc theo cấu trúc cây chỉ mục
để tìm các hàng thích hợp.
Chỉ có những hàng thoả mãn tiêu chuẩn mới được
xuất ra.
Cơ bản về chỉ mục
20
8 !29,%"
29#*'G,i("?.
29w
8 !29,.%-&G=
#/L%
-."
hl"-% g+g&(
!52%/;%--.
'"g !
h.-%g+gI"R‚ƒ !
5
Mục đích sử dụng chỉ mục
21
8""1"1,"/"5'#*'
g0"1
8""1"1,"&g
/*j"%"0-%
8""1L&@(.
"?.
Bất lợi khi sử dụng chỉ mục
22
!5o&3"%"j
/;%%"20
81„'„0"12O>MB$
D\[CB[BEBB5o/•"1
!@-%p%'"„'
„
8-%tg"%/;%g9"
"?%"1 !
Hướng dẫn tạo chỉ mục
23
8.m !5o'!.
0"10"129
#r
>Ar/"w. !
>A !.5:
Foreign key
Các cột thường được dùng để kết nối
Các cột được dò tìm theo thứ tự đã sắp xếp
Các cột được truy vấn theo dữ liệu nhóm
(Columns queried for grouped data )
Khái quát về chỉ mục
24
8L!(5%"%(-%
/…L%G%"2)%G%
%-%g
8 !g+29i((<9'
.@-%29,"%
%F6r'r
F629#*',%"zf
5/g+zf"1,
<9'/,m@5/
KL!: !A.CF8g+
29zf"1,%"A
.CA.CFCF8
Bảng Employee và chỉ mục trên
cột emp_id
25