Luận văn Nghiên cứu, xây dựng cơ sở dữ liệu tích cực

ĐẠI HC QUC GIA HÀ NI  
TRƯỜNG ĐẠI HC CÔNG NGHỆ  
NGÔ THTHANH HOÀ  
NGHIÊN CU, XÂY DNG  
CƠ SỞ DLIU TÍCH CC  
LUẬN VĂN THẠC SĨ  
Ni,  
LỜI CAM ĐOAN  
Tôi xin cam đoan: Luận văn “Nghiên cu, xây dng Cơ sở dliu tích cc” là  
công trình nghiên cu ca riêng tôi.  
Các tài liu, kết qunêu trong luận văn là hoàn toàn trung thực, được trích dn  
và phát trin tcác tài liu, tp chí, website….  
Ngô ThThanh Hoà  
1
LI CẢM ƠN  
ời đầu tiên em xin chân thành cảm ơn thầy giáo TS.Nguyn Tuđã cho  
em nhiu ý kiến đóng góp quý báu, tận tình hướng dẫn và giúp đỡ em về  
mt kiến thc cũng như tài liệu để em có thhoàn thành luận văn này.  
L
Em xin gi li cảm ơn đến Ban Giám hiu, các phòng ban, Khoa sau Đại hc  
Trường Đại hc Công nghệ đã tạo điu kin cho em trong sut khoá hc.  
Em cũng xin bày tlòng biết ơn sâu sắc đến các thy giáo, cô giáo  
Trường Đại hc Công nghĐại hc Quc Gia Hà Ni , các thầy, cô giáo đã  
tham gia ging dạy, hướng dn, chbo cho em trong suốt hai năm học qua.  
Và em xin gi li cảm ơn đến bạn bè, gia đình và các đồng nghiệp đã có  
những động viên, khuyến khích và htrcn thiết để em hoàn thành luận văn  
này.  
Hà nội, ngày 10 tháng 5 năm 2011  
Ngô ThThanh Hoà  
2
MỤC LỤC  
LI CẢM ƠN......................................................................................................... ..1  
MC LC ............................................................................................................... ..2  
BNG KÝ HIU CÁC CHVIT TT ............................................................... ..5  
MỞ ĐẦU ................................................................................................................. ..6  
Chương I................................................................................................................. ..8  
TNG QUAN VCSDL QUAN HVÀ CÁC RÀNG BUC TOÀN VN .....8  
1.1. TNG QUAN VCSDL QUAN H..............................................................8  
1.1.1.Các khái nim CSDL quan h..................................................................8  
1.1.2.Chun hóa .............................................................................................. 11  
1.1.2.1. Các cu trúc phthuc.....................................................................12  
1.1.2.2. Các dng chun. ............................................................................... 15  
1.1.3.Các quy tc toàn vn............................................................................... 18  
1.1.4.Các ngôn ngquan hdliu ............................................................... 19  
1.1.4.1. Đại squan h.................................................................................. 20  
1.1.4.2. Các tính toán quan h.......................................................................23  
1.1.4.3. Tương tác với các ngôn nglp trình ............................................... 26  
1.1.5.HQun trCSDL quan h....................................................................26  
1.2. CÁC RÀNG BUC TOÀN VN TRÊN CSDL QUAN H.......................... 29  
1.2.1.Kim soát toàn vn ngnghĩa tập trung ................................................ 31  
1.2.1.1. Khái nim ràng buc toàn vn .......................................................... 31  
1.2.1.2. Các yếu tca ràng buc toàn vn..................................................... 32  
1.2.1.3. Phân loi ràng buc toàn vn ............................................................ 35  
1.2.2.Bt tuân theo ràng buc toàn vn .......................................................... 39  
Chương II................................................................................................................. 43  
CƠ SỞ DLIU TÍCH CC............................................................................... 43  
3
2.1. CƠ SỞ DLIU TÍCH CC.......................................................................43  
2.1.1.Khái niệm cơ sở dliu tích cc............................................................ 43  
2.1.2.Quy tc ECA........................................................................................... 43  
2.1.2.1. Skin (Event).................................................................................. 43  
2.1.2.2. Điều kin (Condition) .......................................................................47  
2.1.2.3. Hành động (Active)...........................................................................48  
2.2. MÔ HÌNH TNG QUÁT VÀ CÁC TRIGGER TRONG ORACLE .......49  
2.2.1. Mô hình tng quát ca CSDL tích cc: ................................................ 49  
2.2.2. Vấn đthiết kế và cài đặt cho các cơ sở dliu tích cc ...................... 55  
2.2.3. Các ng dng tiềm năng đối với các cơ sở dliu tích cc.................. 57  
Chương III ............................................................................................................... 59  
CÀI ĐT CÁC QUY TC ECA BNG NGÔN NGSQL................................ 59  
3.1. GII THIU TRIGGER TRONG SQL-SERVER........................................59  
3.2. CSDL TRONG QUN LÝ BÁN HÀNG........................................................ 59  
3.2.1.Danh mc Cart:...................................................................................... 60  
2.2.2.Danh mc CartStatus:............................................................................60  
2.2.3.Danh mc News: .................................................................................... 60  
2.2.4.Danh mc Parent Product:.....................................................................61  
2.2.5.Danh mc Product: ................................................................................ 61  
2.2.6.Danh mc ProductCart: .........................................................................61  
2.2.7.Danh mc Role:...................................................................................... 62  
2.2.8.Danh mc user: ...................................................................................... 62  
3.3. QUY TC TO TRIGGER ...........................................................................62  
3.4. CÁC TRIGGER TRONG CSDL....................................................................63  
3.4.1.Trigger ngăn chặn vic xóa database trên Server. .................................63  
4
3.4.2.Trigger ngăn chặn insert vào bng Product...........................................64  
3.4.3.Trigger ngăn chặn update (cp nht) bng Product. ............................. 66  
3.4.4.Trigger ngăn chặn xóa dliu trong bng ............................................67  
3.4.5.Trigger ngăn chặn to mi record trong bng.......................................68  
3.4.6.To mi trong bng ( không vi phm trigger ca trigger 05)................. 69  
3.4.7.Trigger ngăn chặn xóa bng trong database..........................................71  
3.4.8.Ngăn chặn xóa trigger trong CSDL ....................................................... 71  
3.4.9.Không cho phép to mi bng trong CSDL. ..........................................72  
3.4.10. Không cho phép to mi trigger trong CSDL..................................73  
KT LUN............................................................................................................. 75  
TÀI LIU THAM KHO........................................................................................ 76  
5
BNG KÝ HIU CÁC CHVIT TT  
Stt Tviết tt  
Tiếng Anh  
Tiếng Vit  
1
ABDS  
CSDL  
DBMS  
ECA  
Active Database System  
Hthống cơ sở dliu tích cc  
Cơ sở dliu  
2
3
4
5
6
Database Management System Hqun trị cơ sdliu  
Event-Condition-Active  
Skin-Điều kin-Hành động  
Hqun trị cơ sdliu  
HQTCSDL  
WFF  
Well-formal formular  
Mt công thc xây dng tt  
6
MỞ ĐẦU  
Theo truyn thng, các hthống cơ sở dliệu được xem như là các kho để  
lưu trữ thông tin cn thiết ca mt ng dng và chúng được truy cp hoc bi  
những người sdụng chương trình hoc các giao diện tương tác. Tuy nhiên, các  
hthống cơ sở dliệu đang được sdng cho mt phm vi các lĩnh vực liên  
quan đến vic xlý các thông tin phc tp, thm chí số lượng ln dliu, hoc  
đòi hòi sthc hin chính xác cao, trong đó môi trường nhiu thành phn theo  
quy ước chng tỏ không được tha mãn. Điều này dẫn đến xu hướng chung  
trong vic nghiên cứu cơ sở dliệu hướng chức năng đưc yêu cu bi mt ng  
dụng được htrợ trong cơ sở dliu, sinh ra các hthống cơ sở dliu vi  
nhiu khả năng tinh xảo để mô phng ckhía cnh cu trúc và hoạt động ca  
mt ng dng. Trong snhng lĩnh vực nhận được schú ý trong những năm  
gần đây với cái nhìn làm ni bt shoạt động ddàng là lp trình cơ sở dliu,  
các cơ sở dliu tm thời, các cơ sở dliệu không gian, các cơ sở dliệu đa  
phương tiện (truyền thông), các cơ sở dliu suy diễn và các cơ sở dliu tích  
cc. Trong luận văn này, tôi tp trung vào vấn đề cơ sở dliu tích cc.  
Hthống cơ sở dliu tích cc (ADBS) htrợ các cơ chế cho phép chúng  
tự đng phn ng ti các skiện đang diễn ra bên trong hoc bên ngoài chính hệ  
thống cơ sở dliệu đó. Trong những năm gần đây, nỗ lực đáng kể được hướng  
ti vic nâng cao hiu biết các hthống đó, và có nhiều ng dụng được đề xut.  
Stích cc mức độ cao này không mang li sphù hp với phương pháp tiếp  
cận để tích hp các chức năng của hoạt động vi các hthống cơ sở dliu quy  
ước, nhưng nó mang ti vic ci thin tm hiu biết ngôn ngmiêu tcách thc  
hành động tích cc, các mô hình thc hin và các kiến trúc. Trong luận văn này  
trình bày các tính chất cơ bản ca hệ cơ sdliu tích cc, mô ttp hp các hệ  
thng tiêu biu trong mt framework phbiến, nghiên cu tm quan trng ca  
vic thiết kế các công cụ để phát trin các ng dng tích cc.  
Cơ sở dliu tích cc htrợ ứng dng trên bng cách di chuyển hành động  
phn ng li từ ứng dng ti hqun trị cơ sở dliệu (DBMS). Các cơ sở dữ  
liu tích cực theo cách đó có đủ khả năng giám sát và phản ng li nhng tình  
7
hung riêng biệt có liên quan đến ng dng. Bn cht phn ng li là tp trung  
và xử lý đúng cách đúng lúc.  
Mục đích ca luận văn:  
- Tìm hiu và xây dng CSDL tích cực: cơ sở dliệu mà trong đó việc đảm  
bo các ràng buc toàn vẹn được thc hin mt cách tự động thông qua  
các quy tc ECA.  
- Cơ sở dliu tích cc có ng dng tt trong vic mrng các hthống cơ  
sdliu, làm dễ dàng cho người sdụng khai thác cơ sdliu.  
Ni dung ca luận văn đưc trình bày trong 3 chương:  
Chương 1: Tng quan về cơ sở dliu quan hvà các loi ràng buc trên  
CSDL quan hệ  
Chương 2: Cơ sở lý thuyết của cơ sở dliu tích cc, cthlà cu trúc và vic  
xây dng các quy tc ECA.  
Chương 3: Cài đặt các quy tc ECA bng SQL.  
8
Chương I  
TNG QUAN VCSDL QUAN HVÀ CÁC RÀNG BUC TOÀN VN  
1.1. TNG QUAN VCSDL QUAN HỆ  
Có nhiều lý do để chn mô hình dliu quan hệ như: Cơ sở toán hc ca  
mô hình quan hlà mt ng viên tt cho xlý lý thuyết.  
Mô hình quan hcó thể được đặc trưng bi ít nht 3 tính cht mnh m:  
a. Cu trúc dliu của nó là đơn giản. Chúng là các quan h, các bng hai  
chiu mà các phn tca chúng là các mc dliệu. Điều này cho phép  
mt mức độ độc lập cao đối vi biu din dliu vt lý (tc là các tp và  
các chmc)  
b. Mô hình quan hcung cp một cơ sở chc chn cho việc tương thích dữ  
liu. Vic thiết kế CSDL được giúp đỡ bng quá trình chun hóa loi bỏ  
các bất thường ca dliu. Các trạng thái tương thích của CSDL cũng có  
thể được định nghĩa một cách đồng nhất và được duy trì thông qua các  
quy tc toàn vn.  
c. Mô hình CSDL cho phép thao tác quan hệ hướng tp hp. Tính cht này  
đã dẫn đến sphát trin mnh mca các ngôn ngphi thtc hoc da  
trên lý thuyết tp hp (đại squan h) hoc da trên logic (tính toán quan  
h).  
1.1.1. Các khái nim CSDL quan hệ  
Mt CSDL là mt tp hp dliu có cu trúc liên quan đến mt vài hin  
tượng ca cuc sng thc mà ta mun mô hình hóa. Mt CSDL quan hlà  
CSDL mà ở đó cấu trúc dliu dng bng. Mt cách hình thc, mt quan hệ  
được định nghĩa trên n tp hp D1, D2, … , Dn (không nht thiết phân bit) là  
mt tp hp các n-b<d1, d2, …, dn> sao cho d1 D1, d2 D2, …., dn Dn  
Ví d1.1  
Xét CSDL mô hình hóa công ty cơ khí. Các thc thể được mô hình hóa là  
nhân viên (EMP) và dán (PROJ). Vi mỗi nhân viên chúng ta lưu trữ mã số  
nhân viên (ENO), tên (ENAME), danh hiệu trong công ty (TITLE), lương  
(SAL), mã sdự án mà nhân viên đang làm việc (PNO), trách nhim trong dự  
9
án (RESP) và khong thi gian làm vic (DUR). Một cách tương tự, vi mi dự  
án chúng ta lưu trữ mã sdán (PNO), tên dán (PNAME) và ngân sách ca  
dán (BUDGET).  
Các lược đồ quan hệ cho cơ sở dliu này có thể được định nghĩa như sau:  
EMP(ENO, ENAME, TITLE, SAL, PNO, DUR)  
PROJ(PNO, PNAME, BUGGET)  
Trong lược đồ quan hEMP có by thuc tính ENO, ENAME, TITLE,  
SAL, PNO, DUR. Các giá trca ENO ly tmin ca tt ccác mã snhân  
viên hp l, gi là D1. Các giá trENAME ly tmin giá tt ccác tên hp lệ  
D2, … Để ý rng thuc tính ca mi quan hệ không được ly giá trtmin  
khác. Các thuc tính khác nhau trong cùng mt quan htrong mt squan hcó  
thể được định nghĩa trên cùng mt min.  
Khóa (key) ca mt quan hlà mt tp con không rng bé nht ca các  
thuc tính ca nó sao cho giá trtạo nên khóa xác định mt cách duy nht mi  
bca mt quan h. Các thuc tính tạo nên khóa được gi là các thuc tính chủ  
yếu. Các tp hp lớn hơn của một khóa thường được gi là siêu khóa. Như vậy,  
trong ví dtrên, khóa ca PROJ là PNO, khóa ca EMP là (ENO, PNO). Mi  
quan hcó ít nht là một khóa. Đôi khi một quan hcó nhiu khả năng cho  
khóa. Trong trường hợp như vậy, mi khả năng được xem là mt khóa dtuyn  
và mt trong các khóa dtuyển được la chn làm khóa chính. Scác thuc  
tính ca quan hệ xác định cp ca nó, scác bgiá trca quan hệ xác định lc  
lượng ca nó.  
Trong dng bng, CSDL ví dbao gm hai bảng như được chra trong  
hình 1.1. Các ct ca bảng tương ứng vi các thuc tính ca quan h. Nếu có  
các thông tin được nhp vào các bng thì chúng tương ứng vi các bgiá tr.  
Bng rng chcu trúc bng, bi vì thông tin bên trong mt bng biến đổi theo  
thi gian, nhiu ví dcó thể được to là tmt quan h. Tnay trở đi, thuật ngữ  
quan hng để chmt ví dca quan h. Trong hình 1.2 là các ví dca quan  
hệ được định nghĩa ở hình 1.1.  
10  
EMP  
ENO ENAME TITLE  
SAL  
PNO  
RESP  
DUR  
PROJ  
PNO PNAME BUDGET  
Hình 1.1 Lược đồ CSDL  
PROJ  
PNO PNAME  
BUDGET  
150000  
135000  
250000  
310000  
P1  
P2  
P3  
P4  
Instrucmentation  
Database Develop  
CAD/CAM  
maintenance  
EMP  
ENO ENAME TITLE  
SAL  
PNO RESP  
Manager  
DUR  
E1  
E2  
E2  
E3  
E3  
E4  
E5  
E6  
E7  
E8  
j.joe  
Elect.Eng  
40000 P1  
34000 P1  
34000 P2  
12  
24  
6
M.Smith Analyst  
M.Smith Analyst  
Analyst  
Analyst  
A.Lee  
A.Lee  
J.Miller  
Mech.Eng. 27000 P3  
Mech.Eng 27000 P4  
Programmer 24000 P2  
Consultal  
Engineer  
10  
48  
Programmer Null  
B.Casey Syst. Anal. 34000 P2  
Manager  
Manager  
Engineer  
Manager  
24  
48  
36  
40  
L.Chu  
R.Davis  
J.Jone  
Elect.Eng.  
Mech.Eng. 27000 P3  
Syst.Anal. 34000 P3  
40000 P4  
Hình 1.2 Ví dvề cơ sdliu  
Mt giá trca thuc tính có thể không được xác định. Vic thiếu tính xác  
định có thcó các gii thích khác nhau, hay dùng nht là không biết hoc không  
áp dụng được. Giá trị này thường được gi là giá trnull. Cn phân bit giá trị  
null vi giá tr0 (zero). Giá tr0 là giá trị được biết, giá trnull là giá trkhông  
11  
được biết. Vic htrgiá trnull là mt tính cht quan trng cn thiết để làm  
vic vi các truy vn có th.  
1.1.2. Chun hóa  
“Chun hóa là mt quá trình thun nghch từng bước thay thế mt tp hp quan  
hbng các tp hp tiếp theo, trong đó mỗi quan hcó cấu trúc đơn giản hơn và  
chính quy hơn”. Mục đích ca chun hóa là loi bnhiu bất thường ca mt  
quan hệ để nhận được quan h“tốt hơn”. Bn vấn đề sau có thtn ti trong mt  
lược đồ quan h:  
a. Bất thường lp (repetition anormaly)  
Mt sthông tin có thể được lp li mt cách không cn thiết. Ví d, xét  
quan hEMP hình 2.2. ENAME, TITLE, SAL ca một nhân viên đưc lp vi  
mi dán mà nhân viên này phc vụ trên đó. Điều này dẫn đến mt slãng phí  
bnhvà trái vi tinh thn ca CSDL.  
b. Bất thường cp nht (update anormaly)  
Như là hệ quca vic lp dliu, vic thc hin cp nht có thgây rc ri  
phin hà. Ví dụ, lương của một nhân viên thay đổi, nhiu bgiá trphải được  
cp nhật để phn ánh sự thay đổi này.  
c. Bất thường chèn (Insertion anormaly)  
Có thkhông có khả năng thêm mới vào cơ sở dliu. Ví d, khi mt nhân  
viên mi vào công ty chúng ta không ththêm thông tin cá nhân (ENAME,  
TITLE, SAL) vào quan hEMP nếu nhân viên đó chưa làm cho dự án nào. Đó  
là vì khóa ca EMP bao hàm thuc tính PNO và giá trnull không phi là thành  
phn ca mt khóa.  
d. Bất thường loi b(Deletion anormaly)  
Đó là sự trái ngược ca bất thường chèn. Nếu mt nhân viên chlàm vic  
trên mt dán và dự án đó đã kết thúc thì không thloi bthông tin dán ra  
khỏi EMP. Làm như vậy dẫn đến vic loi bbgiá trduy nht vnhân viên,  
dẫn đến vic mt thông tin cá nhân mà chúng ta muốn lưu giữ.  
Schun hóa chuyển đổi các lược đồ quan hệ thành các lược đồ không có  
nhng vấn đề này. Phương pháp phổ biến nhất để chun hóa một lược đồ quan  
12  
hệ là phương pháp tách (decomposition), trong đó chúng ta bắt đầu vi mt quan  
hệ đơn, gọi là quan hphquát (universal relation), quan hnày cha tt ccác  
thuc tính (và có thbất thường) và làm gim nó liên tiếp. Ti mi ln lp, mt  
quan hệ được chia thành hai hoc nhiu quan hệ ở dng chuẩn cao hơn. Một  
quan hệ được gi là mt dng chun nếu nó tha mãn các điều kin liên kết  
vi dng chuẩn đó. Đầu tiên Codd đã định nghĩa các dạng chun thnht (1NF),  
thhai (2NF) và thứ ba (3NF). Boyce và Codd sau đó định nghĩa một phiên bn  
sửa đổi ca dng chun 3, phiên bản này thường được gi là dng chun Boyce-  
Codd (BCNF). Điều đó được tiếp tc bằng định nghĩa các dạng chun thứ tư  
(4NF, Fagin, 1977) và dng chun thứ năm (5NF, Fagin, 1979).  
Có mt mi liên hphân cp gia các dng chun này. Mt quan hệ được  
chun hóa là 1NF. Mt squan hệ ở 1NF cũng ở 2NF, mt strong các quan  
hệ đó là ở 3NF, … Các dng chuẩn cao hơn có tính chất tốt hơn các dạng khác  
vbn bất thường được nêu trên.  
Mt trong các yêu cu ca quá trình chun hóa là sphân tách không mt  
mát. Điều đó có nghĩa là sthay thế mt quan hbng nhiu quan hkhác sẽ  
không dẫn đến vic mt thông tin. Nếu có thni các quan hệ được phân tách để  
nhn lại được quan hệ ban đầu thì quá trình đó gi là tách không mt mát.  
Mt cách trc quan, phép toán ni là phép toán ly hai quan hvà ni mi bộ  
ca quan hthhai vào nhng bnào ca quan hthnht tha mãn một điều  
kiện được chrõ. Ví dụ, điều kin có thlà giá trca mt thuc tính ca quan  
hthnht phi bng giá trca mt thuc tính ca quan hthhai.  
Một đòi hi khác ca quá trình chun hóa là bo toàn phthuc. Mt phép  
tách được gi là bo toàn phthuc nếu bao đóng của hp ca phthuc trong  
các quan hệ được tách là tương đương với bao đóng của quan hnguyên thy  
(theo mt tp các quy tc suy din).  
1.1.2.1. Các cu trúc phthuc  
Các dng chun da trên mt scác cu trúc phthuc. BCNF và các dng  
chun thấp hơn dựa trên phthuc hàm. 4NF da trên phthuộc đa trị và 5NF  
da trên phthuc ni-chiếu.  
13  
Chúng ta sẽ định nghĩa phụ thuc gm:  
a. Phthuc hàm  
GisR là mt quan hệ xác định trên tp thuc tính A={A1, A2, …, An} và  
gisX A và Y A. Nếu vi mi giá trca X trong R chkết hợp đưc vi  
mt giá trduy nht ca Y thì ta nói rng “X xác định hàm Y” hoc “Y phụ  
thuc hàm vào X”. Ký hiu là X→Y. Khóa của mt quan hệ xác định hàm các  
thuc tính không khóa ca cùng quan h.  
Ví d1.2  
Trong quan hPROJ hình 1.2 phthuc hàm có hiu lc là  
PNO → (PNAME, BUDGET)  
Trong quan hEMP chúng ta có:  
(1)  
(ENO, PNO) → (ENAME, TITLE, SAL, RES, DUR) (2)  
Phthuc hàm này không phi là phthuc hàm duy nht trong EMP. Nếu  
mỗi nhân viên được cp mt mã snhân viên duy nht, chúng ta có thviết  
ENO → (ENAME, TITLE, SAL)  
(ENO, PNO) → (RESP, DUR)  
Cũng hợp lý khi nói rằng lương của mt chức danh cho trước là cố định.  
Điều đó cho sinh ra phụ thuc hàm  
TITLE → SAL  
Để ý rng mt scác thuc tính trên vế phi ca phthuc hàm thhai (2) là  
phthuc hàm vào mt tp con ca tp các thuc tính vế phi ca cùng phụ  
thuộc hàm đó. Các thuộc tính như (ENAME, TITLE, SAL) được gi là phụ  
thuc hàm bphn vào (ENO, PNO), các thuộc tính (RESP, DUR) được nói là  
phthuộc hàm đầy đủ vào (ENO, PNO).  
b. Phthuc giá trị  
GisR là mt quan hệ được định nghĩa trên tp các thuc tính A={A1, A2,  
…, An} và gisX → A, Y → A, Z → A. Nếu mi giá trZ trong R chcó mt  
cp giá tr(X, Y) và giá trca Z chphthuc vào giá trca X thì ta nói rng  
“X xác định đa trị Z” hoặc Z đa phụ thuc vào X”. Kiu phthuc này gi là  
phthuộc đa trị (MVD) và được ký hiu X →→Z  
14  
Mt cách trc quan, mt phthuộc hàm đa trị diễn đạt mt tình hung trong  
đó giá trị ca mt thuc tính (hoc mt tp thuộc tính) xác định mt tp hp giá  
trca mt thuc tính (hoc mt tp thuc tính) khác. Chú ý rng mi phthuc  
hàm cũng là mt phthuộc đa trị nhưng điều ngưc lại là không đúng.  
Ví d1.3  
Trli ví d. Gisrng chúng ta muốn lưu trữ thông tin vmt tp hp các  
nhân viên mà mt tp hp các dán mà công ty thc hin cũng như các văn  
phòng nhánh mà ở đó các dự án này có thể được thc hiện. Điều đó có thể làm  
bng việc định nghĩa quan hệ  
SKILL (ENO, PNO, PLACE)  
Gisrng mi nhân viên có thlàm vic trên mi dán, mi nhân viên sn  
lòng làm vic ti bt kỳ văn phòng nhánh nào và mi dán có thể được thc  
hin ti bt kỳ văn phòng nhánh nào. Mt ví dquan htha mãn các điều kin  
này được minh ha hình 2.3  
SKILL  
ENO  
E1  
E1  
E1  
E1  
E1  
E1  
E2  
E2  
E2  
E2  
E2  
E2  
PNO  
P1  
P1  
P1  
P2  
P2  
P2  
P1  
P1  
P1  
P2  
P2  
P2  
PLACE  
Toronto  
New York  
London  
Toronto  
New York  
London  
Toronto  
New York  
London  
Toronto  
New York  
London  
vMVDhinh  
Hình 1.3 Ví dvMVD  
15  
Để ý rng không có phthuc hàm nào trong quan hSKILL: quan hchỉ  
bao gm các thuc tính khóa. Có hai phthuộc đa trị:  
ENO →→ PNO và ENO →→ PLACE  
c. Phthuc ni-chiếu  
GisR là mt quan hệ được định nghĩa trên tp hp các thuc tính A={A1,  
A2, …, An} và X A, Y A, Z A. Khi đó nếu R là bng na ni ca X, Y,  
Z thì (X, Y, Z) to nên mt phthuc ni-chiếu  
Có mt tp hp các quy tc suy din da trên mt tp hợp các tiên đề - gi là  
các tiên đề Amstrong (1974) cho phép các thao tác đại sca các phthuc  
hàm. Chúng cho khả năng phát hiện phti thiu ca tp phthuc hàm là mt  
tp hp phthuc hàm ti thiu mà từ đó có thể to ra tt ccác phthuc hàm  
khác. Cho trước mt phti thiu các phthuc hàm và mt tp hp các thuc  
tính, mt thut toán có thể được phát triển để to ra một lược đồ quan hệ ở các  
dng chuẩn cao hơn.  
1.1.2.2. Các dng chun.  
Dng chun thnht (1NF) tuyên bmột cách đơn giản rng các thuc tính  
ca mt quan hchcha các giá trnguyên t. Nói cách khác, các quan hphi  
phng, không có các nhóm lp. Các quan hEMP và PROJ trong hình 1.2 tha  
mãn điều kin này vì vy chai là 1NF.  
Các quan hệ ở 1NF vn còn cho phép các bất thường được đưa ra ở trên. Để  
loi bmt scác bất thường này chúng ta phải được tách thành các quan hệ ở  
các dng chuẩn cao hơn. Chúng ta không quan tâm đặc biệt đến dng chun thứ  
hai vì nó chcòn có tm quan trng lch sdo có các thut toán chun hóa trc  
tiếp mt quan h1NF thành dng chun thba (3NF) hoặc cao hơn.  
Mt quan h3NF nếu vi mi phthuc hàm X → Y, trong đó Y là  
không trong X, hoc X là mt siêu khóa ca R, hoc Y là mt thuộc tính cơ  
bn. Có các thuc tính cung cp mt phân tách bo toàn phthuc và không mt  
mát ca mt quan h1NF thành quan h3NF.  
Ví d1.4  
16  
Quan hPROJ trong ví dụ đang xét là ở 3NF nhưng quan hệ EMP thì không,  
do phthuc hàm TITLE SAL. Phthuc hàm này vi phm 3NF vì TITLE  
không phi là siêu khóa và SAL không phi là thuộc tính cơ bản.  
Vấn đề với EMP là như sau: Nếu chúng ta mun chèn vào mt skin rng  
mt chức danh cho trước nhn một lương cụ ththì không làm được trphi có ít  
nht là mt nhân viên có chc danh y (các tranh luận tương tự có thlàm cho  
các bất thường cp nht và xóa). Vì vy chúng ta phi tách EMP thành hai quan  
h:  
EMP (ENO, ENAME, TITLE, PNO, RESP, DUR)  
PAY (TITLE, SAL)  
Ta có ththy rng PAY là ở 3NF nhưng EMP thì không bi vì phthuc  
hàm ENO → (ENAME, TITLE), ENO không phải là siêu khóa và TITLE,  
ENAME không phi là các thuộc tính cơ bản. Vì vy, EMP cần được phân tích  
tiếp thành  
EMP (ENO, ENAME, TITLE)  
ASG (ENO, PNO, RESP, DUR)  
Chai 3NF.  
Dng chun Boyce-Codd là mt dng mạnh hơn của 3NF. Các định nghĩa là  
như nhau trừ phn cuối cùng. Để mt quan hlà BCNF, vi mi phthuc hàm  
X Y, X là một siêu khóa. Để ý rng mệnh đề “hoc Y là mt thuộc tính cơ  
sở” được loi bkhỏi định nghĩa. Dạng cui cùng ca EMP cũng như các quan  
hPAY, PROJ, ASG là BCNF.  
Có khả năng phân tách một quan h1NF mt cách trc tiếp thành mt tp  
hp quan hệ ở BCNF. Các thuật toán này được đảm bo sinh ra phép tách không  
mất mát nhưng chúng không đảm bo bo toàn phthuc.  
Mt quan hR là dng chun thứ tư (4NF) nếu vi mi phthuộc đa trị  
kiu X →→ Y trong R, X cũng xác định hàm tt ccác thuc tính của R. Như  
vy nếu mt quan hBCNF và mi phthuộc đa trị cũng là phthuc hàm  
thì quan h4NF. Điều quan trng là chmt quan h4NF hoc là không  
cha mt phthuộc đa trị thc th(tc là mi phthuộc đa trị cũng là phthuc  
17  
hàm) hoặc có đúng một phthuộc đa trị được trình bày trong các thuc tính và  
không có phthuc nào khác.  
Ví d1.5  
Để ý rng các quan hEMP, PAY, PROJ, ASG là 4NF bi vì không có phụ  
thuộc đa trị nào định nghĩa trên chúng. Tuy nhiên quan hSKILL là không ở  
4NF. Đtha mãn các đòi hi nó cần được phân tách thành hai quan h:  
EP (ENO, PNO)  
EL (ENO, PLACE)  
Ta có thể để ý rng trong tt ccác dng chun trên, sphân tách là thành  
hai quan h. Dng chun thứ năm (5NF) xử lý các tình hung mà ở đó các phân  
tách n-đường (n>2) có thcn thiết.  
Mt quan h5NF (còn được gi là dng chun ni-chiếu PJNF) nếu mi  
phthuc nối được định nghĩa cho quan hệ là được bao hàm bi các khóa dự  
tuyn ca R. Vi mi phthuc hàm nối được bao hàm bi mt khóa dtuyn  
ca quan h, tp con (hoc các phép chiếu) X, Y, Z phải được làm phù hp vi  
khóa dtuyn.  
Ví d1.6  
Vi quan hEMP chúng ta có thể định nghĩa phụ thuc ni  
*( (ENO, ENAME), (ENO, TITLE) )  
Nó được bao hàm bi khoá dtuyn ENO (nó cũng đã trthành khóa chính).  
Ddàng kim tra rng các quan hEMP, PAY, PROJ, ASG là ở 5NF. Như vậy,  
các lược đồ mà chúng ta kết thúc sau phân tích là như sau:  
EMP (ENO, ENAME, TITLE)  
PAY (TITLE, SAL)  
PROJ (PNO, PNAME, BUDGET)  
ASG (ENO, PNO, RESP, DUR)  
Tt ccác dng chun trình bày trên là không mt mát. Mt kết ququan  
trng là mt quan h5NF không thtách thêm mà không bmt thông tin  
(Fagin, 1977). Chúng ta có CSDL:  
18  
EMP  
ASG  
ENO ENAME TITLE  
ENO  
E1  
E2  
E2  
E3  
E3  
E4  
E5  
E6  
E7  
E8  
PNO  
P1  
P1  
P2  
P3  
P4  
P2  
P2  
P4  
P3  
P3  
RESP  
DUR  
12  
24  
6
E1  
E2  
E3  
E4  
E5  
E6  
E7  
E8  
J.Joe  
Elect.Eng.  
Manager  
Analyst  
M.Smith Syst.Anal  
A.Lee  
Mech.Eng  
Analyst  
J.Miller  
Programmer  
Concultant  
Engineer  
Programmer  
Manager  
Manager  
Engineer  
Manager  
10  
48  
18  
24  
48  
36  
40  
B.Casey Syst.Anal  
L.Chu  
Elect.Eng.  
Mech.Eng  
Syst.Anal  
R.Davis  
J.Jones  
PROJ  
PAY  
PNO PNAME  
BUDGET  
TITLE  
SAL  
P1  
P2  
P3  
P4  
Instrucmentation  
150000  
Elect.Eng.  
Syst.Anal  
Mech.Eng  
40000  
34000  
27000  
Database Develop 135000  
CAD/CAM  
250000  
310000  
maintemance  
Programmer  
24000  
Hình 1.4 Các quan hệ đã được chun hóa  
1.1.3. Các quy tc toàn vn  
Các quy tc toàn vn là các ràng buộc xác định các trạng thái tương thích ca  
cơ sở dliu. Các ràng buc toàn vn có thlà cu trúc hay hành vi. Các ràng  
buc cu trúc là vốn có đối vi mô hình dliu theo nghĩa là chúng bt giữ  
thông tin trên các liên kết dliu không thể được mô hình hóa mt cách trc  
tiếp. Các ràng buc hành vi cho phép sbt gingnghĩa của các ng dng.  
Các sphthuộc được định nghĩa trong phần trước là các ràng buc hành vi.  
Vic duy trì các ràng buc toàn vẹn nói chung là đắt trong phm vi tài nguyên  
hthng. Mt cách lý tưởng, chúng phải được kim soát ti mi cp nht CSDL  
bi vì các cp nht có thdẫn đến các trạng thái CSDL không tương thích.  
19  
Theo Codd (Codd, 1982), hai ràng buc cu trúc ti thiu ca mô hình quan  
hlà ràng buc toàn vn thc thvà quy tc toàn vn tham chiếu. Theo định  
nghĩa, mỗi quan hcó mt khóa chính. Ràng buc thc thtuyên brng mi  
thuc tính của khóa là xác định (non null). Trong ví d1, thuc tính PNO ca  
quan hPROJ và các thuc tính (ENO, PNO) ca quan hEMP không thcó  
các giá trị không xác định. Ràng buc này là cn thiết để áp buc skin các  
khóa là duy nht.  
Ràng buc tham chiếu (Date, 1983) là có li cho vic gicác liên kết gia  
các đối tượng mà mô hình quan hkhông thbiu din. Chúng ta ssdng  
toàn vn tham chiếu khi tho lun vthiết kế cơ sdliu phân tán.  
Ràng buc toàn vn bao gm hai quan hvà áp buc ràng buc là mt nhóm  
thuc tính trong mt quan hlà khóa ca quan hkia. Trong ví d1 có thcó  
mt ràng buc tham chiếu gia các quan hPROJ và EMP trên thuôc tính PNO.  
Quy tắc này quy định rng mi nhân viên thuc vít nht là mt dự án đang có.  
Nói cách khác, tp hp các giá trca PNO trong quan hệ EMP là đưc bao hàm  
trong quan hệ PROJ. Như vậy skhông có các nhân viên thuc vcác dán  
không có trong quan hPROJ.  
1.1.4. Các ngôn ngquan hdliu  
Các ngôn ngthao tác dliệu được phát trin cho mô hình quan hệ (thường  
được gi là ngôn ngtruy vấn) rơi vào hai nhóm cơ bản: ngôn ngquan hda  
trên đại svà ngôn ngquan hda trên tính toán. Skhác nhau gia chúng là  
da trên vic truy vn của user được diễn đạt như thế nào.  
Đại squan hlà ngôn ngthtc. Bng cách sdng các phép toán bc  
cao, trong truy vn người sdng phi chrõ kết qusnhận được như thế nào.  
Các tính toán quan hlà phi thtc, trong truy vn người sdng chrõ các  
quan hsnhận được trong kết qu. Chai ngôn ngữ này đều được Codd (Codd,  
1970) đề ngh, ông ta cũng chứng minh rằng chúng là tương đương theo nghĩa  
sc mnh diễn đt (Codd, 1972).  
Đại squan hệ được sdng nhiều hơn các tính toán quan hệ trong nghiên  
cu ca các vấn đề CSDL phân tán bi vì nó mc thấp hơn và tương ứng trc  
20  
tiếp hơn với các chương trình được trao đổi trên mt mạng. Điều này chyếu là  
tính toán quan hcó thể được chuyển đổi thành đại squan hệ. Để cho đầy đủ,  
ta trình bày chai.  
1.1.4.1. Đại squan hệ  
Đại squan hbao gm mt tp hp các phép toán thao tác trên các quan h.  
Nó có ngun gc tlý thuyết tp hp (các quan hệ tương ứng vi các tp hp).  
Mi phép toán ly mt hoc hai quan hlàm toán hng và to ra mt quan hkết  
qu. Kết quả đó có thể li là toán hng ca phép toán khác. Các phép toán này  
cho phép truy vn và cp nhật cơ sở dliu.  
Các phép toán đại số  
Có 5 phép toán đại squan hvà 5 phép toán khác có thể được định nghĩa  
theo các phép toán này. Các phép toán cơ bản là phép chn, phép chiếu, phép  
hp, phép trquan hệ và tích Đecac. Hai phép toán đầu là hai phép toán mt  
ngôi và ba phép toán sau là các phép toán hai ngôi. Các phép toán thêm vào có  
thể được định nghĩa theo các phép toán cơ bản này là phép giao, ni θ, nối tự  
nhiên, na ni và phép chia. Trên thc tế, đại squan hệ được mrng vi các  
phép toán để nhóm hoc sp xếp các quan hệ và để thc hin các hàm shc  
hoc hàm nhóm.  
Các toán hng ca mt scác phép toán hai ngôi phải tương thích hợp. Hai  
quan hệ R và S là tương thích hợp khi và chkhi chúng cùng cp và thuc tính  
thi ca mi quan hệ là được định nghĩa trên cùng mt min. Dĩ nhiên, phn  
thhai của định nghĩa là đúng khi và chỉ khi các thuc tính ca quan hệ được  
xác định bng các vị trí tương quan của chúng bên trong quan hchkhông  
phi bng tên ca chúng. Nếu thtự tương quan của các thuc tính là không  
quan trng thì cn phi thay phn thhai của định nghĩa bằng câu: các thuc  
tính tương ứng ca hai quan hphải được định nghĩa trên cùng mt min.  
Phép chn  
Phép chn to ra mt tp con ngang ca mt quan hcho trước. Tp hp con  
bao gm tt ccác btha mãn mt công thức (điều kin). Phép chn tmt  
quan hệ R được ký hiu là:  
21  
σ F (R)  
Phép chiếu  
Phép chiếu to ra mt tp hp con dc ca mt quan h. Quan hkết quchỉ  
cha các thuc tính ca quan hnguyên thủy nào mà trên đó phép chiếu được  
thc hiện. Như vậy, cp ca mt quan hkết qulà nhỏ hơn hoặc bng cp ca  
quan hnguyên thy.  
Phép tính ca quan hR trên các thuộc tính A, B được ký hiu là:  
A,B (R)  
Để ý rng kết quca mt phép chiếu có thcha các bging nhau. Trong  
trường hp này, các blp li có thbxóa khi quan hkết qu. Có thchrõ  
phép chiếu có hoc không có loi blp  
Phép hp  
Hp ca hai quan hR và S, ký hiu R S, là tập hợp của tất cả các bộ trong  
R, hoặc trong S, hoặc trong cả hai. Điều kiện là R và S phải tương thích hợp.  
Cũng như trong trường hợp của phép chiếu, các bộ lặp cũng thường được loại  
bỏ. Phép hợp có thể được sử dụng để chèn các bộ mới vào một quan hệ đang tồn  
tại, trong đó các bộ mới này tạo nên một trong các quan hệ toán hạng.  
Phép hiệu tập hợp  
Hiệu tập hợp của hai quan hệ R và S, ký hiệu là R – S, là một tập hợp tất cả  
các bộ ở trong R nhưng không ở trong S. Trong trường hợp này R và S cũng  
phải tương thích hợp. Phép toán này không đối xứng, nghĩa là R – S S – R.  
Phép toán này cho phép loại bỏ các bộ ra khỏi một quan hệ. Cùng với phép hợp  
chúng ta có thể thực hiện các thay đổi các bộ bằng cách loại bỏ sau đó bằng các  
phép chèn.  
Tích Đề-các  
Tích Đề-các của hai quan hệ R cấp k1 và S cấp k2 là một tập hợp của các  
(k1+k2)-bộ, trong đó mỗi bộ kết quả là một kết nối của một bộ của R với mỗi bộ  
của S, với tất cả các bộ của R và S.  
Tích Đề-các của R và S được ký hiệu là R x S.  
22  
Có khả năng là hai quan hệ có thể có các thuộc tính trùng tên. Trong trường  
hợp này các tên thuộc tính được bắt đầu bằng tên của quan hệ để duy trì tính duy  
nhất của các tên thuộc tính bên trong một quan hệ.  
Phép giao  
Phép giao của hai quan hệ R và S, ký hiệu R S, bao gồm tập hợp tất cả các  
bộ vừa ở trong R vừa ở trong S. Theo các phép toán cơ bản, nó có thể được biểu  
diễn là  
R S = R – (R – S).  
Nối θ  
Phép nối là một suy diễn của tích Đecac. Có nhiều dạng nối, tổng quát nhất là  
nối θ, thường được gọi là nối. Phép nối θ của hai quan hệ R và S được ký hiệu là  
R
F S  
Trong đó F là một công thức chỉ vị từ nối. Vị từ nối được chỉ ra tương ứng  
như một vị từ chọn nhưng các số hạng có dạng R.A θ S.B, trong đó A và B là  
các thuộc tính của R và S tương ứng.  
Phép nối của hai quan hệ tương đương với việc thực hiện một phép chọn, sử  
dụng vị từ nối như là công thức chọn trên tích Đecac của hai quan hệ toán hạng.  
Như vậy  
R
F S = σ F(R x S)  
Trong sự tương đương ở trên chúng ta cần chú ý rằng nếu F bao hàm cả hai  
thuộc tính của quan hệ mà chúng là chung cho cả hai thì một phép chiếu là cần  
thiết để đảm  
Nối tự nhiên  
Một nối tự nhiên là một nối bằng của hai quan hệ trên một thuộc tính được  
chỉ ra, cụ thể hơn trên các thuộc tính có miền xác định như nhau. Có một sự  
khác nhau là thông thường các thuộc tính mà trên nó phép nối tự nhiên được  
thực hiện chỉ xuất hiện một làn trong kết quả. Một nối tự nhiên được thể hiện  
như một phép nối không có công thức:  
R
A S  
23  
Trong đó A là thuộc tính chung của R và S. Chú ý rằng các thuộc tính nối  
tự nhiên có thể có các tên khác nhau trong hai quan hệ. Trong trường hợp đó, cái  
cần đòi hỏi là chúng có chung một miền giá trị. Trong trường hợp này phép nối  
được ký hiệu là R A  
Phép nửa nối  
B S, trong đó A là thuộc tính nối của R, B là của S.  
Phép nửa nối của quan hệ R được xác định trên tập thuộc tính A và quan hệ  
S được xác định trên tập thuộc tính B là tập con của các thuộc tính của R tham  
gia vào phép nối của R và S. Nó được ký hiệu là:  
R
F S = A(R  
F S)  
Ưu điểm của phép nửa nối là nó giảm số các bộ cần phải thực hiện để tạo  
thành phép nối. Trong các hệ CSDL tập trung, điều đó là quan trọng bởi vì nó  
thường dẫn đến việc sử dụng bộ nhớ tốt hơn, làm giảm các truy cập bộ nhớ phụ.  
Điều đó còn quan trọng hơn trong CSDL phân tán vì nó thường làm giảm số dữ  
liệu cần truyền giữa các trạm để thực hiện một truy vấn. Chú ý rằng phép nửa  
nối là không đối xứng, nghĩa là R F S  
S
F R  
Phép chia  
Phép chia của quan hệ R cấp r với quan hệ S cấp s (r > s và s 0) là một tập  
các (r-s)-bộ t sao cho với mọi bộ u trong S, bộ tu trong R. Phép chia được ký  
hiệu là R S và được biểu diễn qua các phép toán cơ bản như sau:  
R
S = A(R)  A(( A(R x S) – R)  
Trong đó A là tập các thuộc tính của R không có trong S.  
Các chương trình đại số quan hệ  
Vì tất cả các phép toán lấy các quan hệ là dữ liệu vào (input) và tạo ra các  
quan hệ như là dữ liệu ra (output), chúng ta có thể lồng các phép toán quan hệ  
bằng cách sử dụng dấu ngoặc và biểu diễn các chương trình đại số quan hệ. Các  
dấu ngoặc chỉ thứ tự của việc thực hiện.  
1.1.4.2. Các tính toán quan hệ  
Trong các quan hệ dựa trên tính toán quan hệ, thay vì chỉ rõ làm thế nào để  
nhận được kết quả, người ta chỉ ra kết quả là gì bằng cách biểu diễn mối liên kết  
24  
được đề nghị để đảm nhận kết quả. Các ngôn ngữ tính toán quan hệ rơi vào hai  
nhóm: tính toán quan hệ bộ và tính toán quan hệ miền. Sự khác nhau của hai  
nhóm là theo thuật ngữ của biến nguyên thủy được sử dụng trong việc diễn đạt  
truy vấn.  
Các ngôn ngữ tính toán quan hệ có một cơ sở lý thuyết vững chắc bởi vì  
chúng dựa trên logic vị từ bậc nhất. Ngữ nghĩa được cho trước đối với các công  
thức bằng cách thể hiện chúng như là các khẳng định trên CSDL. Một CSDL  
quan hệ có thể được xem như một tập hợp các bộ hoặc một tập hợp các miền.  
Tính toán quan hệ bộ thể hiện một biến trong một công thức như là một bộ của  
quan hệ trong khi đó tính toán quan hệ miền thể hiện một biến như giá trị của  
một miền.  
Các tính toán quan hệ bộ (tuple relational calculus)  
Biến nguyên thủy được sử dụng trong các tính toán quan hệ là một biến bộ,  
nó chỉ rõ một bộ của quan hệ. Nói cách khác, nó biến thiên trên các bộ của quan  
hệ. Các tính toán bộ là các tính toán quan hệ ban đầu được Codd phát triển  
(Codd-1970)  
Trong tính toán quan hệ bộ, các truy vấn được chỉ ra dưới dạng:  
{ t | F(t) }  
Trong đó: t là một biến bộ, F là một công thức xây dựng tốt (wff). Các công  
thức nguyên tử thuộc hai dạng:  
a. Biểu thức thành viên của bộ: nếu t là một biến bộ biến thiên trên các bộ  
của quan hệ R thì biểu thức “bộ t thuộc quan hệ R” là một công thức  
nguyên tử và được diễn đạt là R.t hoặc R(t)  
b. Điều kiện. Các điều kiện được định nghĩa như sau:  
(a). s[A] θ t[B], trong đó s và t là các biến bộ, A và B là các thành phần  
của s và t tương ứng, θ là một trong các so sánh số học <, >, =, ,  
.
Điều kiện này chỉ rõ rằng thành phần A của s đứng trong quan hệ θ đối  
với thành phần B của t. Ví dụ, s[SAL] > t[SAL]  
(b). s[A] θ c, trong đó s, A và θ được định nghĩa như trên và c là một  
hằng. Ví dụ, s[NAME] = “Smith”  
25  
Để ý rằng A được định nghĩa như một thành phần của biến bộ s. Bởi vì biến  
thiên của s là một quan hệ cụ thể, chẳng hạn S nó bị bắt buộc là thành phần A  
của s tương ứng với thuộc tính A của s  
Có nhiều ngôn ngữ dựa trên tính toán bộ, ngôn ngữ phổ biến nhất là SQL.  
SQL bây giờ là một chuẩn quốc tế với các phiên bản công bố vào năm 1986  
(SQL 1), 1989 (sửa đổi SQL 1) và 1992 (SQL 2). Một phiên bản mới bao gồm  
các mở rộng ngôn ngữ hướng đối tượng đang được công bố từng phần từ 1998.  
SQL cung cấp một cách tiếp cận không đổi đến thao tác dữ liệu (trích rút, cập  
nhật), định nghĩa dữ liệu (thao tác lược đồ) và kiểm soát (quyền, tính toàn vẹn,  
…)  
Các truy vấn trong SQL có dạng:  
Ví d1.7: Truy vấn trích rút  
SELECT EMP, ENAME  
FROM EMP, ASG, PROJ  
WHERE EMP.ENO = ASG.ENO  
AND ASG.PNO = PROJ.PNO  
AND PROJ.PNAME = “CAD/CAM”  
Ví d1.8: Truy vấn cập nhật  
UPDATE PAY  
SET SAL = 25000  
WHERE P.TITLE = “Programmer”;  
Các tính toán quan hệ trên miền  
Sự khác nhau cơ bản giữa ngôn ngữ quan hệ bộ và ngôn ngữ quan hệ miền là  
việc sử dụng biến miền trong ngôn ngữ quan hệ miền. Một biến miền biến thiên  
trên các giá trị trong một miền và chỉ rõ một thành phần của một bộ. Nói cách  
khác, miền biến thiên của một biến miền bao gồm các miền mà trên đó quan hệ  
được định nghĩa. Các wff được thể hiện theo hoàn cảnh đó. Các truy vấn được  
chỉ ra dưới dạng sau đây:  
x1, x2, …, xn | F(x1, x2,…, xn)  
Trong đó: F là một wff và x1, x2, …, xn là các biến tự do  
26  
Thành công của ngôn ngữ tính toán quan hệ miền chủ yếu là ngôn ngữ QBE  
(Zloof 1977), đó là một ứng dụng hiển thị của tính toán miền. Các truy vấn trích  
rút và cập nhật tương ứng với các truy vấn SQL ở trên được viết trong QBE như  
sau:  
EMP  
ENO  
E2  
ENAME  
P.  
TITLE  
ASG ENO  
E2  
PNO  
P3  
RESP DUR  
PROJ  
PNO  
P3  
Trong đó P. có nghĩa là Print  
Hình 1.5 Truy vấn trích rút trong QBE  
PNAME  
BUDGET  
CAD/CAM  
PAY  
TITLE  
SAL  
Programmer  
U.250000  
Trong đó U. có nghĩa là Update  
Hình 1.6 Truy vấn cập nhật trong QBE  
1.1.4.3. Tương tác với các ngôn ngữ lập trình  
Các ngôn ngữ dữ liệu quan hệ là không đủ để viết các chương trình ứng  
dụng phức tạp. Vì vy việc tương tác một ngôn ngữ dữ liệu quan hệ với một  
ngôn ngữ lập trình mà trong đó ứng dụng được viết là điều cần thiết. Có hai cách  
tiếp cận chính trong việc cung cấp dịch vụ này: buộc chặt (tighly coupled) và  
buộc lỏng (loosely couple). Phương pháp tighly couple bao gồm việc mở rộng  
ngôn ngữ lập trình nào đấy với các lệnh thao tác dữ liệu. Ví dụ ngôn ngữ thế hệ  
4 (4GL-Martin 1985). Phương pháp loosly couple bao gồm việc tích hợp ngôn  
ngữ dữ liệu với một ngôn ngữ lập trình bằng cách sử dụng các lời gọi CSDL, ví  
dụ embedded SQL.  
1.1.5. Hệ Quản trị CSDL quan hệ  
27  
Hệ QTCSDL là một thành phần phần mềm hỗ trợ mô hình quan hệ và ngôn  
ngữ quan hệ. Một hệ QTCSDL là một chương trình reentrant được phân chia bởi  
nhiều thực thể hoạt động được gọi là các giao tác (transaction), chạy các chương  
trình CSDL. Khi chạy trên một máy tính vạn năng, hệ QTCSDL được tương tác  
với hai thành phần khác: hệ thống con truyền thông và hệ điều hành.  
Kiến trúc chung của một hệ QTCSDL (tập trung) được mô tả như ở hình 1.7  
Chương trình 1  
Chương trình n  
Hệ thống con truyền thông  
Hệ QTCSDL  
Hệ điều hành  
CSDL  
Hình 1.7 Kiến trúc chung ca HQTCSDL tp trung  
Hthng con truyn thông cho phép tương tác HQTCSDL với các hthng  
con khác để truyn thông tin vi các ng dng. Ví dụ, monitor đầu cui cn  
truyn thông với HQTCSDL để chạy các giao tác tương tác. Hệ điều hành cung  
cp sự tương tác giữa HQTCSDL vi các tài nguyên ca máy tính (bxlý, bộ  
nhớ, chương trình điều khiển đĩa,…)  
Các chức năng của mt HQTCSDL thc hin có thể được xếp tầng như hình  
1.8, trong đó các mũi tên chỉ hướng ca CSDL và lung kim soát. Ly cách  
tiếp cn trên xung, các tng là giao din, kim tra, dch, thc hin, truy cp dữ  
liu và qun trị tương thích.  

Tải về để xem bản đầy đủ

pdf 79 trang yennguyen 12/06/2025 90
Bạn đang xem 30 trang mẫu của tài liệu "Luận văn Nghiên cứu, xây dựng cơ sở dữ liệu tích cực", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfluan_van_nghien_cuu_xay_dung_co_so_du_lieu_tich_cuc.pdf