Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Giáo trình SQL và PL/SQL
MIỄN PHÍ
Số trang
78
Kích thước
528.5 KB
Định dạng
PDF
Lượt xem
1158

Giáo trình SQL và PL/SQL

Nội dung xem thử

Mô tả chi tiết

www.nhipsongcongnghe.net

C«ng ty cæ phÇn ®Çu t− ph¸t triÓn c«ng nghÖ - FPT

Gi¸o tr×nh SQL vµ PL/SQL

§µo t¹o c¬ b¶n: SQL vµ PL/SQL Trang 2

C«ng ty cæ phÇn ®Çu t− ph¸t triÓn c«ng nghÖ - Fpt

Hµ Néi, th¸ng 11 n¨m 2002.

§µo t¹o Oracle c¬ b¶n

Gi¸o tr×nh SQL vµ PL/SQL

C«ng ty cæ phÇn ®Çu t− ph¸t triÓn c«ng nghÖ - FPT

Gi¸o tr×nh SQL vµ PL/SQL

§µo t¹o c¬ b¶n: SQL vµ PL/SQL Trang 3

Môc lôc

Môc lôc .................................................................................................................................................3

1 Giíi thiÖu.......................................................................................................................................6

1.1 Môc tiªu kho¸ häc ..............................................................................................................................6

1.2 Khëi ®éng vµ tho¸t khái Oracle.........................................................................................................6

1.2.1 T¹i Server (Window NT) .........................................................................................6

1.2.2 T¹i Client (Window 9x)............................................................................................6

1.3 Giíi thiÖu ng«n ng÷ SQL ...................................................................................................................7

1.3.1 LÞch sö ph¸t triÓn cña ng«n ng÷ SQL .....................................................................7

1.3.2 ChuÈn SQL .............................................................................................................7

1.4 C¸c kh¸i niÖm trong CSDL.................................................................................................................7

1.5 Danh s¸ch rót gän c¸c ®èi t−îng CSDL ...........................................................................................8

1.6 C¸c lÖnh SQL ......................................................................................................................................8

1.7 Giíi thiÖu vÒ vÝ dô thùc hµnh.............................................................................................................9

1.7.1 M« h×nh quan hÖ d÷ liÖu..........................................................................................9

1.7.2 M« t¶ d÷ liÖu............................................................................................................9

2 LÖnh truy vÊn c¬ b¶n ...........................................................................................................10

2.1 LÖnh truy vÊn c¬ b¶n........................................................................................................................10

2.2 C¸c thµnh phÇn kh¸c cña mÖnh ®Ò SELECT..................................................................................10

2.3 Gi¸ trÞ Null..........................................................................................................................................11

2.4 Läc d÷ liÖu tõ c¸c row cã cïng gi¸ trÞ.............................................................................................11

2.5 HiÓn thÞ cÊu tróc b¶ng ......................................................................................................................12

2.6 C¸c lÖnh cña c«ng cô SQL*Plus......................................................................................................12

2.6.1 C¸c lÖnh so¹n th¶o ...............................................................................................12

2.6.2 C¸c lÖnh vÒ file......................................................................................................13

2.6.3 C¸c lÖnh vÒ column...............................................................................................13

2.7 Bµi tËp................................................................................................................................................14

3 Truy vÊn d÷ liÖu cã ®iÒu kiÖn ............................................................................................16

3.1 MÖnh ®Ò ORDER BY .........................................................................................................................16

3.2 MÖnh ®Ò WHERE...............................................................................................................................16

3.3 C¸c to¸n tö ........................................................................................................................................17

3.4 Bµi tËp................................................................................................................................................19

4 C¸c hµm ¸p dông cho 1 dßng d÷ liÖu..............................................................................20

4.1 C¸c hµm sè........................................................................................................................................20

4.2 C¸c hµm ký tù ...................................................................................................................................22

4.3 C¸c hµm ngµy ...................................................................................................................................26

4.4 C¸c hµm chuyÓn ®æi kiÓu.................................................................................................................28

4.5 Bµi tËp................................................................................................................................................29

5 BiÕn runtime..............................................................................................................................31

5.1 Bµi tËp................................................................................................................................................32

6 C¸c hµm nhãm ¸p dông cho lín h¬n hoÆc b»ng 1 dßng d÷ liÖu ........................32

6.1 C¸c hµm t¸c ®éng trªn nhãm ..........................................................................................................32

6.2 MÖnh ®Ò GROUP BY .........................................................................................................................34

6.3 Bµi tËp................................................................................................................................................35

7 HiÓn thÞ néi dung d÷ liÖu tõ nhiÒu b¶ng........................................................................35

7.1 Mèi liªn kÕt t−¬ng ®−¬ng .................................................................................................................35

C«ng ty cæ phÇn ®Çu t− ph¸t triÓn c«ng nghÖ - FPT

Gi¸o tr×nh SQL vµ PL/SQL

§µo t¹o c¬ b¶n: SQL vµ PL/SQL Trang 4

7.2 Mèi liªn kÕt kh«ng t−¬ng ®−¬ng......................................................................................................35

7.3 Mèi liªn kÕt céng...............................................................................................................................36

7.4 Liªn kÕt cña b¶ng víi chÝnh nã .......................................................................................................36

7.5 C¸c to¸n tö tËp hîp ..........................................................................................................................36

7.6 Bµi tËp................................................................................................................................................37

8 C¸c lÖnh truy vÊn lång nhau...........................................................................................39

8.1 C©u lÖnh SELECT lång nhau. ..........................................................................................................39

8.2 Bµi tËp................................................................................................................................................40

9 CÊu tróc h×nh c©y...................................................................................................................40

9.1 CÊu tróc h×nh c©y trong 1 table .......................................................................................................40

9.2 Kü thuËt thùc hiÖn ............................................................................................................................41

9.3 Bµi tËp................................................................................................................................................42

10 Tæng kÕt vÒ lÖnh select .....................................................................................................44

11 T¹o table ...................................................................................................................................44

11.1 LÖnh t¹o b¶ng ...................................................................................................................................44

11.2 C¸c quy t¾c ®Æt tªn object ...............................................................................................................46

11.3 C¸c quy t¾c khi tham chiÕu ®Õn object...........................................................................................47

11.4 KiÓu d÷ liÖu vµ ®iÒu kiÖn..................................................................................................................47

11.4.1 CHAR ....................................................................................................................47

11.4.2 VARCHAR2...........................................................................................................48

11.4.3 VARCHAR.............................................................................................................48

11.4.4 NUMBER...............................................................................................................48

11.4.5 FLOAT...................................................................................................................48

11.4.6 LONG ....................................................................................................................49

11.4.7 DATE.....................................................................................................................49

11.4.8 RAW vµ LONG RAW ............................................................................................50

11.4.9 ROWID..................................................................................................................50

11.4.10 MLSLABEL............................................................................................................50

11.4.11 ChuyÓn ®æi kiÓu ....................................................................................................50

11.5 Constraint..........................................................................................................................................51

11.6 Bµi tËp................................................................................................................................................52

12 c¸c lÖnh DDL kh¸c vµ d÷ liÖu trong tõ ®iÓn d÷ liÖu...............................................52

12.1 ChØnh söa cÊu tróc table ..................................................................................................................52

12.2 C¸c lÖnh DDL kh¸c ...........................................................................................................................53

12.2.1 Xãa table ...............................................................................................................53

12.2.2 Gi¶i thÝch b¶ng ......................................................................................................53

12.2.3 Thay ®æi tªn object................................................................................................53

12.2.4 Xãa d÷ liÖu cña table.............................................................................................53

12.3 D÷ liÖu trong tõ ®iÓn d÷ liÖu ............................................................................................................54

12.4 Bµi tËp................................................................................................................................................54

13 C¸c lÖnh Thao t¸c d÷ liÖu kh¸c ......................................................................................55

13.1 ChÌn mét row vµo table ...................................................................................................................55

13.2 ChØnh söa d÷ liÖu..............................................................................................................................55

13.3 Xãa dßng ...........................................................................................................................................55

13.4 Lçi rµng buéc d÷ liÖu .......................................................................................................................56

13.5 LÖnh ®iÒu khiÓn giao dÞch................................................................................................................56

13.6 Bµi tËp................................................................................................................................................57

14 Sequence vµ index..................................................................................................................57

C«ng ty cæ phÇn ®Çu t− ph¸t triÓn c«ng nghÖ - FPT

Gi¸o tr×nh SQL vµ PL/SQL

§µo t¹o c¬ b¶n: SQL vµ PL/SQL Trang 5

14.1 Sequence...........................................................................................................................................57

14.1.1 T¹o Sequence.......................................................................................................57

14.1.2 Xo¸ vµ söa sequence ...........................................................................................58

14.2 Index ..................................................................................................................................................58

14.3 Bµi tËp................................................................................................................................................59

15 T¹o view ......................................................................................................................................59

15.1 View....................................................................................................................................................59

15.2 Bµi tËp................................................................................................................................................61

16 QuyÒn vµ b¶o mËt ...................................................................................................................61

16.1 QuyÒn - PRIVILEGE ..........................................................................................................................61

16.2 ROLE..................................................................................................................................................62

16.3 Synonym............................................................................................................................................63

17 tæng quan vÒ pl/sql vµ procedure builder...............................................................63

17.1 Có ph¸p lÖnh PL/SQL .......................................................................................................................63

17.2 PL/SQL block ....................................................................................................................................63

17.3 Giíi thiÖu Procedure builder............................................................................................................64

18 có ph¸p lËp tr×nh ...................................................................................................................66

18.1 IF ........................................................................................................................................................66

18.2 LOOP vµ EXIT....................................................................................................................................66

18.3 FOR ....................................................................................................................................................67

18.4 WHILE ................................................................................................................................................67

18.5 GOTO .................................................................................................................................................67

19 cursor ........................................................................................................................................68

19.1 §Þnh nghÜa .........................................................................................................................................68

19.2 KiÓu d÷ liÖu Table vµ Record...........................................................................................................69

19.3 Sao kiÓu d÷ liÖu ................................................................................................................................70

19.4 C©u lÖnh SELECT... INTO... trong PL/SQL......................................................................................70

19.5 Bµi tËp................................................................................................................................................70

20 procedure vµ funtion..........................................................................................................71

20.1 Procedure ..........................................................................................................................................71

20.2 Function.............................................................................................................................................72

20.3 Bµi tËp................................................................................................................................................73

21 pakage.........................................................................................................................................73

21.1 Package .............................................................................................................................................73

22 database trigger ..................................................................................................................74

22.1 Database Trigger...............................................................................................................................74

22.2 Bµi tËp................................................................................................................................................75

23 error handing.........................................................................................................................76

23.1 Bµi tËp................................................................................................................................................78

C«ng ty cæ phÇn ®Çu t− ph¸t triÓn c«ng nghÖ - FPT

Gi¸o tr×nh SQL vµ PL/SQL

§µo t¹o c¬ b¶n: SQL vµ PL/SQL Trang 6

1 Giíi thiÖu

1.1 Môc tiªu kho¸ häc

KÕt thóc kho¸ häc häc viªn ph¶i n¾m ®−îc

• HiÓu ®−îc ph−¬ng ph¸p, c¸c thµnh phÇn, thuËt ng÷ vµ thao t¸c trong CSDL quan hÖ

• T¹o ®−îc c¸c cÊu tróc d÷ liÖu nh− table, view dïng SQL

• Ghi, ®äc, vµ cËp nhËt d÷ liÖu trong CSDL

• X©y dùng c¸c PL/SQL block dïng Procedure Builder

1.2 Khëi ®éng vµ tho¸t khái Oracle

1.2.1 T¹i Server (Window NT)

SQLDBA cung cÊp c¸c dÞch vô qu¶n trÞ hÖ thèng, nh−: t¹o lËp CSDL, më - ®ãng CSDL, t¹o vµ qu¶n lý c¸c

USER ... C¸c b−íc ®Ó khëi ®éng t¹i Server nh− sau:

• Khëi ®éng m¸y chñ

• BËt dÞch vô OracleServiceXXX (trong ®ã XXX lµ tªn cña CSDL) b»ng c¸ch nhÊn vµo Start -> Program -

> Service -> OracleServiceXXX -> NhÊn chuét ph¶i -> NhÊn Start. Chó ý chØ bËt dÞch vô nµy khi ng−êi

cµi ®Æt kh«ng ®Ó chÕ ®é tù ®éng hay khi dÞch vô nµy ch−a ®−îc bËt.

• BËt dÞch vô OracleXXXTNSLÝstener (trong ®ã XXX lµ tªn cña Database Home) b»ng c¸ch nhÊn vµo

Start -> Program -> Service -> OracleXXXTNSLÝstener -> NhÊn chuét ph¶i -> NhÊn Start. Chó ý chØ bËt

dÞch vô nµy khi ng−êi cµi ®Æt kh«ng ®Ó chÕ ®é tù ®éng hay khi dÞch vô nµy ch−a ®−îc bËt.

• Khi bËt xong CSDL ®· s½n sµng ®Ó lµm viÖc

§Ó ®ãng CSDL cÇn lµm theo c¸c b−íc ng−îc l¹i:

• T¾t dÞch vô OracleXXXTNSLÝstener (trong ®ã XXX lµ tªn cña Database Home) b»ng c¸ch nhÊn vµo

Start -> Program -> Service -> OracleXXXTNSLÝstener -> NhÊn chuét ph¶i -> NhÊn Stop.

• T¾t dÞch vô OracleServiceXXX (trong ®ã XXX lµ tªn cña CSDL) b»ng c¸ch nhÊn vµo Start -> Program -

> Service -> OracleServiceXXX -> NhÊn chuét ph¶i -> NhÊn Stop.

• Shutdown m¸y chñ.

1.2.2 T¹i Client (Window 9x)

C¸c øng dông cña oracle ch¹y trong m«i tr−êng Windows víi giao diÖn graphic, c¸c øng dông th−êng dïng

cã SQL*Plus, Oracle Form, Oracle Report, Oracle Designer ... ViÖc ch¹y c¸c øng dông nµy hoµn toµn gièng

nh− viÖc ch¹y c¸c øng dông th«ng th−êng trong m«i tr−êng windows.

§Ó lµm viÖc víi c¸c øng dông truy cËp CSDL Oracle, ng−êi sö dông (NSD) ph¶i connect vµo CSDL. Cã hai

c¸ch ®Ó connect.

Connect NSD/password, vÝ dô NSD tªn Scott cã password lµ tiger th×

Connect Scott/tiger

Ph¸t lÖnh connect víi tªn NSD, khi ®ã Oracle sÏ hái password

Connect Scott

Enter password: *****

C«ng ty cæ phÇn ®Çu t− ph¸t triÓn c«ng nghÖ - FPT

Gi¸o tr×nh SQL vµ PL/SQL

§µo t¹o c¬ b¶n: SQL vµ PL/SQL Trang 7

NSD cã thÓ lµm viÖc trong ph¹m vi cho phÐp cña m×nh mµ Oracle gäi lµ "khung c¶nh" (Schema) cña NSD.

Mçi khung c¶nh chøa nhiÒu ®èi t−îng c¸c lo¹i, NSD chØ cã thÓ t¸c ®éng lªn c¸c ®èi t−îng trong khung c¶nh

cña m×nh.

Trong c¸c øng dông ®Òu cã chøc n¨ng tho¸t vµ tù ®éng disconnect.

§Ó thùc hµnh phÇn SQL vµ PL/SQL gäi øng dông SQL* Plus.

1.3 Giíi thiÖu ng«n ng÷ SQL

1.3.1 LÞch sö ph¸t triÓn cña ng«n ng÷ SQL

M« h×nh c¬ së d÷ liÖu (CSDL) quan hÖ do E.F Codd ®−a ra vµo ®Çu thËp kû 70, tõ ®ã ®Õn nay nã liªn tôc

ph¸t triÓn trë thµnh m« h×nh CSDL phæ biÕn bËc nhÊt (RDBMS). M« h×nh quan hÖ gåm c¸c thµnh phÇn sau:

• TËp hîp c¸c ®èi t−îng vµ/hoÆc c¸c mèi quan hÖ

• TËp hîp c¸c xö lý t¸c ®éng tíi c¸c quan hÖ

• Rµng buéc d÷ liÖu ®¶m b¶o tÝnh chÝnh x¸c vµ nhÊt qu¸n.

SQL (Structured Query Language, ®äc lµ "sequel") lµ tËp lÖnh truy xuÊt CSDL quan hÖ. Ng«n ng÷ SQL ®−îc

IBM sö dông ®Çu tiªn trong hÖ qu¶n trÞ CSDL System R vµo gi÷a nh÷ng n¨m 70, hÖ ng«n ng÷ SQL ®Çu tiªn

(SEQUEL2) ®−îc IBM c«ng bè vµo th¸ng 11 n¨m 1976. N¨m 1979, tËp ®oµn ORACLE giíi thiÖu th−¬ng

phÈm ®Çu tiªn cña SQL, SQL còng ®−îc cµi ®Æt trong c¸c hÖ qu¶n trÞ CSDL nh− DB2 cña IBM vµ SQL/DS.

Ngµy nay, SQL ®−îc sö dông réng r·i vµ ®uîc xem lµ ng«n ng÷ chuÈn ®Ó truy cËp CSDL quan hÖ.

1.3.2 ChuÈn SQL

N¨m 1989, viÖn tiªu chuÈn quèc gia Hoa kú (ANSI) c«ng nhËn SQL lµ ng«n ng÷ chuÈn ®Ó truy cËp CSDL

quan hÖ trong v¨n b¶n ANSI SQL89.

N¨m 1989, tæ chøc tiªu chuÈn quèc tÕ (ISO) c«ng nhËn SQL ng«n ng÷ chuÈn ®Ó truy cËp CSDL quan hÖ

trong v¨n b¶n ISO 9075-1989.

TÊt c¶ c¸c hÖ qu¶n trÞ CSDL lín trªn thÕ giíi cho phÐp truy cËp b»ng SQL vµ hÇu hÕt theo chuÈn ANSI.

1.4 C¸c kh¸i niÖm trong CSDL

Table lµ cÊu tróc l−u tr÷ c¬ b¶n nhÊt trong CSDL quan hÖ (RDBMS), nã bao gåm 1 hoÆc nhiÒu

column vµ 0 hoÆc nhiÒu row.

Row lµ tæ hîp nh÷ng gi¸ trÞ cña Column trong b¶ng. Mét row cßn cã thÓ ®−îc gäi lµ 1 record.

Column hiÓn thÞ mét lo¹i d÷ liÖu trong b¶ng, vÝ dô tªn phßng ban trong b¶ng phßng ban. Ng−êi ta thÓ

hiÖn nã th«ng qua tªn column vµ gi÷ sè liÖu d−íi c¸c kiÓu vµ kÝch cì nhÊt ®Þnh.

Field lµ giao cña column vµ row. Field chÝnh lµ n¬i chøa d÷ liÖu. NÕu kh«ng cã d÷ liÖu trong field

ng−êi ta nãi field cã gia trÞ lµ null.

Primary Key lµ mét column hoÆc mét tËp c¸c column x¸c ®Þnh tÝnh duy nhÊt cña c¸c row ë trong b¶ng. VÝ dô

m· phßng ban. Primary Key nhÊt thiÕt ph¶i cã sè liÖu.

Foreign Key lµ mét column hoÆc mét tËp c¸c column tham chiÕu tíi chÝnh b¶ng ®ã hoÆc mét b¶ng kh¸c.

Foreign Key x¸c ®Þnh mèi quan hÖ gi÷a c¸c b¶ng.

Constraint lµ c¸c rµng buéc d÷ liÖu, vÝ dô Foreign Key, Primary Key...

Tải ngay đi em, còn do dự, trời tối mất!