Giáo trình cơ sở dữ liệu

46 2.6K 17
Giáo trình cơ sở dữ liệu

Đ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

Giáo trình cơ sở dữ liệu

Giaùo trỗnh thổỷc haỡnh SQL7UDQJ*,lv,7+,j864/6WUXFWXUHG4XHU\/DQJXDJHODQJQQJÔFVGXÊQJFKRFDFKÊTXDQWUF VGOLÊX TXDQKÊ 1JQ QJ 64/ FKXQ ÔF D UD EL $16,$PHULFDQ1DWLRQDO 6WDQGDUGV ,QVWLWXGH YD ,62 ,QWHUQDWLRQDO 6WDQGDUGV 2UJDQL]DWLRQ YLSKLQ EDQ PL QKÂW KLÊQ QD\ OD SKLQ EDQ 64/ SKLQ EDQ ÔF D UD QP0Ê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ÊWNKDF\ODQJQQJFRWQKNKDLEDRQQQRGĂVGXÊQJYDFXQJYYÊ\PDWUQQSKELÂQ*LDRWULQKQD\QKPFXQJFÂSFKREDÊQWDLOLÊXWKDPNKDRWQJÂL\XYFDFFXOÊQK JLDRWDF 64/ V GXÊQJFKRKÊ TXDQ WU &6'/ 0LFURVRIW64/ 6HUYHU*LDRWUQKEDRJPEÂQFKQJ&KQJJLLWKLÊXPÔWVÂFXOÊQKVGXÊQJWURQJYLÊFQKQJKDFDFÂLWÔQJGOLÊXQKEDQJGOLÊXNKXQJQKQYDFKPXÊF &KQJ WUQK ED\ EÂQ FX OÊQK WKDR WDF G OLÊX OD 6(/(&7 ,16(5783'$7(YD'(/(7(WURQJRWÊSWUXQJFKX\ÂXFXOÊQK6(/(&7&KQJFÊSÂQKDLFXOÊQKLXNKLQOD*5$17YD5(92.(VGXÊQJWURQJYLÊ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ÊXFXDFDFEDQJVGXÊQJWURQJFDFYGXÊFKQJEDÊQWLÊQWUDFXYDÂLFKLÂXYLFDFYGXÊDQX1JRDLUDWURQJFKQJQD\FRQFRFDFKDPWKQJVGXÊQJWURQJ64/6HUYHUFDFEDÊQWKDPNKDRWURQJWKÊFKDQK0ÊFGXDUÂWFÂJQJQKQJJLDRWUQKNKQJWKWUDQKXÔFFDFVDLVRW5ÂWPRQJQKÊQÔFVÊJRS\FXDFDFEDÊQJLDRWUQKQJD\FDQJKRDQWKLÊQKQ Trỏửn Nguyón PhongCChhổổồồnngg 11:: NNGGNN NNGGặặẻẻ ậậNNHH NNGGHHẫẫAA DDặặẻẻ LLIIUU1JQQJQKQJKDGOLÊXEDRJPFDFFXOÊQKFKRSKHSQJLVGXÊQJQKQJKD&6'/YDFDFÂLWÔQJWURQJ&6'/QKFDFEDQJFDFNKXQJQKQFKPXÊF7DREDQJGOLX'OLÊXEQWURQJPÔW&6'/ÔFWFKFOXWUWURQJFDFEDQJ%QWURQJFDFEDQJGOLÊXÔFWFKFGLGDÊQJFDFGRQJYDFDFFÔW0ĂLPÔWGRQJELXGLĂQPÔWEDQJKLGX\QKÂWYDPĂLPÔWFÔWELXGLĂQFKRPÔWWUQJ&DFWKXFWQKOLQTXDQQEDQJ.KLWDÊRYDODPYLÊFYLFDFEDQJGOLÊXWDFQSKDL\ÂQFDFWKXÔFWQKNKDFWUQEDQJQKNLXGOLÊXFDFUDQJEXÔFFDFNKRDFDFTXLWF&DFWKXÔFWQKQD\ÔFVGXÊQJQKPWDÊRUDFDFUDQJEXÔFWRDQYHÊQWUQFDFFÔWWUQJWUQEDQJFXQJQKWDÊRUDFDFWRDQYHÊQWKDPFKLÂXJLDFDFEDQJGOLÊXWURQJ&6'/D.LXGOLX0ĂLPÔWFÔWWUQJFXDPÔWEDQJXSKDLWKXÔFYDRPÔWNLXGOLÊXQKÂWQKDÔFQKQJKDWWUF0ĂLPÔWNLXGOLÊXTXLQKFDFJLDWUGOLÊXÔFFKRSKHSÂLYLFÔWR&DFKÊTXDQWU&6'/WKQJFXQJFÂSFDFNLXGOLÊXFKXQQJRDLUDFRQFRWKFKRSKHSQJLVGXÊQJQKQJKDFDFNLXGOLÊXNKDFGÊDWUQFDFNLXGOLÊXDFR'L\ODPÔWVÂNLXGOLÊXWKQJÔFVGXÊQJWURQJJLDRWDF64/BinaryBitCharDatetimeDecimalFloatImageIntMoneyNcharNtextNvarcharRealSmalldatetimeSmallintSmallmoneyTextTinyintVarbinaryVarcharE&DFUDQJEXF&21675$,1767UQFDFEDQJGOLÊXFDFUDQJEXÔFÔFVGXÊQJQKPFDFPXÊFFKVDX 4XLQKFDFJLDWUGOLÊXKD\NKXQGDÊQJGOLÊXÔFFKRSKHSFKÂSQKÊQWUQFDFFÔWFXDEDQJUDQJEXÔF&+(&. 4XLQKJLDWUPÊFQKFKRFDFFÔWUDQJEXÔF'()$8/7 Giaùo trỗnh thổỷc haỡnh SQL7UDQJ 7DÊRQQWQKWRDQYHÊQWKÊFWKWURQJPÔWEDQJGOLÊXYDWRDQYHÊQWKDPFKLÂXJLDFDF 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ÊWFDF&6'/%QWURQJFDF&6'/PĂLPÔWEDQJWKQJÔFVGXÊQJQKPELXGLĂQWKQJWKLYFDFÂ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ÊQJXYDQKXWKÂQDR" 1KQJFÔWQDRVHRQJYDLWURODNKRDFKQKNKRDQJRDLNKRDGX\QKÂW"1KQJGDÊQJFKPXÊFQDRODFQWKLÂWYDFQXD7DREDQJGOLXjWDÊRPÔWEDQJWURQJ&6'/EDÊQVGXÊQJFXOÊQK&5($7(7$%/(FRFXSKDSQKVDX 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:7QEDQJ FQWDÊR 7QFXD EDQJ SKDL GX\QKÂWWURQJPĂL&6'/YDSKDLWXQWKHRFDFTXLWFYQKGDQK- colname_i:7QFXDFÔWWKLWURQJEDQJ&DFFÔWWURQJPĂL Tráön Nguyãn PhongEDQJSKDLFRWQNKDFQKDXYDSKDLWXQWKHRFDFTXLWF YQK GDQK 0¡L P¤W EDQJSKDL FR WQK¢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£XFXDF¤WYDFKQKF¤W FRFKRSKHSFK¢SQK£QJLDWU18//KD\NKQJ- constraints_i:&DF UDQJ EX¤F Q¢X FR WUQ F¤W WK L QK FDFUD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¤W0$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XDDDD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£XFR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 SQL7UDQJ manv char(10) not null, hoten char(30) not null, ngaysinh datetime null, diachi char(50) null, dienthoai char(6) nullconstraint check_dienthoai check (dienthoai like '[0-9][0-9][0-9] [0-9][0-9] [0-9]'))DDDD5DQJEXF'()$8/75DQJEXÔF'()$8/7ÔFVGXÊQJTXLQKJLDWUPÊFQKFKRPÔWFÔW*LDWUQD\VHWÊÔQJÔFJDQFKRFÔWQD\NKLQJLVGXÊQJEVXQJPÔWEDQJKLPDNKQJFKQKJLDWUFKRFÔW7UQPĂLFÔWFKFRWKFRQKLXQKÂWPÔWUDQJEXÔF'()$8/7WFODFKFRWKFRWÂLDPÔWJLDWUPÊFQKj 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)DDDD5DQJEXF35,0$5<.(<muYGXÊQD\FKXQJWLNKQJÊWWQFKRUDQJEXÔF'()$8/7.KLRKÊTXDQWU&6'/VHWÊÔQJÊWWQFKRUDQJEXÔFQD\7X\QKLQGĂGDQJFKRYLÊFTXDQWUEDÊQQQÊWWQFKRFDFUDQJEXÔF Tráön Nguyãn Phong5D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QJQK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QKOD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QJEX¤FPFEDQJ9GXWD£REDQJ1+$19,(1YLNKRDFKQKOD0$19CREATE 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) nullconstraint pk_nv primary key(manv)) Giaùo trỗnh thổỷc haỡnh SQL7UDQJD 5DQJEXF81,48(7KD\YVGXÊQJNKRDFKQKEDÊQFRWKVGXÊQJUDQJEXÔF81,48(DPEDRWQKWRDQYHÊQWKÊFWK6GXÊQJUDQJEXÔF81,48(WUQPÔWKD\QKLXFÔWEWEXÔFFDFJLDWUGOLÊXWUQPÔWKD\QKLXFÔWQD\NKQJÔFWUXQJOÊSQKDXjNKDLEDRPÔ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ÂLTXDQKÊQD\ÔF[DFQKGÊDWUQWQKEQJQKDXJLDPÔWKD\QKLXWUQJFXDEDQJQD\YLPÔWKD\QKLXWUQJFXDEDQJNKDF1ÂXPÔWKD\QKLXFÔWQDRRFXDPÔWEDQJFRJLDWUÔF[DFQKWPÔWKD\QKLXWUQJNKRDFXDEDQJNKDFWKFDFFÔWRÔFJRÔLODFRUDQJEXÔFNKRDQJRDÊLIRUHLJQNH\&DFUDQJEXÔF)25(,*1.(<ÔFVGXÊQJNÂWKÔSYLFDFUDQJEXÔF35,0$5<.(<YD81,48(QKPDPEDRWQKWRDQYHÊQWKDPFKLÂXJLDFDFEDQJÔFFKQKjNKDLEDRNKRDQJRDÊ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,(10$19+27(11*$<6,1+',$&+,',(17+2$,0$'9'219,0$'97(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QJ6DX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DEDQJQKE VXQJF¤WE VXQJNKRDWKD\ LFDFUDQJEX¤Fj FRWK VXD LED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 SQL7UDQJ&KPXFLQGH[&DFFKPXÊFÔFVGXÊQJQKPKĂWUÔYLÊFWUX\FÊSÂQFDFGRQJGOLÊXÔFQKDQKFKRQJGÊDWUQFDFJLDWUFXDPÔWKD\QKLXFÔW&KPXÊFÔFFKLDUDODPKDLORDÊLFKPXÊF WXÊ QKRPFOXVWHUHG LQGH[YD FKPXÊF NKQJ WXÊ QKRP QRQFOXVWHUHGLQGH[ 0ÔWFKPXÊFWXÊQKRPODPÔWFKPXÊFPDWURQJRWKWÊORJLFFXDFDFNKRDWQJWÊQKWKWÊYÊWO\FXDFDFGRQJWQJQJWQWDÊLWURQJEDQJ0ÔWEDQJFKFRWKFRWÂLDPÔWFKPXÊFWXÊQKRP 0ÔWFKPXÊFNKQJWXÊKRPODPÔWFKPXÊFPDWURQJRWKWÊORJLFFXDFDFNKRDNKQJQKWKWÊYÊWO\FXDFDFGRQJWURQJEDQJ&DFFKPXÊFWXÊQKRPKĂWUÔYLÊFWUX\FÊSÂQFDFGRQJGOLÊXQKDQKKQQKLXVRYLFDFFKPXÊFNKQJWXÊQKRP.KLWDNKDLEDRPÔWNKRDFKQKKD\NKRD81,48(WUQPÔWKD\QKLXFÔWQDRRFXDEDQJKÊTXDQWU&6'/VHWÊÔQJWDÊRFKPXÊFWUQFDFFÔWR%DÊQFRWKWDÊRWKPFDFFKPXÊFNKDFEQJFDFKVGXÊQJFXOÊQKFRFXSKDSQKVDX CREATE [CLUSTEREDNONCLUSTERED] INDEX index_name ON table_name(column_name [, column_name] .)9GX&XOÊQKGL\VHWDÊRPÔWFKPXÊFNKQJWXÊQKRPWUQFÔW0$'9FXDEDQJ1+$19,(1 CREATE NONCLUSTERED INDEX idx_nhanvien_madv ON nhanvien(madv).KXQJQKQ9LHZ0ÔWNKXQJQKQFRWKFRLQKODPÔWeEDQJDRfFRQÔLGXQJÔF[DFQKWPÔWWUX\YÂQ0ÔWWUX\YÂQTXHU\ODPÔWWÊSFDFFKGĂQLQVWUXFWLRQQKPWUX\[XÂWYDKLQWKGOLÊXWFDFEDQJWURQJ&6'/&DFWUX\YÂQÔFWKÊFKLÊQEQJFDFKVGXÊQJFXOÊQK6(/(&7ÔFFÊSÂQWURQJFKQJ0ÔWNKXQJQKQWURQJJLÂQJQKPÔWEDQJYLPÔWWÊRFDFWQFÔWYDFDFGRQJGOLÊ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_statement7URQJ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LP¡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DFD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FKFKR¤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¤SVDX− 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LV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.madvj 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QQKVDX CREATE VIEW thongtin_nv(manv,hoten,tuoi,donvi) [...]... tục lưu trữ là một trong những đối tượng sở dữ liệu. 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ữ thể 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 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... thái thông qua đó 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ữ đượ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... không được thực hiện dựa trên tiêu đề cột. ã Từ khoá COMPUTE thể được sử dụng mà không 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 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ả truy vấn. Những mệnh đề này thường được sử dụng kết hợp với nhau... NULL Giá trị NULL 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 dữ liệu được đưa vào và không 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 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... 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 thể được). ã Tiêu... S WHERE A *= C Sẽ cho kết quả là: A B C D 1 b1 Null Null Null b2 Null Null 4b3 4D2 1.10 Tạo các 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 Trỏửn Nguyón Phong M M U U C C L L U U C C &+ml1*1*k11*muir1+1*+p$'mu/,j8 7 $2%$u1*'nv/,k8 &DFWKXÔFWQKOLQTXDQÂQEDQJ 7DÊREDQJEQJWUX\YÂQ64/... 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 % l681*  &i31+i79$t;2$w'nv/,k8  % VXQJGOL£X &£SQK£WGOL£X... 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 thể dùng để thực hiện phép chọn (tức là truy xuất một tập con các dòng trong một hay nhiều bảng), phép chiếu (tức là truy xuất một tập con các cột trong một hay nhiều bảng) và phép nối (tức là liên kết các dòng trong hai hay nhiều bảng để truy xuất dữ liệu) . Cú pháp chung... thĨ sư dơng c©u lƯnh sau: SELECT * FROM nhanvien WHERE hsluong IN (1.86, 1.92, 2.11) Các ký tự đại diện và mệnh đề LIKE Từ khoá LIKE (NOT LIKE) sử dụng trong câu lệnh SELECT nhằm mô tả khuôn dạng của dữ liệu cần tìm kiếm. Chúng thường được kết hợp với các ký tự đại diện sau đây: Ký tự đại diện ý nghĩa % Chuỗi ký tự bất kỳ gồm không hoặc nhiều ký tự - Ký tự ®¬n bÊt kú [] Ký tù ®¬n bÊt kú trong giíi hạn... SELECT ten, diachi FROM nhanvien n1 1.2 Mệnh đề WHERE Mệnh đề WHERE trong câu lệnh SELECT xác định các ®iỊu kiƯn ®èi víi viƯc truy xt 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 hiển thị trong kết quả truy vấn. Trong mệnh đề WHERE thường sử dụng: ã Các toán tử so sánh ã Giới hạn ( BETWEEN và NOT BETWEEN). ã Danh sách (IN, NOT IN) ã . định các điều kiện đối với việc truyxuất dữ liệu. Sau mệnh đề WHERE là một biểu thức logic và chỉ những dòng dữ liệunào thoả mn biểu thức sau WHERE mới. NULLtheo 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ểudữ liệu trên cột đó. Người sử dụng trực tiếp đưa

Ngày đăng: 16/08/2012, 09:40

Từ khóa liên quan

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

Tài liệu liên quan