Thông tin tài liệu
Giaùo trỗnh thổỷc haỡnh SQL
7UDQJ
*,lv,7+,j8
64/6WUXFWXUHG4XHU\/DQJXDJHODQJQQJÔFVGXÊQJFKRFDFKÊTXDQ
WUFVG OLÊX TXDQ KÊ 1JQ QJ 64/FKXQÔFD 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/
QJLVGXÊQJFRWKGĂGDQJQKQJKDÔFGOLÊXWKDRWDFYLGOLÊX0ÊW
NKDF\ODQJQQJFRWQKNKDLEDRQQQRGĂVGXÊQJYDFXQJYYÊ\PDWUQQ
SKELÂQ
*LDRWULQKQD\QKPFXQJFÂSFKREDÊQWDLOLÊXWKDPNKDRWQJÂL\XY
FDFFX OÊQK JLDR WDF 64/ V GXÊQJ FKR KÊ TXDQ WU &6'/ 0LFURVRIW 64/ 6HUYHU
*LDRWUQKEDRJPEÂQFKQJ
&KQJJLLWKLÊXPÔWVÂFXOÊQKVGXÊQJWURQJYLÊFQKQJKDFDFÂ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ÊQKLXNKLQOD*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ÊFKQJEDÊQWLÊQWUDFXYDÂLFKLÂXYLFDFYGXÊDQX
1JRDLUDWURQJFKQJQD\FRQFRFDFKDPWKQJVGXÊQJWURQJ64/6HUYHUFDF
EDÊQWKDPNKDRWURQJWKÊFKDQK
0ÊFGXDUÂWFÂJQJQKQJJLDRWUQKNKQJWKWUDQKXÔFFDFVDLVRW5ÂW
PRQJQKÊQÔFVÊJRS\FXDFDFEDÊQJLDRWUQKQJD\FDQJKRDQWKLÊQKQ
Tráön Nguyãn Phong
C
C
h
h
æ
æ
å
å
n
n
g
g
1
1
:
:
N
N
G
G
Ä
Ä
N
N
N
N
G
G
Æ
Æ
Î
Î
Â
Â
Ë
Ë
N
N
H
H
N
N
G
G
H
H
É
É
A
A
D
D
Æ
Æ
Î
Î
L
L
I
I
Ã
Ã
Û
Û
U
U
1JQQJQKQJKDGOL£XEDRJPFDFFXO£QKFKRSKHSQJLVGX£QJQK
QJKD&6'/YDFDF¢LW¤QJWURQJ&6'/QKFDFEDQJFDFNKXQJQKQFKPX£F
7DREDQJGOLX
'OL£XEQWURQJP¤W&6'/¤FWFKFOXWUWURQJFDFEDQJ%QWURQJFDF
EDQJGOL£X¤FWFKFGLGD£QJFDFGRQJYDFDFF¤W0¡LP¤WGRQJELXGL¡Q
P¤WEDQJKLGX\QK¢WYDP¡LP¤WF¤WELXGL¡QFKRP¤WWUQJ
&DFWKXFWQKOLQTXDQQEDQJ
.KLWD£RYDODPYL£FYLFDFEDQJGOL£XWDFQSKDL\¢QFDFWKX¤FWQK
NKDFWUQEDQJQKNLXGOL£XFDFUDQJEX¤FFDFNKRDFDFTXLWF&DFWKX¤F
WQKQD\¤FVGX£QJQKPWD£RUDFDFUDQJEX¤FWRDQYH£QWUQFDFF¤WWUQJWUQ
EDQJFXQJQKWD£RUDFDFWRDQYH£QWKDPFKL¢XJLDFDFEDQJGOL£XWURQJ&6'/
D.LXGOLX
0¡LP¤WF¤WWUQJFXDP¤WEDQJXSKDLWKX¤FYDRP¤WNLXGOL£XQK¢W
QKD¤FQKQJKDWWUF0¡LP¤WNLXGOL£XTXLQKFDFJLDWUGOL£X
¤FFKRSKHS¢LYLF¤WR&DFK£TXDQWU&6'/WKQJFXQJF¢SFDFNLXGOL£X
FKXQQJRDLUDFRQFRWKFKRSKHSQJLVGX£QJQKQJKDFDFNLXGOL£XNKDF
G£DWUQFDFNLXGOL£XDFR
'L\ODP¤WV¢NLXGOL£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
Giaùo trỗnh thổỷc haỡnh SQL
7UDQJ
7DÊRQQWQKWRDQYHÊQWKÊFWKWURQJPÔWEDQJGOLÊXYDWRDQYHÊQWKDPFKLÂXJLD
FDF EDQJ G OLÊX WURQJ &6'/ UDQJ EXÔF 35,0$5< .(< 81,48( YD
)25(,*1.(<
&KXQJWDVHWPKLXFKLWLÂWKQYFDFUDQJEXÔFQD\SKQWUQKED\YFXOÊQK
&5($7(7$%/(
7DREDQJEQJWUX\YQ64/
7DÊRFDFEDQJODPÔWNKXTXDQWURQJWURÔQJWURQJTXDWUQKWKLÂWNÂYDFDLGÊW
FDF&6'/%QWURQJFDF&6'/PĂLPÔWEDQJWKQJÔFVGXÊQJQKPELXGLĂQ
WKQJWKLYFDFÂLWÔQJWURQJWKÂJLLWKÊFYDKRÊFELXGLĂQPÂLTXDQKÊJLDFDF
ÂLWÔQJRjFRWKWFKFWÂWPÔWEDQJGOLÊXEDÊQWQKÂWFQSKDL[DFQK
ÔFFDF\XFXVDX
%DQJÔFVGXÊQJQKPPXÊFFKJYDFRYDLWURQKWKÂQDREQWURQJ&6'/"
%DQJVHEDRJPQKQJFÔWQDRYDNLXGOLÊXFKRFDFFÔWRODJ"
1KQJFÔWQDRFKRSKHSFKÂSQKÊQJLDWU18//
&RVGXÊQJFDFUDQJEXÔFFDFPÊFQKKD\NKQJYDQÂXFRWKVGXÊQJXYD
QKXWKÂQDR"
1KQJFÔWQDRVHRQJYDLWURODNKRDFKQKNKRDQJRDLNKRDGX\QKÂW"1KQJ
GDÊQJFKPXÊFQDRODFQWKLÂWYDFQX
D7DREDQJGOLX
jWDÊRPÔWEDQJWURQJ&6'/EDÊQVGXÊQJFXOÊQK&5($7(7$%/(FRFX
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:
7QEDQJFQ WDÊR7QFXD EDQJSKDLGX\ QKÂW
WURQJPĂL&6'/YDSKDLWXQWKHRFDFTXLWFY
QKGDQK
- colname_i:
7QFXDFÔWWKLWURQJEDQJ&DFFÔWWURQJPĂL
Tráön Nguyãn Phong
EDQJSKDLFRWQNKDFQKDXYDSKDLWXQWKHRFDF
TXLWFY QK GDQK0¡L P¤W EDQJ SKDLFR W
QK¢WP¤WF¤W
- col_i_properties:
&DFWKX¤FWQKFXDF¤WWKLTXLQKNLXGOL£X
FXDF¤WYDFKQKF¤WFRFKRSKHSFK¢SQK£Q
JLDWU18//KD\NKQJ
- constraints_i:
&DF UDQJ EX¤FQ¢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
(
manv char(10) not null,
hoten char(30) not null,
ngaysinh datetime null,
diachi char(50) null,
dienthoai char(6) null
)
E6GXQJFDFUDQJEXFWURQJEDQJGOLX
D
DD
D
5DQJEXF&+(&.
5DQJEX¤F&+(&.¤FVGX£QJFKQKFDFJLDWUKD\NKXQGD£QJGOL£X
FRWK¤F FK¢S QK£Q ¢LYL P¤WF¤W 7UQP¤W F¤W FR WK FR QKLXUDQJ EX¤F
&+(&.jNKDLEDRP¤WUDQJEX¤F&+(&.¢LYLP¤WF¤WQDRRWDVGX£QJFX
SKDSQKVDX
[CONSTRAINT constraint_name]
CHECK (expression)
7URQJR
H[SUHVVLRQ
ODP¤WELXWKFORJLFTXLQKJLDWUKD\NKXQGD£QJFXDG
OL£X¤FFKRSKHS.KLRFKQKQJJLDWUGOL£XQDRODPFKR
H[SUHVVLRQ
QK£QJLD
WUXQJPL¤FFK¢SQK£Q
9GX
jTXLQKL£QWKRD£LFXDQKQYLQSKDLFRGD£QJFKQJKD£Q
FXO£QKYGX£¤FYL¢WQKVDX
CREATE TABLE nhanvien
(
Giaùo trỗnh thổỷc haỡnh SQL
7UDQJ
manv char(10) not null,
hoten char(30) not null,
ngaysinh datetime null,
diachi char(50) null,
dienthoai char(6) null
constraint check_dienthoai
check (dienthoai like '[0-9][0-9][0-9]
[0-9][0-9] [0-9]')
)
D
DD
D
5DQJEXF'()$8/7
5DQJEXÔF'()$8/7ÔFVGXÊQJTXLQKJLDWUPÊFQKFKRPÔWFÔW
*LDWUQD\VHWÊÔQJÔFJDQFKRFÔWQD\NKLQJLVGXÊQJEVXQJPÔWEDQJKL
PDNKQJFKQKJLDWUFKRFÔW7UQPĂLFÔWFKFRWKFRQKLXQKÂWPÔWUDQJ
EXÔF'()$8/7WFODFKFRWKFRWÂ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
NULL}
9 GX
&X OÊQK GL \ FK QK JLD WU PÊF QK OD NKQJ ELÂW FKR FÔW
',$&+,WURQJEDQJ1+$19,(1YGXÊ
CREATE TABLE nhanvien
(
manv char(10) not null,
hoten char(30) not null,
ngaysinh datetime null,
diachi char(50) default 'khọng bióỳt',
dienthoai char(6) null
)
D
DD
D
5DQJEXF35,0$5<.(<
muYGXÊQD\FKXQJWLNKQJÊWWQFKRUDQJEXÔF'()$8/7.KLRKÊTXDQWU&6'/VHWÊÔQJÊWWQ
FKRUDQJEXÔFQD\7X\QKLQGĂGDQJFKRYLÊFTXDQWUEDÊQQQÊWWQFKRFDFUDQJEXÔF
Tráön Nguyãn Phong
5DQJEX¤F35,0$5<.(<¤FVGX£QJQKQJKDNKRDFKQKFXDEDQJ
0¤WUDQJEX¤F35,0$5<.(<DPEDRUQJNKQJFRFDFJLDWUWUXQJO£S¤F
DYDRWUQFDFF¤W+D\QRLFDFKNKDFJLDWUFXDNKRDFKQKVHJLXSFKRWD[DF
QK¤FGX\QK¢WP¤WGRQJEDQJKLWURQJEDQJGOL£X0¡LP¤WEDQJFKFRWK
FRGX\QK¢WP¤WNKRDFKQKYDEDQWKQNKRDFKQKNKQJFK¢SQK£QJLDWU18//
5DQJEX¤F35,0$5<.(<ODFVFKRYL£FDPEDRWQKWRDQYH£QWK£FWKFXQJ
QKWRDQYH£QWKDPFKL¢X
jNKDLEDRP¤WUDQJEX¤F35,0$5<.(<ED£QVGX£QJFXSKDSVDX
[CONSTRAINT constraint_name ]
PRIMARY KEY [CLUSTERED|NONCLUSTERED]
[( colname [,colname2 [ ,colname16]])]
1¢XNKRDFKQKFXDP¤WEDQJFKODP¤WF¤WNKLRED£QNKQJFQWKL¢WSKDLFK
QKGDQKVDFKFDFF¤WVGX£QJUDQJEX¤FPFF¤W7URQJWUQJK¤SNKRDFKQK
ODP¤WW£SK¤SWKDLF¤WWUOQED£QSKDLFKQKGDQKVDFKFDFF¤WVGX£QJUDQJ
EX¤FPFEDQJ
9GX
WD£REDQJ1+$19,(1YLNKRDFKQKOD0$19
CREATE TABLE nhanvien
(
manv char(10) primary key,
hoten char(30) not null,
ngaysinh datetime null,
diachi char(50) null,
dienthoai char(6) null
)
FXO£QKWUQFRWKYL¢WQKVDX
CREATE TABLE nhanvien
(
manv char(10) not null,
hoten char(30) not null,
ngaysinh datetime null,
diachi char(50) null,
dienthoai char(6) null
constraint pk_nv primary key(manv)
)
Giaùo trỗnh thổỷc haỡnh SQL
7UDQJ
D
5DQJEXF81,48(
7KD\YVGXÊQJNKRDFKQKEDÊQFRWKVGXÊQJUDQJEXÔF81,48(DP
EDRWQKWRDQYHÊQWKÊFWK6GXÊQJUDQJEXÔF81,48(WUQPÔWKD\QKLXFÔWEW
EXÔFFDFJLDWUGOLÊXWUQPÔWKD\QKLXFÔWQD\NKQJÔFWUXQJOÊSQKDXj
NKDLEDRPÔWUDQJEXÔF81,48(EDÊQVGXÊQJFXSKDSOÊQKVDX\
[CONSTRAINT constraint_name]
UNIQUE [CLUSTERED | NONCLUSTERED]
[colname1 [,colname2 [ ,colname16]])]
D
5DQJEXF)25(,*1.(<
&DFEDQJEQWURQJPÔW&6'/WKQJFRPÂLTXDQKÊYLQKDX&DFPÂLTXDQ
KÊQD\ÔF[DFQKGÊDWUQWQKEQJQKDXJLDPÔWKD\QKLXWUQJFXDEDQJ
QD\YLPÔWKD\QKLXWUQJFXDEDQJNKDF1ÂXPÔWKD\QKLXFÔWQDRRFXDPÔW
EDQJFRJLDWUÔF[DFQKWPÔWKD\QKLXWUQJNKRDFXDEDQJNKDFWKFDF
FÔWRÔFJRÔLODFRUDQJEXÔFNKRDQJRDÊLIRUHLJQNH\&DFUDQJEXÔF)25(,*1
.(<ÔFVGXÊQJNÂWKÔSYLFDFUDQJEXÔF35,0$5<.(<YD81,48(QKP
DPEDRWQKWRDQYHÊQWKDPFKLÂXJLDFDFEDQJÔFFKQK
jNKDLEDRNKRDQJRDÊLEDÊQVGXÊQJFXSKDSOÊQKQKVDX
[CONSTRAINT constraint_name ]
[FOREIGN KEY (colname [,colname2 [ ,colname16]])]
REFERENCES reference_table [(ref_colname
[,ref_colname2
[ ,ref_colname 16]])]
9 GX
7DÊR KDL EDQJ 1+$19,(10$19 +27(1 1*$<6,1+ ',$&+,
',(17+2$,0$'9YD'219,0$'97(1'9WKHRKQKGL\
CREATE TABLE donvi
(
1+$19,(1
0$19
+27(1
1*$<6,1+
',$&+,
',(17+2$,
0$'9
'219,
0$'9
7(1'9
+QK
Tráön Nguyãn Phong
madv char(2) primary key,
tendv char(20) not null
)
CREATE TABLE nhanvien
(
manv char(10) primary key,
hoten char(20) not null,
ngaysinh datetime null,
diachi char(50) default 'khong biet',
dienthoai char(6) check(dienthoai like '[0-9][0-9][0-9]
[0-9][0-9][0-9]'),
madv char(2) foreign key(madv)
references donvi(madv)
)
6DLEDQJ
6DXNKLDWD£REDQJED£QFRWKWL¢QKDQKVDLF¢XWUXFKD\WKX¤FWQKFXD
EDQJQKEVXQJF¤WEVXQJNKRDWKD\LFDFUDQJEX¤FjFRWKVXDL
EDQJED£QVGX£QJFXO£QK$/7(5FRFXSKDSQKVDX
ALTER TABLE table_name
[ADD
{col_name column_properties [column_constraints]
[[,]table_constraint ] }
[,{next_col_name|next_table_constraint}] ]
[DROP
[CONSTRAINT] constraint_name1
[, constraint_name2] ]
9GX
7D£RP¤WUDQJEX¤FFKREDQJ'219,WUQF¤W0$'9TXLQKPDQY
SKDLFRGD£QJKDLFKV¢YGX£
ALTER TABLE donvi
ADD CONSTRAINT check_madv
CHECK (madv LIKE ‘[0-9][0-9]’)
Giaùo trỗnh thổỷc haỡnh SQL
7UDQJ
&KPXFLQGH[
&DFFKPXÊFÔFVGXÊQJQKPKĂWUÔYLÊFWUX\FÊSÂQFDFGRQJGOLÊXÔF
QKDQKFKRQJGÊDWUQFDFJLDWUFXDPÔWKD\QKLXFÔW&KPXÊFÔFFKLDUDODPKDL
ORDÊLFKPXÊFWXÊQKRP FOXVWHUHG LQGH[YD FK PXÊFNKQJ WXÊQKRP QRQFOXVWHUHG
LQGH[
0ÔWFKPXÊFWXÊQKRPODPÔWFKPXÊFPDWURQJRWKWÊORJLFFXDFDFNKRDWQJ
WÊQKWKWÊYÊWO\FXDFDFGRQJWQJQJWQWDÊLWURQJEDQJ0ÔWEDQJFKFR
WKFRWÂLDPÔWFKPXÊFWXÊQKRP
0ÔWFKPXÊFNKQJWXÊKRPODPÔWFKPXÊFPDWURQJRWKWÊORJLFFXDFDFNKRD
NKQJQKWKWÊYÊWO\FXDFDFGRQJWURQJEDQJ&DFFKPXÊFWXÊQKRPKĂWUÔYLÊF
WUX\FÊSÂQFDFGRQJGOLÊXQKDQKKQQKLXVRYLFDFFKPXÊFNKQJWXÊQKRP
.KLWDNKDLEDRPÔWNKRDFKQKKD\NKRD81,48(WUQPÔWKD\QKLXFÔWQDRR
FXDEDQJKÊTXDQWU&6'/VHWÊÔQJWDÊRFKPXÊFWUQFDFFÔWR%DÊQFRWKWDÊR
WKPFDFFKPXÊFNKDFEQJFDFKVGXÊQJFXOÊQKFRFXSKDSQKVDX
CREATE [CLUSTEREDNONCLUSTERED] INDEX index_name
ON table_name(column_name [, column_name] )
9GX
&XOÊQKGL\VHWDÊRPÔWFKPXÊFNKQJWXÊQKRPWUQFÔW0$'9FXD
EDQJ1+$19,(1
CREATE NONCLUSTERED INDEX idx_nhanvien_madv
ON nhanvien(madv)
.KXQJQKQ9LHZ
0ÔWNKXQJQKQFRWKFRLQKODPÔWeEDQJDRfFRQÔLGXQJÔF[DFQKW
PÔWWUX\YÂQ0ÔWWUX\YÂQTXHU\ODPÔWWÊSFDFFKGĂQLQVWUXFWLRQQKPWUX\
[XÂWYDKLQWKGOLÊXWFDFEDQJWURQJ&6'/&DFWUX\YÂQÔFWKÊFKLÊQEQJ
FDFKVGXÊQJFXOÊQK6(/(&7ÔFFÊSÂQWURQJFKQJ
0ÔWNKXQJQKQWURQJJLÂQJQKPÔWEDQJYLPÔWWÊRFDFWQFÔWYDFDFGRQJ
GOLÊX7X\QKLQNKXQJQKQNKQJWQWDÊLQKODPÔWFÂXWUXFOXWUGOLÊXWURQJ
&6'/'OLÊXEQWURQJNKXQJQKQWKÊFFKÂWODGOLÊXÔF[DFQKWPÔWKD\
QKLXEDQJFVYDGRRSKXÊWKÔFYDRFDFEDQJFV
&DFNKXQJQKQWKQJÔFVGXÊQJEQWURQJ&6'/QKPFDFPXÊFFKVDX
\
6GXÊQJNKXQJQKQWÊSWUXQJWUQGOLÊXÔF[DFQK
Tráön Nguyãn Phong
•
6GX£QJNKXQJQKQQJLDQKRDWKDRWDFGOL£X
•
6GX£QJNKXQJQKQWX\EL¢QGOL£X
•
6GX£QJNKXQJQKQ[X¢WNKXH[SRUWGOL£X
•
6GX£QJNKXQJQKQEDRP£WGOL£X
jWD£RNKXQJQKQED£QVGX£QJFXO£QKFRFXSKDSQKVDX
CREATE VIEW view_name[(column_name [, column_name] )]
AS select_statement
7URQJR
VHOHFWBVWDWHPHQW
ODP¤WFXO£QK6(/(&7GXQJWUX\[X¢WGOL£XW
P¤WKD\QKLXEDQJ
.KLWD£RNKXQJQKQFQOX\P¤WV¢LPVDX
•
7QNKXQJQKQSKDLWXQWKHRFDFTXLWFYQKGDQKYDSKDLGX\QK¢W¢LYL
P¡LQJLVGX£QJ
•
.KQJWKUDQJEX¤FFDFP£FQKFDFTXLWFFKRNKXQJQKQ
•
.KQJWK[\G£QJFKPX£FFKRNKXQJQKQ
•
7URQJFXO£QK&5($7(9,(:NKQJFQWKL¢WSKDLFKQKWQF¤W7QFXD
FDFF¤WFXQJQKNLXGOL£XFXDFKXQJVHWQJQJYLFDFF¤WWURQJGDQKVDFK
FKR¤QFXDFXO£QK6(/(&7
•
%D£QSKDL[DFQKWQF¤WWURQJFXO£QK&5($7(9,(:WURQJFDFWUQJK¤S
VDX
−
0¡LF¤WFXDNKXQJQKQ¤FSKDWVLQKWP¤WELXWKFV¢KR¤FP¤WKDPFDL
VQKD\P¤WKQJ
−
+DLKD\QKLXF¤WFXDNKXQJQKQFRWUXQJWQ
−
%D£QPX¢QWKD\LWQF¤WWURQJNKXQJQKQNKDFYLWQF¤WFXDEDQJFV
9GX
&XO£QKGL\VHEO¡LGRWQFXDF¤WWKNKQJ[DFQK¤F
CREATE VIEW thongtin_nv
AS
SELECT manv,hoten,datediff(year,ngaysinh,getdate()),tendv
FROM nhanvien,donvi
WHERE nhanvien.madv=donvi.madv
jFXO£QKWUQFRWKWK£FKL£Q¤FED£QSKDL£WWQFKRFDFF¤WFXDNKXQJQKQ
QKVDX
CREATE VIEW thongtin_nv(manv,hoten,tuoi,donvi)
[...]... trỗnh thổỷc haỡnh SQL Chổồng 4: THU TUC LặU TRặẻ VAè TRIGGER Các thủ tục lưu trữ là một trong những đối tượng cơ sở dữ liệu Có thể xem chúng tương tự như những thủ tục trong các ngôn ngữ lập trình Mỗi một thủ tục lưu trữ có thể có các khả năng sau: Nhận các tham số đầu vào, thực thi các câu lệnh bên trong thủ tục và trả về các giá trị Bên trong mỗi thủ tục có thể chứa các câu lệnh nhằm thực hiện các... thao tác trên cơ sở dữ liệu (kể cả việc gọi đến các thủ tục lưu trữ khác) Trả về một giá trị trạng thái thông qua đó có thể xác định việc thực thi thủ tục là thành công hay bị lỗi Việc sử dụng các thủ tục lưu trữ bên trong cơ sở dữ liệu sẽ mang lại những lợi ích sau: Thủ tục lưu trữ cho phép module hoá công việc, tạo điều kiện thuận lợi cho việc thực hiện các thao tác trên dữ liệu Thủ tục lưu trữ... khi tạo ra nên việc thực thi chúng nhanh hơn nhiều so với việc sử dụng một tập các câu lệnh giao tác SQL theo những cách thông thường Thủ tục lưu trữ cho phép chúng ta thực hiện cùng một yêu cầu bằng một câu lệnh đơn giản thay vì phải sử dụng nhiều dòng lệnh SQL Điều này sẽ làm giảm thiểu sự lưu thông trên mạng Thay vì cấp phát quyền trực tiếp cho người sử dụng trên các câu lệnh SQL, ta có thể cấp... một giá trị nguyên được gọi là một trạng thái trả về Giá trị này chỉ ra cho biết thủ tục được thực hiện thành công hay gặp lỗi và nguyên nhân của lỗi (SQL Server đ định nghĩa sẵn một tập các giá trị trả về, các giá trị này nằm trong khoảng [-99;0]; trong đó giá trị trả về bằng 0 tức là việc thực hiện thủ tục thành công, các giá trị còn lại cho biết nguyên do khi bị lỗi) Giá trị trả về do người sử dụng... dòng thống kê dữ liệu với COMPUTE BY Ta sử dụng mệnh đề COMPUTE BY kết hợp với các hàm gộp dòng và mệnh đề ORDER BY để sản sinh ra các các báo cáo (report) nhằm thống kê các giá trị dữ liệu Giaùo trỗnh thổỷc haỡnh SQL theo từng nhóm Những giá trị thống kê này xuất hiện như là những dòng bổ sung trong kết quả truy vấn Một mệnh đề COMPUTE BY cho phép ta quan sát cả các chi tiết về dữ liệu lẫn các giá... cột hoặc một biểu thức trong mệnh đề ORDER BY, việc sắp xếp (order) không được thực hiện dựa trên tiêu đề cột Từ khoá COMPUTE có thể được sử dụng mà không có BY và khi đó ORDER BY là tùy chọn 1.11 Thống kê dữ liệu với GROUP BY và HAVING Ta có thể sử dụng các mệnh đề GROUP BY và HAVING để thống kê dữ liệu GROUP BY tổ chức dữ liệu vào các nhóm, HAVING thiết lập các điều kiện lên các nhóm trong kết quả... NULL Giá trị NULL có thể được nhập vào một cột cho phép chấp nhận giá trị NULL theo một trong ba cách sau: Nếu không có dữ liệu được đưa vào và không có mặc định cho cột hay kiểu dữ liệu trên cột đó Người sử dụng trực tiếp đưa giá trị NULL vào cho cột đó Một cột có kiểu dữ liệu là kiểu số sẽ chứa giá trị NULL nếu giá trị được chỉ định gây tràn số Trong mệnh đề WHERE, ta sử dụng IS NULL hoặc IS NOT... trong bản thân mỗi truy vấn phải cùng kiểu dữ liệu Các cột tương ứng trong bản thân từng truy vấn của một câu lệnh UNION phải xuất hiện theo thứ tự như nhau Nguyên nhân là do phép hợp so sánh các cột từng cột một theo thứ tự được cho trong mỗi truy vấn Khi các kiểu dữ liệu khác nhau được kết hợp với nhau trong câu lệnh UNION, chúng sẽ được chuyển sang kiểu dữ liệu cao hơn (nếu có thể được) Tiêu đề cột... nối được sử dụng để truy xuất dữ liệu từ hai hay nhiều bảng hoặc khung nhìn trong cùng CSDL hoặc trong các CSDL khác nhau bởi cùng một phép xử lý 1.9.1 Phép toán nối Một câu lệnh nối (join statament) thực hiện các công việc sau đây: Xác định một cột từ mỗi bảng So sánh các giá trị trong những cột này theo từng dòng Kết hợp các dòng có những giá trị thoả mn điều kiện thành những dòng mới Ví dụ 2.13:...Giaùo trỗnh thổỷc haỡnh SQL AS SELECT manv,hoten,datediff(year,ngaysinh,getdate()),tendv FROM nhanvien,donvi WHERE nhanvien.madv=donvi.madv Trỏửn Nguyón Phong Chổồng 2: NGN NGặẻ THAO TAẽC Dặẻ LIU Để truy xuất dữ liệu từ các dòng và các cột của một hay nhiều bảng, khung nhìn, ta sử dụng câu lệnh SELECT Câu lệnh này có thể dùng để thực hiện phép chọn (tức là truy xuất một tập con .
L
L
I
I
U
U
1JQQJWKDRWDFGOLÊXFXQJFÂSFKRQJLVGXÊQJNKDQQJWLÂQKDQKFDF
WKDRWDFWUX[XÂWEVXQJFÊSQKÊWYD[RDGOLÊX1JQQJWKDRWDFGOLÊXEDR
JPFDFFXOÊQK6(/(&7,16(5783'$7(YD'(/(7(
7UX[XWGOLX
Để truy xuất dữ liệu từ các dòng và các cột của một hay nhiều bảng, khung nhìn,
ta sử dụng câu lệnh SELECT. Câu lệnh này có thể dùng để thực hiện phép chọn. định các điều kiện đối với việc truy
xuất dữ liệu. Sau mệnh đề WHERE là một biểu thức logic và chỉ những dòng dữ liệu
nào thoả mn biểu thức sau WHERE mới đợc
Ngày đăng: 16/01/2014, 19:20
Xem thêm: Tài liệu Thực hành ngôn ngữ SQL pptx, Tài liệu Thực hành ngôn ngữ SQL pptx, Tãn bng cáưn tảo. Tãn ca bng phi duy nháút trong mäùi CSDL v phi tn theo cạc qui tàõc vãư âënh danh, Vê dủ 1.6: Tảo mäüt rng büc cho bng DONVI trãn cäüt MADV qui âënh m âån vë phi cọ dảng hai chỉỵ säú (vê dủ 01, 02,...), 1 X¸c ®Þnh b¶ng b»ng mƯnh ®Ị FROM, 8 PhÐp hỵp vµ to¸n tư UNION, 10 T¹o c¸c dßng thèng kª d÷ liƯu víi COMPUTE ... BY, Cáu lãûnh UPDATE cho phẹp ngỉåìi sỉí dủng thay âäøi dỉỵ liãûu â täưn tải bãn trong bng dỉỵ liãûu. Cáu lãûnh ny cọ cụ phạp nhỉ sau:, I. Sỉí dủng th tủc lỉu trỉỵ (stored procedure)