[r]
Trang 1*,lv,7+,j8
64/6WUXFWXUHG4XHU\/DQJXDJHODQJQQJ¤FVGX£QJFKRFDFK£TXDQ WU F V G OL£X TXDQ K£ 1JQ QJ 64/ FKX Q ¤F D UD EL $16, $PHULFDQ 1DWLRQDO 6WDQGDUGV ,QVWLWXGH YD ,62 ,QWHUQDWLRQDO 6WDQGDUGV 2UJDQL]DWLRQ YL SKLQ EDQ PL QK¢W KL£Q QD\ OD SKLQ EDQ 64/ SKLQ EDQ ¤F D UD QP
0£FGXFRQKLXQJQQJNKDFQKDX¤FDUDFKRFDFK£TXDQWU&6'/ TXDQK£64/ODQJQQJ¤FVGX£QJU¤QJUDLKL£QQD\WURQJU¢WQKLXK£WK¢QJ
&6'/WKQJPD£LQK2UDFOH64/6HUYHU'%0LFURVRIW$FFHVV7KQJTXD64/ QJL V GX£QJ FR WK G¡ GDQJ QK QJKD ¤F G OL£X WKDR WDF YL G OL£X 0£W NKDF\ODQJQQJFRWQKNKDLEDRQQQRG¡VGX£QJYDFXQJYY£\PDWUQQ SK EL¢Q
*LDRWULQKQD\QKPFXQJF¢SFKRED£QWDLOL£XWKDPNKDRWQJ¢L\XY FDF FX O£QK JLDR WDF 64/ V GX£QJ FKR K£ TXDQ WU &6'/ 0LFURVRIW 64/ 6HUYHU
*LDRWUQKEDRJPE¢QFKQJ
&KQJ JLL WKL£X P¤W V¢ FX O£QK V GX£QJ WURQJ YL£F QK QJKD FDF ¢L W¤QJGOL£XQKEDQJGOL£XNKXQJQKQYDFKPX£F
&KQJ WUQK ED\ E¢Q FX O£QK WKDR WDF G OL£X OD 6(/(&7 ,16(57 83'$7(YD'(/(7(WURQJRW£SWUXQJFKX\¢XFXO£QK6(/(&7
&KQJF£S¢QKDLFXO£QKLXNKL QOD*5$17YD5(92.(VGX£QJ WURQJYL£FF¢SSKDWYDKX\ERTX\QFXDQJLVGX£QJ&6'/
&KQJ JLL WKL£X Y WKX WX£F OX WU YD WULJJHU j\ OD QKQJ ¢L W¤QJ
&6'/¤FVGX£QJQKPWQJKL£XQQJNKLVGX£QJ&6'/
7URQJFKQJSKX£OX£FFKXQJWLJLLWKL£XF¢XWUXFYDGOL£XFXDFDFEDQJV GX£QJWURQJFDFYGX£FKQJ ED£QWL£QWUDFXYD¢LFKL¢XYLFDFYGX£DQX 1JRDLUDWURQJFKQJQD\FRQFRFDFKDPWKQJVGX£QJWURQJ64/6HUYHUFDF ED£QWKDPNKDRWURQJWK£FKDQK
0£FGXDU¢WF¢JQJQKQJJLDRWUQKNKQJWK WUDQKX¤FFDFVDLVRW5¢W PRQJQK£Q¤FV£JRS\FXDFDFED£Q JLDRWUQKQJD\FDQJKRDQWKL£QKQ
Trang 2Chương 1: NGÔN NGỮ ĐỊNH NGHĨA DỮ LIỆU
1JQQJQKQJKDGOL£XEDRJPFDFFXO£QKFKRSKHSQJLVGX£QJQK QJKD&6'/YDFDF¢LW¤QJWURQJ&6'/QKFDFEDQJFDFNKXQJQKQFKPX£F
7DREDQJGOL X
'OL£XEQWURQJP¤W&6'/¤FW FKFOXWUWURQJFDFEDQJ%QWURQJFDF EDQJGOL£X¤FW FKFGLGD£QJFDFGRQJYDFDFF¤W0¡LP¤W GRQJ EL X GL¡Q P¤WEDQJKLGX\QK¢WYDP¡LP¤WF¤WEL XGL¡QFKRP¤WWUQJ
&DFWKXFWQKOL QTXDQ QEDQJ
.KL WD£R YD ODP YL£F YL FDF EDQJ G OL£X WD FQ SKDL \ ¢Q FDF WKX¤F WQK NKDFWUQEDQJQKNL X G OL£X FDF UDQJ EX¤F FDF NKRD FDF TXL WF &DF WKX¤F WQKQD\¤FVGX£QJQKPWD£RUDFDFUDQJEX¤FWRDQYH£QWUQFDFF¤WWUQJWUQ EDQJFXQJQKWD£RUDFDFWRDQYH£QWKDPFKL¢XJLDFDFEDQJGOL£XWURQJ&6'/
D.L XGOL X
0¡L P¤W F¤W WUQJ FXD P¤W EDQJ X SKDL WKX¤F YDR P¤W NL X G OL£X QK¢W
QK D ¤F QK QJKD W WUF 0¡L P¤W NL X G OL£X TXL QK FDF JLD WU G OL£X
¤FFKRSKHS¢LYLF¤WR&DFK£TXDQWU&6'/WKQJFXQJF¢SFDFNL XGOL£X FKX QQJRDLUDFRQFRWK FKRSKHSQJLVGX£QJQKQJKDFDFNL XGOL£XNKDF G£DWUQFDFNL XGOL£XDFR
'L\ODP¤WV¢NL XGOL£XWKQJ¤FVGX£QJWURQJJLDRWDF64/
Binary Bit Char Datetime Decimal Float Image
Int Money Nchar Ntext Nvarchar Real Smalldatetime
Smallint Smallmoney Text
Tinyint Varbinary Varchar
E&DFUDQJEXF&21675$,176
7UQFDFEDQJGOL£XFDFUDQJEX¤F¤FVGX£QJQKPFDFPX£FFKVDX
• 4XLQKFDFJLDWUGOL£XKD\NKXQGD£QJGOL£X¤FFKRSKHSFK¢SQK£QWUQ FDFF¤WFXDEDQJUDQJEX¤F&+(&
• 4XLQKJLDWUP£FQKFKRFDFF¤WUDQJEX¤F'()$8/7
Trang 3• 7D£RQQWQKWRDQYH£QWK£FWK WURQJP¤WEDQJGOL£XYDWRDQYH£QWKDPFKL¢XJLD FDF EDQJ G OL£X WURQJ &6'/ UDQJ EX¤F 35,0$5< (< 81,48( YD )25(,*1.(<
&KXQJWDVHWPKL XFKLWL¢WKQYFDFUDQJEX¤FQD\SKQWUQKED\YFXO£QK
&5($7(7$%/(
7DREDQJEQJWUX\YQ64/
7D£R FDF EDQJ OD P¤W NKX TXDQ WURQJ WUR¤QJ WURQJ TXD WUQK WKL¢W N¢ YD FDL G£W FDF&6'/%QWURQJFDF&6'/P¡LP¤WEDQJWKQJ¤FVGX£QJQKPEL XGL¡Q WKQJWKLYFDF¢LW¤QJWURQJWK¢JLLWK£FYDKR£FEL XGL¡QP¢LTXDQK£JLDFDF
¢LW¤QJRj FRWK W FKFW¢WP¤WEDQJGOL£XED£QWQK¢WFQ SKDL [DF QK
¤FFDF\XFXVDX
• %DQJ¤FVGX£QJQKPPX£FFKJYDFRYDLWURQKWK¢QDREQWURQJ&6'/"
• %DQJVHEDRJPQKQJF¤WQDRYDNL XGOL£XFKRFDFF¤WRODJ"
• 1KQJF¤WQDRFKRSKHSFK¢SQK£QJLDWU18//
• &RVGX£QJFDFUDQJEX¤FFDFP£FQKKD\NKQJYDQ¢XFRWKVGX£QJXYD QKXWK¢QDR"
• 1KQJF¤WQDRVHRQJYDLWURODNKRDFKQKNKRDQJRDLNKRDGX\QK¢W"1KQJ GD£QJFKPX£FQDRODFQWKL¢WYDFQX
D7DREDQJGOL X
j WD£R P¤W EDQJ WURQJ &6'/ ED£Q V GX£QJ FX O£QK &5($7( 7$%/( FR FX SKDSQKVDX
CREATE TABLE table_name
(
{colname_1 col_1_properties [constraints_1 ]
[,{colname_2 col_2_properties [constraints_2 ]]
[,{colname_N col_N_properties [constraints_N ]]
[table_constraints]
)
7URQJR
- table_name: 7Q EDQJ FQ WD£R 7Q FXD EDQJ SKDL GX\ QK¢W
WURQJP¡L&6'/YDSKDLWXQWKHRFDFTXLWFY
QKGDQK
- colname_i: 7QFXD F¤W WK L WURQJ EDQJ &DF F¤W WURQJ P¡L
Trang 4EDQJSKDLFRWQNKDFQKDXYDSKDLWXQWKHRFDF TXL WF Y QK GDQK 0¡L P¤W EDQJ SKDL FR W QK¢WP¤WF¤W
- col_i_properties: &DFWKX¤FWQKFXDF¤WWKLTXLQKNL XGOL£X
FXD F¤W YD FK QK F¤W FR FKR SKHS FK¢S QK£Q JLDWU18//KD\NKQJ
- constraints_i: &DF UDQJ EX¤F Q¢X FR WUQ F¤W WK L QK FDF
UDQJEX¤FYNKRDFDFP£FQKFDFTXLQKY NKXQGD£QJGOL£X
- table_constraint: &DFUDQJEX¤FWUQEDQJGOL£X
9GX&XO£QKGL\WK£FKL£QKYL£FWD£REDQJ1+$19,(1EDRJPFDFF¤W 0$19+27(11*$<6,1+',$&+,',(17+2$,
CREATE TABLE nhanvien
(
)
E6GXQJFDFUDQJEXFWURQJEDQJGOL X
D
D5DQJEXF&+(&.
5DQJEX¤F&+(&.¤FVGX£QJ FKQKFDFJLDWUKD\NKXQGD£QJGOL£X FR WK ¤F FK¢S QK£Q ¢L YL P¤W F¤W 7UQ P¤W F¤W FR WK FR QKLX UDQJ EX¤F
&+(&.j NKDLEDRP¤WUDQJEX¤F&+(&.¢LYLP¤WF¤WQDRRWDVGX£QJFX SKDSQKVDX
[CONSTRAINT constraint_name]
CHECK (expression)
7URQJ RH[SUHVVLRQ OD P¤W EL X WKF ORJLF TXL QK JLD WU KD\ NKXQ GD£QJ FXD G
OL£X¤FFKRSKHS.KLRFKQKQJJLDWUGOL£XQDRODPFKRH[SUHVVLRQQK£QJLD
WUXQJPL¤FFK¢SQK£Q
9 GX
FXO£QKYGX£¤FYL¢WQKVDX
CREATE TABLE nhanvien
(
Trang 5dienthoai char(6) null
constraint check_dienthoai check (dienthoai like '[0-9][0-9][0-9]
[0-9][0-9] [0-9]')
)
D
D5DQJEXF'()$8/7
5DQJEX¤F'()$8/7¤FVGX£QJ TXLQKJLDWUP£FQKFKRP¤WF¤W
*LDWUQD\VHW£¤QJ¤FJDQFKRF¤WQD\NKLQJLVGX£QJE VXQJP¤WEDQJKL PD NKQJ FK QK JLD WU FKR F¤W 7UQ P¡L F¤W FK FR WK FR QKLX QK¢W P¤W UDQJ EX¤F'()$8/7WFODFKFRWK FRW¢LDP¤WJLDWUP£FQK
j NKDL EDR P¤W JLD WU P£F QK FKR P¤W F¤W WD FK QK P¤W UDQJ EX¤F '()$8/7FKRF¤WEQJFDFKVGX£QJFXSKDSVDX
[CONSTRAINT constraint_name]
DEFAULT {const_expression
nonarguments_function
9 GX
',$&+,WURQJEDQJ1+$19,(1YGX£
CREATE TABLE nhanvien
(
)
D
D5DQJEXF35,0$5<.(<
muYGX£QD\FKXQJWLNKQJ£WWQFKRUDQJEX¤F'()$8/7.KLRK£TXDQWU&6'/VHW£¤QJ£WWQ FKRUDQJEX¤FQD\7X\QKLQ G¡GDQJFKRYL£FTXDQWUED£QQQ£WWQFKRFDFUDQJEX¤F
Trang 6D+DP/()7
&XSKDS/()7VWULQJQ
&KFQQJ+DPWUFKUDWFKX¡LVWULQJQN\W£WQKWEQWUDL
E+DP5,*+7
&XSKDS/()7VWULQJQ
&KFQQJ+DPWUFKUDWFKX¡LVWULQJQN\W£WQKWEQSKDL
F+DP68%675,1*
&XSKDS68%675,1*VWULQJPQ
&KFQQJ+DPWUFKUDWFKX¡LVWULQJQN\W£WQKWN\W£WKP
G+DP/75,0575,0
&XSKDS/75,0VWULQJ575,0VWULQJ
&KFQQJ+DPFWERFDFNKRDQJWUQJWKDEQWUDLEQSKDLFKX¡LVWULQJ
H+DP/(1
&XSKDS/(1VWULQJ
&KFQQJ+DPWUDY¤GDLFXDFKX¡LVWULQJ
Trang 7MỤC LỤC
&+ml1*1*k11*muir1+1*+p$'mu/,j8
7 $2%$u1*'nv/,k8
&DFWKX¤FWQKOLQTXDQ¢QEDQJ
7D£REDQJEQJWUX\Y¢Q64/
6D LEDQJ
& +p08& ,1'(;
+81*1+o1 9 ,(:
&+ml1*1*k11*mu7+$27$v&'mu/,j8
7 58<;8i7'nv/,k8
1.1 X¸c ®Þnh b¶ng b»ng mÖnh ®Ò FROM 12
1.2 MÖnh ®Ò WHERE 13
1.3 Danh s¸ch chôn trong c©u lÖnh SELECT 14
1.4 TÝnh to¸n c¸c gi¸ trÞ trong c©u lÖnh SELECT 16
1.5 Tõ kho¸ DISTINCT 16
1.6 T¹o b¶ng míi b»ng c©u lÖnh SELECT INTO 17
1.7 S¾p xÕp kÕt qu¶ truy vÍn b»ng ORDER BY 17
1.8 PhÐp hîp vµ to¸n tö UNION 18
1.9 PhÐp nỉi 20
1.10 T¹o c¸c dßng thỉng kª d÷ liÖu víi COMPUTE BY 24
1.11 Thỉng kª d÷ liÖu víi GROUP BY vµ HAVING 26
1.12 Truy vấn con (subquery) 27
% l681* &i31+i79$t;2$w'nv/,k8 % VXQJGOL£X &£SQK£WGOL£X ;RDGOL£X &+ml1*1*k11*mui,j|8.+,j}1 & i8/k1+ *5$17 & i8/k1+ 5(92.( &+ml1*7+8t78&/m875mu9$s75,**(5 ,6 nu'81*7+8u78&/n875nv 6725('352&('85( I.1 T¹o c¸c thñ tôc lu tr÷ 35
I.2 Th«ng tin tr¶ vÒ tõ c¸c thñ tôc lu tr÷ 36
I.3 C¸c qui t¾c sö dông cho sp 38
I.4 X¸c ®Þnh tªn bªn trong c¸c thñ tôc 38
I.5 §ưi tªn c¸c thñ tôc: 39
I.6 Xo¸ thñ tôc: 39
II S Ö DÔNG C ¸ C T RIGGER II.1 T¹o c¸c trigger 40
II.2 C¸c gi¸ trÞ null ngÌm ®Þnh vµ hiÓn (implicit and explicit null values) 40
II.3 ViÖc ®ưi tªn vµ c¸c trigger 41
II.4 HiÓn thÞ th«ng tin vÒ c¸c trigger 41
II.5 Xo¸ trigger 42
&+ml1*3+8/8& & i8758w&9$t'nv/,k8&8u$%$u1* 1+$19,(1 9$t '219, 0 l76l+$t07+nmt1*6nu'81*7521* 64/6 (59(5 &DFKDPWUQGOL£XNL XQJD\YDJL 2.2 Các hàm về chuỗi 44