Giáo trình thuwcjj hành SQL potx

46 317 0
Giáo trình thuwcjj hành SQL potx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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 1JQQJQKQJKDGOL£XEDRJPFDFFXO£QKFKRSKHSQJLVGX£QJQK QJKD&6'/YDFDF¢LW¤QJWURQJ&6'/QKFDFEDQJFDFNKXQJQKQFKPX£F 7DREDQJGOLX 'OL£XEQWURQJP¤W&6'/¤FWFKFOXWUWURQJFDFEDQJ%QWURQJFDF EDQJGOL£X¤FWFKFGLGD£QJFDFGRQJYDFDFF¤W0¡LP¤WGRQJELXGL¡Q P¤WEDQJKLGX\QK¢WYDP¡LP¤WF¤WELXGL¡QFKRP¤WWUQJ &DFWKXFWQKOLQTXDQQEDQJ .KLWD£RYDODPYL£FYLFDFEDQJGOL£XWDFQSKDL\¢QFDFWKX¤FWQK NKDFWUQEDQJQKNLXGOL£XFDFUDQJEX¤FFDFNKRDFDFTXLWF&DFWKX¤F WQKQD\¤FVGX£QJQKPWD£RUDFDFUDQJEX¤FWRDQYH£QWUQFDFF¤WWUQJWUQ EDQJFXQJQKWD£RUDFDFWRDQYH£QWKDPFKL¢XJLDFDFEDQJGOL£XWURQJ&6'/ D.LXGOLX 0¡LP¤WF¤WWUQJFXDP¤WEDQJXSKDLWKX¤FYDRP¤WNLXGOL£XQK¢W QKD¤FQKQJKDWWUF0¡LP¤WNLXGOL£XTXLQKFDFJLDWUGOL£X ¤FFKRSKHS¢LYLF¤WR&DFK£TXDQWU&6'/WKQJFXQJF¢SFDFNLXGOL£X FKXQQJRDLUDFRQFRWKFKRSKHSQJLVGX£QJQKQJKDFDFNLXGOL£XNKDF G£DWUQFDFNLXGOL£XDFR 'L\ODP¤WV¢NLXGOL£XWKQJ¤FVGX£QJWURQJJLDRWDF64/ Binary Bit Char Datetime Decimal Float Image Int Money Nchar Ntext Nvarchar Real Smalldatetime Smallint Smallmoney Text Tinyint Varbinary Varchar E&DFUDQJEXF&21675$,176 7UQFDFEDQJGOL£XFDFUDQJEX¤F¤FVGX£QJQKPFDFPX£FFKVDX • 4XLQKFDFJLDWUGOL£XKD\NKXQGD£QJGOL£X¤FFKRSKHSFK¢SQK£QWUQ FDFF¤WFXDEDQJUDQJEX¤F&+(&. • 4XLQKJLDWUP£FQKFKRFDFF¤WUDQJEX¤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 EDQJSKDLFRWQNKDFQKDXYDSKDLWXQWKHRFDF TXLWFY QK GDQK0¡L P¤W EDQJ SKDLFR W QK¢WP¤WF¤W - col_i_properties: &DFWKX¤FWQKFXDF¤WWKLTXLQKNLXGOL£X FXDF¤WYDFKQKF¤WFRFKRSKHSFK¢SQK£Q JLDWU18//KD\NKQJ - constraints_i: &DF UDQJ EX¤FQ¢X FR WUQ F¤W WK L QK FDF UDQJEX¤FYNKRDFDFP£FQKFDFTXLQKY NKXQGD£QJGOL£X - table_constraint: &DFUDQJEX¤FWUQEDQJGOL£X 9GX &XO£QKGL\WK£FKL£QKYL£FWD£REDQJ1+$19,(1EDRJPFDFF¤W 0$19+27(11*$<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 ) E6GXQJFDFUDQJEXFWURQJEDQJGOLX D DD D 5DQJEXF&+(&. 5DQJEX¤F&+(&.¤FVGX£QJFKQKFDFJLDWUKD\NKXQGD£QJGOL£X FRWK¤F FK¢S QK£Q ¢LYL P¤WF¤W 7UQP¤W F¤W FR WK FR QKLXUDQJ EX¤F &+(&.jNKDLEDRP¤WUDQJEX¤F&+(&.¢LYLP¤WF¤WQDRRWDVGX£QJFX SKDSQKVDX [CONSTRAINT constraint_name] CHECK (expression) 7URQJR H[SUHVVLRQ ODP¤WELXWKFORJLFTXLQKJLDWUKD\NKXQGD£QJFXDG OL£X¤FFKRSKHS.KLRFKQKQJJLDWUGOL£XQDRODPFKR H[SUHVVLRQ QK£QJLD WUXQJPL¤FFK¢SQK£Q 9GX jTXLQKL£QWKRD£LFXDQKQYLQSKDLFRGD£QJFKQJKD£Q FXO£QKYGX£¤FYL¢WQKVDX 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 5DQJEX¤F35,0$5<.(<¤FVGX£QJQKQJKDNKRDFKQKFXDEDQJ 0¤WUDQJEX¤F35,0$5<.(<DPEDRUQJNKQJFRFDFJLDWUWUXQJO£S¤F DYDRWUQFDFF¤W+D\QRLFDFKNKDFJLDWUFXDNKRDFKQKVHJLXSFKRWD[DF QK¤FGX\QK¢WP¤WGRQJEDQJKLWURQJEDQJGOL£X0¡LP¤WEDQJFKFRWK FRGX\QK¢WP¤WNKRDFKQKYDEDQWKQNKRDFKQKNKQJFK¢SQK£QJLDWU18// 5DQJEX¤F35,0$5<.(<ODFVFKRYL£FDPEDRWQKWRDQYH£QWK£FWKFXQJ QKWRDQYH£QWKDPFKL¢X jNKDLEDRP¤WUDQJEX¤F35,0$5<.(<ED£QVGX£QJFXSKDSVDX [CONSTRAINT constraint_name ] PRIMARY KEY [CLUSTERED|NONCLUSTERED] [( colname [,colname2 [ ,colname16]])] 1¢XNKRDFKQKFXDP¤WEDQJFKODP¤WF¤WNKLRED£QNKQJFQWKL¢WSKDLFK QKGDQKVDFKFDFF¤WVGX£QJUDQJEX¤FPFF¤W7URQJWUQJK¤SNKRDFKQK ODP¤WW£SK¤SWKDLF¤WWUOQED£QSKDLFKQKGDQKVDFKFDFF¤WVGX£QJUDQJ EX¤FPFEDQJ 9GX WD£REDQJ1+$19,(1YLNKRDFKQKOD0$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 ) FXO£QKWUQFRWKYL¢WQKVDX 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) ) 6DLEDQJ 6DXNKLDWD£REDQJED£QFRWKWL¢QKDQKVDLF¢XWUXFKD\WKX¤FWQKFXD EDQJQKEVXQJF¤WEVXQJNKRDWKD\LFDFUDQJEX¤FjFRWKVXDL EDQJED£QVGX£QJFXO£QK$/7(5FRFXSKDSQKVDX 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] ] 9GX 7D£RP¤WUDQJEX¤FFKREDQJ'219,WUQF¤W0$'9TXLQKPDQY SKDLFRGD£QJKDLFKV¢YGX£ 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 • 6GX£QJNKXQJQKQQJLDQKRDWKDRWDFGOL£X • 6GX£QJNKXQJQKQWX\EL¢QGOL£X • 6GX£QJNKXQJQKQ[X¢WNKXH[SRUWGOL£X • 6GX£QJNKXQJQKQEDRP£WGOL£X jWD£RNKXQJQKQED£QVGX£QJFXO£QKFRFXSKDSQKVDX CREATE VIEW view_name[(column_name [, column_name] )] AS select_statement 7URQJR VHOHFWBVWDWHPHQW ODP¤WFXO£QK6(/(&7GXQJWUX\[X¢WGOL£XW P¤WKD\QKLXEDQJ .KLWD£RNKXQJQKQFQOX\P¤WV¢LPVDX • 7QNKXQJQKQSKDLWXQWKHRFDFTXLWFYQKGDQKYDSKDLGX\QK¢W¢LYL P¡LQJLVGX£QJ • .KQJWKUDQJEX¤FFDFP£FQKFDFTXLWFFKRNKXQJQKQ • .KQJWK[\G£QJFKPX£FFKRNKXQJQKQ • 7URQJFXO£QK&5($7(9,(:NKQJFQWKL¢WSKDLFKQKWQF¤W7QFXD FDFF¤WFXQJQKNLXGOL£XFXDFKXQJVHWQJQJYLFDFF¤WWURQJGDQKVDFK FKR¤QFXDFXO£QK6(/(&7 • %D£QSKDL[DFQKWQF¤WWURQJFXO£QK&5($7(9,(:WURQJFDFWUQJK¤S VDX − 0¡LF¤WFXDNKXQJQKQ¤FSKDWVLQKWP¤WELXWKFV¢KR¤FP¤WKDPFDL VQKD\P¤WKQJ − +DLKD\QKLXF¤WFXDNKXQJQKQFRWUXQJWQ − %D£QPX¢QWKD\LWQF¤WWURQJNKXQJQKQNKDFYLWQF¤WFXDEDQJFV 9GX &XO£QKGL\VHEO¡LGRWQFXDF¤WWKNKQJ[DFQK¤F CREATE VIEW thongtin_nv AS SELECT manv,hoten,datediff(year,ngaysinh,getdate()),tendv FROM nhanvien,donvi WHERE nhanvien.madv=donvi.madv jFXO£QKWUQFRWKWK£FKL£Q¤FED£QSKDL£WWQFKRFDFF¤WFXDNKXQJQKQ QKVDX CREATE VIEW thongtin_nv(manv,hoten,tuoi,donvi) [...]... 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 định... Nguyễn Thị Hoa Phòng kế toán 2.11 avg =========== 2.11 Lê Hoài Nam Phòng Tổ chức 1.86 Hoàng Nam Phong Phòng Tổ chức 3.21 avg =========== 2.535 Trần Nguyên Phong Phòng điều hành 1.92 Nguyễn Hữu Tình Phòng điều hành 1.92 avg =========== 1.92 Nguyễn Trung Kiên Phòng tài vụ 1.86 Trỏửn Nguyón Phong avg =========== 1.86 Khi sử dụng mệnh đề COMPUTE BY cần tuân theo các qui tắc dưới đây: Từ khóa... trỗnh thổỷc haỡnh SQL FROM donvi WHERE nhanvien.madonvi = donvi.madonvi AND donvi.dienthoai ='848484' Trỏửn Nguyón Phong Chổồng 3: NGN NGặẻ IệU KHIỉN GRANT ALL | statement [, ,statementN ] TO account [, ,accountN] GRANT ALL | permission [, ,permissionN] ON table_name |view_name [(column1 [, ,columnN])] |ON stored_procedure TO account [, ,accountN] Giaùo trỗnh thổỷc haỡnh SQL GRANT CREATE... Nguyón Phong REVOKE SELECT, UPDATE ON nhanvien(hsluong) FROM db_user1 REVOKE ALL FROM db_user Giaùo 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 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ữ được phân tích, tối ưu và biên dịch 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... 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 phát quyền cho người sử dụng thông qua các thủ tục lưu trữ, nhờ đó tăng khả năng bảo mật đối với hệ thống Tạo các thủ tục... ta gọi msp_list;2 mà không có tham số thì thủ tục sẽ lấy tham số mặc định là Nguyễn Văn A cho @bten Giá trị mặc định có thể NULL Trong trường hợp này, nếu người sử dụng không cung cấp tham số, SQL Server sẽ thi hành thủ tục theo các tham số khác Ví dụ 4.3: Với câu lệnh CREATE PROC sp_list;3 @bten char(20)=NULL,@bluong float AS SELECT * FROM nhanvien WHERE hoten=@bten AND hsluong=@bluong Ta thể gọi thủ... hơn (nếu có thể được) Tiêu đề cột trong kết quả của phép hợp sẽ là tiêu đề cột được chỉ định trong truy vấn đầu tiên 1.8.2 Sử dụng UNION với các giao tác SQL khác Các nguyên tắc sau phải được tuân theo khi sử dụng phép hợp với các câu lệnh giao tác SQL khác: Truy vấn đầu tiên trong câu lệnh UNION có thể có INTO để tạo một bảng từ kết quả cuối cùng Mệnh đề ORDER BY và COMPUTE dùng để xác định thứ tự...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... 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: Câu lệnh dưới đây cho biết họ tên, địa chỉ của các nhân viên và tên đơn vị mà mỗi nhân viên thực thuộc: SELECT hoten, diachi, tendonvi FROM nhanvien, donvi WHERE nhanvien.madonvi . vấn đầu tiên. 1.8.2 Sử dụng UNION với các giao tác SQL khác Các nguyên tắc sau phải đợc tuân theo khi sử dụng phép hợp với các câu lệnh giao tác SQL khác: Truy vấn đầu tiên trong câu lệnh UNION. 4XLQKJLDWUP£FQKFKRFDFF¤WUDQJEX¤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. (expression) 7URQJR H[SUHVVLRQ ODP¤WELXWKFORJLFTXLQKJLDWUKDNKXQGD£QJFXDG OL£X¤FFKRSKHS.KLRFKQKQJJLDWUGOL£XQDRODPFKR H[SUHVVLRQ QK£QJLD WUXQJPL¤FFK¢SQK£Q 9GX jTXLQKL£QWKRD£LFXDQKQYLQSKDLFRGD£QJFKQJKD£Q FXO£QKYGX£¤FYL¢WQKVDX 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)

Ngày đăng: 20/06/2014, 23:20

Mục lục

  • GIÅÏI THIÃÛU

  • SQL (Structured Query Language) l ngän ngỉỵ âỉåüc sỉí dủng cho cạc hãû qun trë cå såí dỉỵ liãûu quan hãû. Ngän ngỉỵ SQL chøn âỉåüc âỉa ra båíi ANSI (American National Standards Institude) v ISO (International Standards Organization) våïi phiãn

  • Giạo trinh ny nhàòm cung cáúp cho bản ti liãûu tham kho tỉång âäúi âáưy â vãư cạc cáu lãûnh giao tạc SQL sỉí dủng cho hãû qun trë CSDL Microsoft SQL Server. Giạo trçnh bao gäưm bäún chỉång:

  • - Chỉång 1 giåïi thiãûu mäüt säú cáu lãûnh sỉí dủng trong viãûc âënh nghéa cạc âäúi tỉåüng dỉỵ liãûu nhỉ bng dỉỵ liãûu, khung nhçn v chè mủc.

  • - Chỉång 2 trçnh by bäún cáu lãûnh thao tạc dỉỵ liãûu l SELECT, INSERT, UPDATE v DELETE; trong âọ táûp trung ch úu åí cáu lãûnh SELECT.

  • - Chỉång 3 âãư cáûp âãún hai cáu lãûnh âiãưu khiãøn l GRANT v REVOKE sỉí dủng trong viãûc cáúp phạt v hu b quưn ca ngỉåìi sỉí dủng CSDL.

  • - Chỉång 4 giåïi thiãûu vãư th tủc lỉu trỉỵ v trigger. Âáy l nhỉỵng âäúi tỉåüng CSDL âỉåüc sỉí dủng nhàòm tàng hiãûu nàng khi sỉí dủng CSDL.

  • - Trong chỉång phủ lủc, chụng täi giåïi thiãûu cáúu trục v dỉỵ liãûu ca cạc bng sỉí dủng trong cạc vê dủ åí chỉång 2 âãø bản tiãûn tra cỉïu v âäúi chiãúu våïi cạc vê dủ â nãu. Ngoi ra trong chỉång ny cn cọ cạc hm thỉåìng sỉ

  • Màûc d â ráút cäú gàõng nhỉng giạo trçnh khäng thãø trạnh âüc cạc sai sọt. Ráút mong nháûn âỉåüc sỉû gọp ca cạc bản âãø giạo trçnh ngy cng hon thiãûn hån.

  • Chỉång 1: NGÄN NGỈỴ ÂËNH NGHÉA DỈỴ LIÃÛU

  • Ngän ngỉỵ âënh nghéa dỉỵ liãûu bao gäưm cạc cáu lãûnh cho phẹp ngỉåìi sỉí dủng âënh nghéa CSDL v cạc âäúi tỉåüng trong CSDL nhỉ cạc bng, cạc khung nhçn, chè mủc,...

  • 1. Tảo bng dỉỵ liãûu

  • Dỉỵ liãûu bãn trong mäüt CSDL âỉåüc täø chỉïc lỉu trỉỵ trong cạc bng. Bãn trong cạc bng, dỉỵ liãûu âỉåüc täø chỉïc dỉåïi dảng cạc dng v cạc cäüt. Mäùi mäüt dng biãøu diãùn mäüt bn ghi duy nháút v mäùi mäüt cäüt biãøu diãùn cho mäüt trỉ

  • 1.1 Cạc thüc tênh liãn quan âãún bng

  • Khi tảo v lm viãûc våïi cạc bng dỉỵ liãûu, ta cáưn phi âãø âãún cạc thüc tênh khạc trãn bng nhỉ: kiãøu dỉỵ liãûu, cạc rng büc, cạc khoạ, cạc qui tàõc,... Cạc thüc tênh ny âỉåüc sỉí dủng nhàòm tảo ra cạc rng büc to

  • a. Kiãøu dỉỵ liãûu

  • Mäùi mäüt cäüt (trỉåìng) ca mäüt bng âãưu phi thüc vo mäüt kiãøu dỉỵ liãûu nháút âënh â âỉåüc âënh nghéa tỉì trỉåïc. Mäùi mäüt kiãøu dỉỵ liãûu qui âënh cạc giạ trë dỉỵ liãûu âỉåüc cho phẹp âäúi våïi cäüt âọ. Cạc hãû qun trë CSDL thỉåìn

  • Dỉåïi âáy l mäüt säú kiãøu dỉỵ liãûu thỉåìng âỉåüc sỉí dủng trong giao tạc SQL:

  • Binary

  • b. Cạc rng büc (CONSTRAINTS)

Tài liệu cùng người dùng

Tài liệu liên quan