®¹i häc quèc gia hµ néi Tr­êng §¹i Häc Khoa Häc Tù Nhiªn Khoa c ng nghÖ Th ng tin


Ch­¬ng I HÖ c¬ së d÷ liÖu quan hÖ vµ ng«n ng÷ hái cã cÊu tróc sql



tải về 0.52 Mb.
trang2/8
Chuyển đổi dữ liệu10.08.2016
Kích0.52 Mb.
#16975
1   2   3   4   5   6   7   8

Ch­¬ng I HÖ c¬ së d÷ liÖu quan hÖ vµ ng«n ng÷ hái cã cÊu tróc sql

A - HÖ c¬ së d÷ liÖu quan hÖ

1. Quan hÖ vµ c¸c phÐp to¸n ®¹i sè quan hÖ

1.1. Quan hÖ

Quan hÖ lµ mét tËp con cña tÝch §Ò-c¸c cña mét hoÆc nhiÒu miÒn. Nh­ vËy mét quan hÖ cã thÓ lµ v« h¹n. ë ®©y lu«n lu«n gi¶ thiÕt r»ng quan hÖ lµ mét tËp h÷u h¹n. Mçi hµng cña mét quan hÖ gäi lµ mét bé, khi ®ã quan hÖ lµ tËp con cña tÝch §Ò-c¸c D1D2D3...Dn lµ quan hÖ n ng«i. Mçi bé cña quan hÖ cã n thµnh phÇn (th­êng hiÓu lµ n cét). C¸c cét cña quan hÖ gäi lµ c¸c thuéc tÝnh. Cã thÓ ®Þnh nghÜa quan hÖ theo c¸ch h×nh thøc nh­ sau:

Gäi R=A1, A2, ..., An lµ tËp h÷u h¹n c¸c thuéc tÝnh, mçi thuéc tÝnh Ai víi i=1, 2, ..., n cã miÒn gi¸ trÞ t­¬ng øng lµ dom(Ai). Quan hÖ trªn tËp thuéc tÝnh R= A1, A2, ..., An lµ tËp con cña tÝch §Ò-c¸c, r  dom(A1)  dom(A2) ... dom(An). Khi ®ã kÝ hiÖu r(R) hoÆc r(A1, A2, ..., An) lµ quan hÖ.


1.2. Kho¸ cña l­îc ®å quan hÖ

Kho¸ (Key) cña quan hÖ r trªn tËp thuéc tÝnh R={A1, ...An} lµ tËp con KR sao cho bÊt k× hai bé kh¸c nhau t1, t2  r lu«n tho¶ t1(K)t2(K).

§iÒu nµy cã nghÜa lµ l­îc ®å quan hÖ kh«ng cã hai bé gièng nhau trªn mäi thuéc tÝnh cña R.


1.3. C¸c phÐp to¸n ®¹i sè quan hÖ

Gäi r vµ s lµ quan hÖ trªn tËp thuéc tÝnh R={A1, A2,...,An} vµ R1={B1,B2,...,Bn}.

Gi¶ thiÕt r»ng quan hÖ r, s lµ tËp h÷u h¹n c¸c bé. §èi víi c¸c phÐp hîp, giao vµ trõ, hai quan hÖ tham gia ph¶i lµ kh¶ hîp.




  • Hîp cña hai quan hÖ

KÝ hiÖu hîp cña hai quan hÖ r vµ s lµ r  s.

BiÓu diÔn h×nh thøc cã d¹ng: r  s ={t/ts hoÆc tr hoÆc tr vµ s}



  • PhÐp giao

KÝ hiÖu giao cña hai quan hÖ r vµ s lµ r  s.

BiÓu diÔn h×nh thøc cã d¹ng: r  s ={t/tr vµ s}



  • PhÐp trõ

KÝ hiÖu r-s lµ tËp c¸c bé thuéc r nh­ng kh«ng thuéc s.
BiÓu diÔn h×nh thøc cã d¹ng: r-s={t/t  r vµ t s}.

  • TÝch §Ò-c¸c trªn c¸c quan hÖ

TÝch §Ò-c¸c cña r vµ s lµ tËp (n*m) bé víi n thµnh phÇn ®Çu cã d¹ng mét bé thuéc r vµ m thµnh phÇn sau cã d¹ng cña mét bé thuéc s. BiÓu diÔn h×nh thøc cã d¹ng:

r  s={t/t cã d¹ng (a1,a2,...,an,b1,b2,...,bn) trong ®ã (a1,a2,...,an  r ) vµ (b1,b2,...,bn  s)}



  • PhÐp chiÕu

Gäi t lµ mét bé thuéc r, A R, t[A] lµ gi¸ trÞ cña bé t¹i thuéc tÝnh A, X  R. Víi X={B1,B2,...,Bn} th× t[X]=(t[B1],t[B2],...,t[Bn]). PhÐp chiÕu trªn tËp X cña quan hÖ r kÝ hiÖu lµ r[X] ®­îc ®Þnh nghÜa nh­ sau:

r[X]={t[X]/t  r}.

Thùc chÊt cña phÐp chiÕu lµ lo¹i bá ®i mét sè thuéc tÝnh vµ gi÷ l¹i nh÷ng thuéc tÝnh cßn l¹i cña quan hÖ ®ã


  • PhÐp chän

Gi¶ sö F ®­îc diÔn t¶ b»ng mét tæ hîp Boolean cña c¸c to¸n h¹ng, mçi to¸n h¹ng lµ mét phÐp so s¸nh ®¬n gi¶n gi÷a hai biÕn lµ hai thuéc tÝnh, hoÆc mét bªn lµ thuéc tÝnh mét bªn lµ h»ng, cho gi¸ trÞ "®óng" hoÆc "sai" ®èi víi mçi bé ®· cho khi kiÓm tra riªng trªn bé ®Êy.

Trong F cã c¸c phÐp to¸n so s¸nh lµ {<, =, >, >=, <=, }, vµ c¸c phÐp logic lµ {, , }.

BiÓu diÔn h×nh thøc cã d¹ng: ¬F(r)={t r  F(t)=®óng}


  • PhÐp kÕt nèi

Gäi  lµ mét trong c¸c phÐp so s¸nh =, >=, >, <, <=, <>, phÐp kÕt nèi ®­îc ®Þnh nghÜa nh­ sau:

PhÐp kÕt nèi cña quan hÖ r ®èi víi thuéc tÝnh A víi quan hÖ s ®èi víi thuéc tÝnh B lµ: r  s = (tu)tr, us vµ tA  uB

víi gi¶ thiÕt mçi gi¸ trÞ cña thuéc tÝnh tA ®Òu cã thÓ so s¸nh ®­îc víi gi¸ trÞ cña thuéc tÝnh uB (qua phÐp so s¸nh ). Tr­êng hîp  lµ dÊu "=" gäi lµ kÕt nèi b»ng hay cßn gäi lµ kÕt nèi tù nhiªn. Khi ®ã kÕt nèi t¹i thuéc tÝnh cïng tªn cña hai quan hÖ vµ mét trong hai thuéc tÝnh ®ã sÏ ®­îc lo¹i bá qua phÐp chiÕu.


  • PhÐp chia

Gäi r lµ quan hÖ n-ng«i vµ s lµ quan hÖ m-ng«i (n>m, s  ). Khi ®ã phÐp chia ®­îc ®Þnh nghÜa nh­ sau:

PhÐp chia r  s lµ tËp tÊt c¶ (n-m) bé t sao cho víi mäi bé u  s th× t  u r.


2. C¬ së d÷ liÖu


C¬ së d÷ liÖu (CSDL) lµ m« h×nh thùc thÓ ph¶n ¸nh thÕ giíi thùc ®­îc ®Ò cËp ®Õn, do ®ã nã lµ sù trõu t­îng ho¸ cña thÕ giíi thùc. CSDL lµ nguån d÷ liÖu cho mäi hÖ thèng th«ng tin dùa trªn m¸y tÝnh, nh÷ng d÷ liÖu nµy ®­îc l­u gi÷ trong m¸y tÝnh ®­îc tæ chøc dùa trªn mét qui ®Þnh nµo ®ã nh»m gi¶m thiÓu ®­îc sù d­ thõa vµ ®¶m b¶o sù thèng nhÊt víi nhau (toµn vÑn d÷ liÖu).

Trong lÞch sö ph¸t triÓn cña CSDL cã 3 m« h×nh CSDL chÝnh ®­îc sö dông lµ:



  • M« h×nh ph©n cÊp: M« h×nh d÷ liÖu lµ mét c©y trong ®ã c¸c nót biÓu diÔn c¸c tËp thùc thÓ, gi÷a c¸c nót con vµ c¸c nót cha ®­îc liªn hÖ theo mét mèi liªn hÖ x¸c ®Þnh.

  • M« h×nh m¹ng: M« h×nh ®­îc biÓu diÔn lµ mét ®å thÞ cã h­íng.

  • M« h×nh quan hÖ: M« h×nh nµy dùa trªn c¬ së kh¸i niÖm lý thuyÕt tËp hîp cña c¸c quan hÖ, tøc lµ tËp c¸c k-bé.

3. M« h×nh c¬ së d÷ liÖu quan hÖ


Kh¸i niÖm to¸n häc cña m« h×nh CSDL quan hÖ (hiÓu theo nghÜa lÝ thuyÕt tËp hîp) th× quan hÖ lµ tËp con cña tÝch §Ò-c¸c (®­îc gäi lµ miÒn). Gäi D1, D2, D3..... Dn lµ n miÒn. TÝch §Ò-c¸c n miÒn lµ D1D2D3...Dn lµ tËp tÊt c¶ n bé (v1,v2,v3,...,vn) sao cho viDi, víi i=1, 2, ..., n.

4. HÖ qu¶n trÞ c¬ së d÷ liÖu


HÖ ch­¬ng tr×nh ®Ó cã thÓ qu¶n lý, tæ chøc l­u tr÷, cho phÐp t×m kiÕm, thay ®æi, thªm bít d÷ liÖu trong CSDL ®­îc gäi lµ HÖ qu¶n trÞ CSDL. HÖ qu¶n trÞ CSDL cã nhiÖm vô rÊt quan träng lµ gióp ng­êi dïng cã thÓ sö dông ®­îc hÖ thèng mµ Ýt nhiÒu kh«ng cÇn quan t©m tíi thuËt to¸n chi tiÕt hoÆc biÓu diÔn d÷ liÖu trong m¸y tÝnh .

5. HÖ tiªn ®Ò phô thuéc hµm


Kh¸i niÖm phô thuéc hµm trong mét quan hÖ lµ mét kh¸i niÖm rÊt quan träng ®èi víi viÖc x©y dùng m« h×nh d÷ liÖu. Trong c¸c hÖ thèng th«ng tin qu¶n lý khi cÇn thiÕt kÕ CSDL quan hÖ th­êng ®ßi hái ph¶i chän l­îc ®å c¸c quan hÖ. ViÖc chän c¸c l­îc ®å nµy tèt h¬n hay xÊu h¬n l­îc ®å kh¸c ®­îc dùa trªn mét sè c¸c tiªu chuÈn cô thÓ nµo ®ã. Do ®ã cÇn ph¶i nghiªn cøu tÝnh chÊt c¬ b¶n còng nh­ c¸c thuËt to¸n ®Ó cã thÓ nhËn ®­îc nh÷ng tËp l­îc ®å phï hîp. Träng t©m cña c«ng viÖc nµy lµ xÐt ®Õn c¸c phô thuéc d÷ liÖu, nghÜa lµ c¸c mèi rµng buéc cã thÓ cã hiÖn h÷u cña l­îc ®å. Ch¼ng h¹n nh­ thuéc tÝnh nµy x¸c ®Þnh duy nhÊt thuéc tÝnh kia. VÝ dô trong c«ng viÖc qu¶n lý tËp ho¸ ®¬n th× m· ho¸ ®¬n x¸c ®Þnh duy nhÊt mét kh¸ch hµng thanh to¸n ho¸ ®¬n ®ã.

Cho R(U) lµ mét l­îc ®å quan hÖ víi U = {A1, A2, ...An} lµ tËp hîp c¸c thuéc tÝnh. Gi¶ sö cã X vµ Y lµ tËp con cña U.

Nãi r»ng X Y (X x¸c ®Þnh hµm Y hay Y phô thuéc vµo hµm X) nÕu bÊt k× r lµ mét quan hÖ x¸c ®Þnh trªn R(U) sao cho bÊt k× hai bé t1, t2  r mµ

t1[X] = t2[X] th× t1[Y] = t2[Y]

Phô thuéc hµm kÝ hiÖu lµ FD. CÇn l­u ý r»ng ë ®©y chØ xÐt c¸c phô thuéc hµm tho¶ m·n cho mäi quan hÖ trªn l­îc ®å t­¬ng øng cña nã. Kh«ng thÓ xem xÐt mét phô thuéc hµm tho¶ m·n quan hÖ r ®Æc biÖt (vÝ dô quan hÖ rçng) cña mét l­îc ®å R råi sau ®ã qui n¹p r»ng phô thuéc ®ã lµ tho¶ m·n trªn R.

VÝ dô: Mçi kh¸ch hµng tån t¹i võa ®óng víi mét gi¸ trÞ t­¬ng øng víi tõng thuéc tÝnh nh­: Tªn kh¸ch hµng, ®Þa chØ ...v.v vµ cã thÓ viÕt nh­ sau:

kh¸ch hµng Tªn kh¸ch hµng, kh¸ch hµng §Þa chØ, ....

Gäi F lµ tËp hîp c¸c phô thuéc hµm ®èi víi l­îc ®å quan hÖ R(U) vµ XY lµ mét phô thuéc hµm, X, YU. Nãi r»ng X Y ®­îc suy diÔn logic tõ F nÕu mèi quan hÖ r trªn R(U) ®Òu tho¶ m·n c¸c phô thuéc hµm cña F th× còng tho¶ X Y. Ch¼ng h¹n cã tËp phô thuéc hµm F = {A B, B C} th× A C suy ra tõ F. Gäi F+ lµ bao ®ãng (Closure) cña F, tøc lµ tËp tÊt c¶ c¸c phô thuéc hµm ®­îc suy diÔn logic tõ F. NÕu F = F+ th× F lµ hä ®Çy ®ñ (Full Family) cña phô thuéc hµm.

§Ó x¸c ®Þnh kho¸ cña l­îc ®å quan hÖ vµ c¸c suy diÔn logic gi÷a c¸c phô thuéc hµm cÇn thiÕt ph¶i tÝnh ®­îc F+ tõ F. Do ®ã ®ßi hái ph¶i cã c¸c hÖ tiªn ®Ò. TËp c¸c qui t¾c ®­îc Armstrong ®­a ra n¨m 1974 vµ th­êng ®­îc gäi lµ hÖ tiªn ®Ò Armstrong.

Gäi R(U) lµ l­îc ®å quan hÖ víi U = {A1, A2, ... An} lµ tËp c¸c thuéc tÝnh vµ X, Y, Z U. HÖ tiªn ®Ò Armstrong bao gåm:



  • A1 (Ph¶n x¹): NÕu YX th× X Y

  • A2 (T¨ng tr­ëng): NÕu ZU vµ X Y th× XZ YZ, trong ®ã kÝ hiÖu XZ lµ hîp cña hai tËp hîp X, Z thay cho kÝ hiÖu XZ

  • A3 (B¾c cÇu): NÕu X Y vµ Y Z th× X Z

Víi nh÷ng lËp luËn trªn cã thÓ rót ra nh÷ng nhËn xÐt: Gi¶ sö F lµ tËp c¸c phô thuéc hµm ®óng trªn quan hÖ r. NÕu X Y lµ mét phô thuéc hµm ®­îc suy dÉn tõ F nhê hÖ tiªn ®Ò Armstrong th× X Y lµ ®óng trªn quan hÖ r.

Nh÷ng kÕt luËn suy ra tõ hÖ tiªn ®Ò Armstrong:

a. LuËt hîp: NÕu X Y vµ X Z th× X YZ

b. LuËt tùa b¾c cÇu: NÕu X Y vµ WY Z th× WXZ

c. LuËt t¸ch: NÕu X Y vµ ZY th× X Z

6. C¸c d¹ng chuÈn trong CSDL quan hÖ


Do viÖc cËp nhËt d÷ liÖu (c¸c phÐp tÝnh nh­ thªm, lo¹i bá, thay ®æi) g©y nªn nh÷ng dÞ th­êng d÷ liÖu cho nªn c¸c quan hÖ cÇn thiÕt ph¶i ®­îc biÕn ®æi thµnh c¸c d¹ng phï hîp. Qu¸ tr×nh ®ã ®­îc xem lµ qu¸ tr×nh chuÈn ho¸. Quan hÖ ®­îc chuÈn ho¸ lµ quan hÖ mµ trong ®ã mçi miÒn cña mét thuéc tÝnh chØ chøa nh÷ng gi¸ trÞ nguyªn tè (Atomic) nghÜa lµ kh«ng ph©n nhá ®­îc n÷a vµ do ®ã mçi gi¸ trÞ trong quan hÖ còng lµ nguyªn tè.

Quan hÖ cã chøa c¸c miÒn gi¸ trÞ kh«ng nguyªn tè gäi lµ quan hÖ kh«ng chuÈn ho¸. Mét quan hÖ ®­îc chuÈn ho¸ cã thÓ thµnh mét hoÆc nhiÒu quan hÖ chuÈn ho¸ kh¸c vµ kh«ng lµm mÊt m¸t th«ng tin.

Ba d¹ng chuÈn ho¸ th­êng ®­îc sö dông trong thiÕt kÕ CSDL quan hÖ


1NF

Mét l­îc ®å quan hÖ R ®­îc gäi lµ ë d¹ng chuÈn mét (1NF) nÕu vµ chØ nÕu toµn bé c¸c miÒn cã mÆt trong R ®Òu chØ chøa mét gi¸ trÞ nguyªn tè hay nãi mét c¸ch kh¸c l­îc ®å quan hÖ ph¶i tån t¹i kho¸.

§Þnh nghÜa nµy cho thÊy bÊt k× quan hÖ chuÈn nµo còng ë d¹ng 1NF.
2NF

L­îc ®å quan hÖ R ë d¹ng chuÈn thø hai nÕu nã ®· ë d¹ng chuÈn thø nhÊt vµ nÕu mçi thuéc tÝnh kh«ng kho¸ cña R lµ phô thuéc hµm ®Çy ®ñ vµo kho¸ chÝnh.



3NF

Tr­íc khi ®­a ra ®Þnh nghÜa cña d¹ng chuÈn 3NF, cÇn ®­a thªm kh¸i niÖm phô thuéc b¾c cÇu:

Cho mét l­îc ®å quan hÖ R(U), X lµ tËp con cña c¸c thuéc tÝnh U vµ A lµ mét thuéc tÝnh thuéc U. Thuéc tÝnh A ®­îc gäi lµ phô thuéc b¾c cÇu vµo X trªn R nÕu tån t¹i mét tËp con Y cña sao cho X Y th× Y A nh­ng Y/ X (vµ kh«ng x¸c ®Þnh hµm) víi A  XY.

TÝnh b¾c cÇu cã thÓ ®­îc biÓu diÔn theo s¬ ®å sau:



Qua s¬ ®å cã thÓ thÊy r»ng A cã thÓ x¸c ®Þnh hµm Y. Trong tr­êng hîp A/ Y th× ®­îc gäi lµ tÝnh b¾c cÇu chÆt.

TÝnh b¾c cÇu sÏ ®­îc sö dông trong 3NF. §iÒu kiÖn A  XY lµ cÇn thiÕt v× nÕu A  Y  X th× theo luËt ph¶n x¹ lu«n cã X Y A. §iÒu kiÖn Y/ X ®Ó lo¹i bá nhiÒu kho¸ khái d¹ng chuÈn 3NF. Còng nh­ ë 2NF viÖc lo¹i bá phô thuéc b¾c cÇu ®i ®Õn 3NF còng nh»m lo¹i bá nh÷ng dÞ th­êng g©y ra do qu¸ tr×nh cËp nhËt d÷ liÖu vµo quan hÖ.

Tõ ®ã cã thÓ ®Þnh nghÜa d¹ng chuÈn 3NF nh­ sau:

L­îc ®å quan hÖ R ë d¹ng chuÈn thø ba (3NF) nÕu nã lµ 2NF vµ mçi thuéc tÝnh kh«ng kho¸ cña R lµ kh«ng phô thuéc hµm b¾c cÇu vµo kho¸ chÝnh.

B. Giíi thiÖu vÒ Ng«n ng÷ hái cã cÊu tróc SQL

1. Kh¸i niÖm vÒ ng«n ng÷ SQL


Ng«n ng÷ xö lý d÷ liÖu quan hÖ lµ ng«n ng÷ bao gåm tËp c¸c chØ thÞ cho phÐp hái, thay ®æi, thªm bít vµ söa th«ng tin cña mét CSDL.

Trong c¸c ng«n ng÷ thao t¸c d÷ liÖu SQL, SEQUEL, QUEL, QBE ...v.v th× ng«n ng÷ SQL (Structure Query Language) lµ ng«n ng÷ hái ®¸p d÷ liÖu cã cÊu tróc, phi thñ tôc, chuÈn mùc vµ ®iÓn h×nh ®­îc x¸c nhËn lµ m¹nh, phæ dông l¹i dÔ sö dông.

Ng«n ng÷ nµy ®­îc ph¸t triÓn tõ ng«n ng÷ SEQUEL-2, thö nghiÖm vµ cµi ®Æt t¹i trung t©m nghiªn cøu cña h·ng IBM (t¹i SALJOISE, CALIFONIA) cho hÖ thèng qu¶n trÞ c¬ së d÷ liÖu lín ®iÓn h×nh lµ SYSTEM-R. Trong SYSTEM-R, SQL võa ®ãng vai trß lµ mét ng«n ng÷ cã thÓ thao t¸c ®éc lËp cña ng­êi dïng ®Çu cuèi, ®ång thêi l¹i cã kh¶ n¨ng lµ mét ng«n ng÷ con ®­îc nhóng trong ng«n ng÷ chñ PL/1.

HiÖn nay ng«n ng÷ SQL ®· ®­îc chuyÓn thµnh chuÈn chÝnh thøc cña ANSI (ViÖn tiªu chuÈn MÜ) vµ ISO (C¬ quan tiªu chuÈn quèc tÕ) vµ ®­îc rÊt nhiÒu c¸c phÇn mÒm Qu¶n trÞ hÖ CSDL hç trî cho ng«n ng÷ nµy nh­ Oracle, NGRESS, DB2, SYBASE, INFOMIC ...v.v.


2. C¸c ®Æc ®iÓm cña ng«n ng÷ SQL


§©y lµ mét ng«n ng÷ rÊt phï hîp cho CSDL ph©n t¸n theo m« h×nh Client-Server, nã cho phÐp nhiÒu ng­êi dïng cïng truy nhËp ®Õn mét c¬ së d÷ liÖu víi ®é an toµn æn ®Þnh vµ tÝnh b¶o mËt cao. Ng«n ng÷ SQL ®¶m b¶o l­u l­îng truyÒn th«ng tin trªn m¹ng tèi thiÓu v× Client chØ göi c©u hái vµ nhËn vÒ kÕt qu¶ tõ Server chø kh«ng ph¶i göi c¶ CSDL ®i ®Ó xö lý. §Æc biÖt lµ do ®­îc c¸c hÖ qu¶n trÞ CSDL hç trî nªn ph­¬ng thøc chung ®Ó giao tiÕp gi÷a c¸c phÇn mÒm qu¶n trÞ CSDL (nh­ dïng ODBC) vµ ®iÒu nµy lµm cho hÖ thèng cã tÝnh më. ThËt vËy, cã thÓ sö dông mét hÖ qu¶n trÞ CSDL tèt (®ßi hái cÊu phÇn cøng m¹nh) nh­ng cã thÓ vÉn dïng phÇn mÒm yªu cÇu phÇn cøng thÊp trªn c¸c Client hoÆc cã thÓ dïng c¸c m¸y NC (Net Computer). MÆt kh¸c còng cã thÓ dïng nhiÒu hÖ qu¶n trÞ CSDL trong cïng mét hÖ thèng ®Ó khai th¸c c¸c thÕ m¹nh cña chóng, vÝ dô cã thÓ dïng Lotus Notes trªn c¸c Client (giao diÖn ng­êi dïng th©n thiÖn, ­u viÖt vÒ truyÒn th«ng, xö lý tèt v¨n b¶n) vµ kÕt nèi vµo CSDL Oracle trªn Server (tÝnh b¶o mËt cao, ®a ng­êi dïng, qu¶n lý tèt c¸c giao t¸c-Transaction).

Ng«n ng÷ SQL cßn cã kh¶ n¨ng thùc hiÖn ®­îc nh÷ng c©u hái phøc t¹p mµ c¸c d¹ng ng«n ng÷ kh¸c kh«ng ®¸p øng ®­îc vµ mét c©u lÖnh SQL cã thÓ thay thÕ cho mét tËp hîp c¸c c©u lÖnh lËp tr×nh CSDL th«ng th­êng.

Ngoµi c¬ cÊu xö lý d÷ liÖu SQL cßn cã c¸c c«ng cô ®Ó x©y dùng c¸c øng dông WEB, cã kh¶ n¨ng xö lý d÷ liÖu, t¹o b¸o c¸o, thiÕt kÕ m« h×nh d÷ liÖu vµ qu¶n trÞ hÖ thèng.

3. C¸c lo¹i c©u lÖnh SQL thao t¸c víi d÷ liÖu cÇn quan t©m khi tèi ­u


Trong ng«n ng÷ SQL cã hai lo¹i lÖnh thao t¸c víi d÷ liÖu, ®ã lµ:

  • C¸c lÖnh ®Þnh nghÜa d÷ liÖu DDL (Data Defined Language): lµ c¸c lÖnh t¹o b¶ng, t¹o Index ...v.v

  • C¸c lÖnh cËp nhËt d÷ liÖu DML (Data Manipulation Language) nh­ SELECT, UPDATE, INSERT, DROP.

C¸c lÖnh cËp nhËt d÷ liÖu ®­îc sö dông th­êng xuyªn cho nªn cÇn thiÕt ph¶i t×m ra ph­¬ng ¸n chän c¸ch viÕt c©u lÖnh, c¸ch thùc hiÖn c©u lÖnh sao cho cã hiÖu qu¶ nhÊt vÒ mÆt thêi gian còng nh­ lµ vÒ kh«ng gian l­u tr÷. Oracle cã thÓ tèi ­u c¸c lo¹i c©u lÖnh sau:

1. C©u lÖnh ®¬n: Mét c©u lÖnh ®¬n lµ mét c©u lÖnh INSERT, UPDATE, DELETE hoÆc SELECT thao t¸c duy nhÊt trªn mét b¶ng.

2. Query ®¬n: thùc chÊt lµ mét c©u lÖnh SELECT (cã thÓ víi nhiÒu b¶ng).

3. KÕt nèi: Mét kÕt nèi lµ mét truy vÊn d÷ liÖu nhiÒu h¬n mét b¶ng vµ tõ kÕt nèi gi÷a c¸c b¶ng n»m trong mÖnh ®Ò FROM. PhÐp kÕt nèi kÐo d÷ liÖu tõ c¸c b¶ng kh¸c nhau vµ so s¸nh chóng tõng ®«i t¹i dßng chung ë tÊt c¶ c¸c b¶ng

Cã c¸c kiÓu kÕt nèi sau:


  • Liªn kÕt ngang b»ng (Equijoins) liªn kÕt nµy dùa vµo sù c©n b»ng cña ®iÒu kiÖn t×m kiÕm mµ chØ ra mèi quan hÖ gi÷a 2 b¶ng.

  • Liªn kÕt kh«ng ngang b»ng (Non-Equijoins) lµ liªn kÕt 1 b¶ng nµy víi mét b¶ng kh¸c dùa trªn sù so s¸nh kh«ng b»ng nh­ to¸n tö <=, >=, BETWEEN ...v.v.

  • Liªn kÕt ngoµi (Outer joins): Gi¶ sö cã 2 b¶ng Kh¸chHµng vµ Ho¸§¬ncïng cã 2 cét lµ M·Kh¸chHµng. Khi liªn kÕt 2 b¶ng cho hiÖn lªn tªn cña nh÷ng kh¸ch hµng cã sè thø tù trïng nhau. NÕu muèn hiÖn lªn c¶ nh÷ng kh¸ch hµng kh«ng tho¶ m·n trong b¶ng Kh¸chHµng còng ®­îc hiÖn lªn th× cÇn dïng liªn kÕt ngoµi .

  • Liªn kÕt víi chÝnh nã (Self joins): §©y lµ kiÓu liªn ®Æc biÖt gi÷a mét b¶ng víi chÝnh nã nh­ 2 b¶ng riªng biÖt . §Ó lµm ®­îc viÖc nµy th× b¶ng ®ã ph¶i cã mét tªn quan hÖ.

4. TÝch §Ò-c¸c: lµ kÕt qu¶ cña viÖc nh©n hai tËp hîp.

5. C©u lÖnh phøc: Mét c©u lÖnh phøc nh­ lµ mét c©u lÖnh SELECT, INSER, UPDATE, hoÆc DELETE cã chøa mét c©u lÖnh SELECT kh¸c (®­îc gäi lµ subquery).

6. C¸c query kÕt hîp: Mét query kÕt hîp lµ mét query cã sö dông c¸c to¸n tö tËp hîp nh­ UNION, UNION ALL, INTERSECT hoÆc MINUS.

7. c©u lÖnh sö dông View: View lµ mét b¶ng logic mµ thùc chÊt lµ mét c©u lÖnh SELECT mµ cã thÓ thao t¸c gièng nh­ ®èi víi b¶ng.

8. C©u lÖnh ph©n t¸n: nghÜa lµ c©u lÖnh truy nhËp d÷ liÖu tõ xa.



tải về 0.52 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương