B GIÁO DC VÀ ĐÀO TO
ĐẠI HC ĐÀ NNG
TRN NGC HIN
XÂY DNG CHƯƠNG TRÌNH SINH T ĐỘNG
MÃ CÁC TRIGGER THC HIN CP NHT GIA TĂNG
CÁC BNG KHUNG NHÌN THC NI NGOÀI
Chuyên ngành : Khoa hc máy nh
Mã s : 60.48.01.01
TÓM TT LUN VĂN THC SĨ K THUT
Đà Nng - Năm 2015
Chương trình được hoàn thành ti
ĐẠI HC ĐÀ NNG
Người hướng dn khoa hc: TS. NGUYN TRN QUC VINH
Phn bin 1: TS. Hunh Công Pháp
Phn bin 2: GS.TS. Nguyn Thanh Thy
Lun văn đã được bo v trước Hi đồng chm Lun văn tt
nghip Thc sĩ K thut hp ti Đại hc Đà Nng vào ngày 18
tháng 7 năm 2015
Có th m hiu lun văn ti:
- Trung tâm Thông tin - Hc liu, Đại hc Đà Nng
- Trung tâm Hc liu, Đại hc Đà Nng
1
M ĐẦU
1. Tính cp thiết ca đề tài
Khung nhìn thc là mt đối tượng cơ s d liu cha các kết
qu ca mt truy vn, giúp tr li các truy vn nhanh chóng thay vì
ly d liu t các bng gc và x lý. Trong kho d liu, d liu biên
niên s các h thng ngân hàng, bán l và thanh toán; trong c
ng dng o hóa; trong các h thng di động; kim soát các ràng
buc tn vn; ti ưu hoá truy vn, hiu qu vic s dng KNT được
th hin rõ hơn.
Mt ví d đin hình v tính hiu qu ca vic ng dng
KNT. Mt tp đoàn có nhiu đại din ti nhiu vùng thuc nhiu
quc gia cung cp cho nhiu khách hàng khác nhau mt s lượng ln
các sn phm. Như vy, CSDL trung tâm ca tp đoàn y có th
cha hàng triu hoc nhiu hơn các dòng d liu v chi tiết bán hàng.
Bây gi, người ta cn thng kê s lượng sn phm được bán cũng
như tng doanh thu cho tng loi sn phm ti mi vùng theo quc
gia. Truy vn được thc thi và kết qu được tr li sau mt khong
mt thi gian T1 nào đó. Kết qu y được lưu li trong mt bng
KNT bao gm 200 dòng d liu. Sau y, mi khi xut hin truy vn
đó, thay vì thc thi li t đầu bng vic qt và x lý hàng triu dòng
d liu, HQT CSDL đọc bng KNT cha ch 200 dòng d liu và tr
li kết qu trong khong thi gian T
2
(thường rt nh so vi T
1
),
thường là vài ms. Thm chí, KNT th được dùng để tr li các
truy vn tương t nhưng cho trường hp c thế gii, hoc mt vài
vùng nào đó, hoc trường hp ch cn tính hoc doanh thu hoc s
lượng sn phm. Tính năng y được gi là viết li truy vn (query
rewrite) [4].
2
Tuy nhiên, KNT không cho phép nâng cao năng sut trong
tt c các trường hp, hiu qu ng dng chúng có th gim đi rõ rt
nếu thường xuyên xy ra thay đổi d liu trong các bng gc s dng
để to KNT (hay KNT s dng).
Khung nhìn thc được ng dng t nhng năm 1980, tuy
nhiên đến nay ch 3 HQTCSDL hàng đầu thế gii là Oracle, IBM
DB2 và MS SQL Server trin khai thành công. Còn đối vi nhng
HQTCSDL khác, nht là HQTCSDL mã ngun m như PostgeSQL
thì k khăn được xác định là bước thc hin cp nht gia tăng cho
KNT. Trước đó đã có nhng nghiên cu v vic s dng trigger mã
ngun PL/pgSQL để cp nht gia tăng đồng b KNT trong
PostgreSQL, nhưng ch dng li KNT kiu SPJ (Select Project -
Join), là KNT da trên truy vn ch cha phép chn, phép chiếu
phép ni trong, không bao gm các phép toán thng kê như SUM,
COUNT, AVG, MIN, MAX,… Tuy nhiên, mã ngun PL/pgSQL
được đánh giá là hiu năng chưa cao mt s x lý (ví d như x
lý vòng lp).
PostgreSQL được viết hoàn toàn bng ngôn ng C, c
cu trúc d liu trong C tương ng vi các kiu d liu trong SQL và
mt giao din lp tnh giúp cho m trigger th thc hin truy
vn đến CSDL được d dàng. vy, vic thc thi phn m rng
PostgreSQL thc s nhanh hơn k th đạt được bng cách s
dng bt c ngôn ng gì khác ngi C. Viết mã bng ngôn ng C
th không phi là cách nhanh nht ca vic thc thi các tính năng,
nhưng vic thc hin các hàm s không b nh hưởng nhiu mà các
ngôn ng lp tnh kc gây ra.
Xut phát t nhng lý do trên, tôi đề xut chn đề tài lun
văn tt nghip thc s ngành khoa hc máy nh: Xây dng chương
3
trình sinh t động mã c trigger thc hin cp nht gia tăng các
bng khung nhìn thc ni ngoài”.
2. Mc tiêu nghiên cu
Mc tiêu chung ca đề tài là: Xây dng chương trình sinh t
động mã các trigger thc hin cp nht gia tăng các bng khung nhìn
thc ni ngoài nhm làm tăng tc độ thc thi các truy vn.
Để đạt được mc tiêu chung đó, tác gi nghiên cu các mc
tiêu c th như sau:
- Nghiên cu tng quan v KNT.
- Nghiên cu cơ s lý thuyết v cp nht gia tăng, đồng b
KNT ni ngi.
- Nghiên cu tng quan v trigger trên C trong PostgreSQL.
- Xây dng thut toán cp nht gia tăng KNT ni ngi.
- Xây dng module sinh mã t động các trigger.
3. Đối tượng và phm vi nghiên cu
3.1. Đối tượng nghiên cu
- Khung nhìn thc
- Trigger
3.2. Phm vi nghiên cu
- Cp nht gia tăng, đồng b khung nhìn thc ni ngi.
- H qun tr cơ s d liu PostgreSQL.
- Trigger trong ngôn ng C.
4. Phương pháp nghiên cu
4.1. Phương pháp lý thuyết
Thu thp, chn lc, phân loi, ghi chú và nghiên cu các tài
liu (sách, bài báo, lun văn, trang web) có liên quan đến khung nhìn
thc, HQTCSDL PostgreSQL, cp nht gia tăng KNT, đồng b
KNT, sinh mã trigger trong ngôn ng C.