Phân gi i tên it ngl c

Một phần của tài liệu Tiểu luận môn cơ sở dữ liệu nâng cao Xử lý giao tác trong hệ thống phân tán (Trang 47)

IDENTIFIED BY 'prod' Ch>nh mnh . CONNECT TO CURRENT_USER S dng liên kt c s d liu ngi dùng hin hành

CREATE DATABASE LINK k3 CONNECT TO

CURRENT_USER USING 'prod'

Không ch>nh mnh .

USING

Tìm kim cho n khi tìm thy liên kt ch>nh chu5i c s d liu. Nu liên kt c s d liu phù hp c tìm thy và chu5i không c xác nh, Oracle s8 tr

v. l5i.

CREATE DATABASE LINK k4 CONNECT TO

CURRENT_USER

Sau khi Oracle xác nh con ng hoàn ch>nh, nó to phiên t∃ xa. Nu phiên ã tn ti, Oracle s8 tái s dng nó.

Υ ∃%&+!5!∋Η&)Τ!∋ΘΞ&+ ΘΞ)∗

Sau khi c s d liu cc b, Oracle kt ni n c s d liu t∃ xa thay cho ngi dùng cc b, ã thc hin câu lnh SQL, vic phân gii i tng c tip tc nh th! ngi dùng t∃ xa ã thc hin câu lnh SQL. Kt qu %u tiên xác nh lc t∃ xa theo các quy t4c sau ây:

Nu bn s dng ... thì phân gii i tng tip tc trong...

Liên kt c s d liu ngi dùng cnh Lc ch>nh trong lnh to ra liên kt

Liên kt c s d liu ngi dùng kt ni Lc t∃ xa ca ngi dùng kt ni

Liên kt c s d liu ngi dùng hin hành Lc ca ngi s dng hin hành

Nu Oracle không th! tìm thy i tng, nó s8 ki!m tra các i tng công khai ca c s d liu t∃ xa. Nu nó không th! phan gii các i tng,

Tiu lun môn hc: C s d liu nâng cao

HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 48

thì phiên t∃ xa c thit l p v:n còn nhng các câu lnh SQL không th! thc hin và tr v. l5i.

Sau ây là ví d phân gii tên i tng toàn cc trong h c s d liu phân tán.

Υ− δψ9#∃%&+!5!∋Η&)Τ!∋ΘΞ&+∋Β/&9Η&)Τ!∋ΘΞ&+)η?)Φ

Ví d này minh h(a làm th nào Oracle gii quyt tên i tng toàn cc %y và xác nh con ng phù hp v∗i c s d liu t∃ xa b2ng cách s dng liên kt c s d liu riêng t và công khai. i v∗i ví d này, gi s nh sau:

• C s d liu t∃ xa c 6t tên là sales.division3.acme.com.

• C s d liu cc b,c 6t tên là hq.division3.acme.com.

• Oracle Name Server không có s1n.

• Bng emp t∃ xa c ch−a trong lc tsmith.

Hãy xem xét các lnh sau ây c thc hin bi scott ti c s d liu cc b,:

CONNECT scott/tiger@hq

CREATE PUBLIC DATABASE LINK sales.division3.acme.com CONNECT TO guest IDENTIFIED BY network

USING 'dbstring';

Sau ó, JWARD kt ni và thc hin các lnh sau ây: CONNECT jward/bronco@hq

CREATE DATABASE LINK sales.division3.acme.com CONNECT TO tsmith IDENTIFIED BY radio;

UPDATE tsmith.emp@sales.division3.acme.com SET deptno = 40

WHERE deptno = 10;

Tiu lun môn hc: C s d liu nâng cao

HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 49

1. Oracle xác nh tên i tng toàn cc %y c tham chiu trong lnh c p nh t ca jward. Vì v y, h thng b4t %u tìm kim liên kt c s d liu v∗i tên phù hp trong c s d liu cc b,.

2. Oracle tìm thy m,t liên kt c s d liu riêng t phù hp trong lc jward. Tuy nhiên, liên kt c s d liu riêng t jward.sales.division3.acme.com không ch> ra m,t con ng hoàn ch>nh n c s d liu t∃ xa sales, ch> có tài khon t∃ xa. Do ó, Oracle tìm kim liên kt c s d liu công khai phù hp.

3. Oracle tìm thy liên kt c s d liu công khai trong lc ca scott. T∃ liên kt c s d liu công khai này, Oracle ly tên dch v dbstring.

4. Kt hp v∗i tài khon t∃ xa ly t∃ liên kt c s d liu ngi dùng c nh riêng t phù hp, Oracle xác nh m,t ng d:n %y và tin hành thit l p kt ni n c s d liu t∃ xa sales nh ngi s dng tsmith/radio.

5. C s d liu t∃ xa có th! phân gii tham chiu i tng n bng emp. Oracle tìm kim trong lc tsmith và tìm thy bng tham chiu emp.

6. C s d liu t∃ xa hoàn tt thc thi lnh và tr kt qu v. c s d liu cc b,.

Υ−3 δψ9#∃%&+!5!∋Η&)Τ!∋ΘΞ&+∋Β/&9Η&)Τ!∋ΘΞ&+_κ∋#∃η&

Ví d này minh h(a làm th nào Oracle phân gii tên i tng toàn cc m,t ph%n và xác nh ng i phù hp n c s d liu t∃ xa b2ng cách s dng liên kt c s d liu riêng t và công khai.

i v∗i ví d này, gi s r2ng:

• C s d liu t∃ xa c 6t tên là sales.division3.acme.com.

Tiu lun môn hc: C s d liu nâng cao

HVTH: Trng Lê Minh Ngc - CH1101024 Trang: 50

• Oracle Name Server không có s1n.

• Bng emp trên c s d liu t∃ xa sales c ch−a trong lc tsmith, ch− không phi trong lc scott.

• Synonym công khai là emp n2m ti c s d liu t∃ xa sales và tr<n tsmith.emp trong c s d liu t∃ xa sales.

• Liên kt c s d liu công khai ã c to ra trên c s d liu cc b, hq:

CREATE PUBLIC DATABASE LINK sales.division3.acme.com CONNECT TO guest IDENTIFIED BY network

USING 'dbstring';

Hãy xem xét các lnh sau ây c thc thi ti c s d liu cc b, hq:

CONNECT scott/tiger@hq

CREATE DATABASE LINK sales.division3.acme.com; DELETE FROM emp@sales

WHERE empno = 4299;

Oracle x lý câu lnh DELETE cui cùng nh sau:

1. Oracle thông báo r2ng tên i tng toàn cc không %y c tham chiu trong lnh DELETE ca scott. Nó t m r,ng thành tên i tng toàn cc %y b2ng cách s dng tên mi.n ca c s d liu cc b, nh sau:

DELETE FROM emp@sales.division3.acme.com WHERE empno = 4299;

2. Oracle tìm kim tên phù hp cho liên kt c s d liu trong c s d liu cc b,.

3. Oracle tìm thy liên kt ngi dùng kt ni riêng t phù hp trong lc scott, nhng liên kt c s d liu riêng t cho bit không có

Tiu lun môn hc: C s d liu nâng cao

Một phần của tài liệu Tiểu luận môn cơ sở dữ liệu nâng cao Xử lý giao tác trong hệ thống phân tán (Trang 47)

Tải bản đầy đủ (PDF)

(60 trang)