TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
BỘ MÔN HỆ THỐNG THÔNG TIN & TOÁN ỨNG DỤNG
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
Đề tài:
QUẢN TRỊ VÀ PHÁT TRIỂN ỨNG DỤNG DB2
(ÁP DỤNG VÀO BÀI TOÁN QUẢN LÍ
HỘI THẢO KHOA HỌC)
Cán bộ hướng dẫn:
TS. Nguyễn Thái Nghe
MSCB: 1352
KS. Nguyễn Minh Khiêm
MSCB:
Sinh viên thực hiện:
Huỳnh Phú Điền
MSSV: 1091657
Tăng Bình Tánh
MSSV: LT11770
Cán bộ phản biện:
ThS. Lê Đức Thắng
MSCB: 0515
Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Hệ
Thống Thông Tin, Khoa Công nghệ Thông tin, Trường Đại học Cần Thơ vào ngày
14 tháng 05 năm 2013.
Có thể tìm hiểu luận văn tại:
Thư viện Khoa Công nghệ thông tin và Truyền thông, trường Đại học Cần Thơ
Website: />
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
LỜI CẢM
F ƠN
Sau nhiều nỗ lực và cố gắng thực hiện cuối cùng nhóm chúng em cũng
đã hoàn thành đề tài luận văn tốt nghiệp. Kết quả này không chỉ là sự nỗ lực
của bản thân mà còn có sự đóng góp to lớn từ các thầy cô, bạn bè, gia đình và
người thân – những người đã luôn sát cánh, giúp đỡ chúng em trong suốt quá
trình thực hiện luận văn.
Xin gửi lời cảm ơn chân thành đến quý thầy cô trường ĐHCT nói chung
cũng như thầy cô khoa CNTT & TT nói riêng đã tận tình giảng dạy và truyền
đạt những kiến thức quý báo cho chúng em trong suốt gần 4 năm học vừa
qua.
Đặc biệt, xin bày tỏ lòng biết ơn sâu sắc đến TS. Nguyễn Thái Nghe và
KS. Nguyễn Minh Khiêm đã tận tình hướng dẫn, giúp đỡ và tạo điều kiện
thuận lợi để chúng em hoàn thành tốt Luận văn này.
Cũng không quên gửi lời cảm ơn chân thành đến cha mẹ, bạn bè, người
thân đã luôn quan tâm, ủng hộ và đóng góp ý kiến quý báu để chúng em có
đủ nghị lực hoàn thành tốt luận văn này.
Măc dù đã cố gắng rất nhiều nhưng chắc hẵn luận văn vẫn còn nhiều sai
sót, rất mong nhận được sự góp ý, và lời khuyên từ quý thầy cô và bạn bè để
luận văn ngày càng hoàn thiện hơn.
Xin kính tặng thành quả này đến quý thầy cô, cha mẹ, gửi tặng bạn bè,
người thân bằng tất cả tình cảm yêu thương và chân thành nhất…
Chân thành cảm ơn!.
Tháng 5-2013
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
i
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
Cần Thơ, Ngày …. Tháng ….Năm 2013
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
ii
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
Cần Thơ, Ngày …. Tháng ….Năm 2013
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
iii
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
MỤC LỤC
-----CHƯƠNG I – TỔNG QUAN ............................................................................................................... 3
I.
ĐẶT VẤN ĐỀ ............................................................................................................................... 3
II.
LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ ..................................................................................................... 3
III.
PHẠM VI ..................................................................................................................................... 4
III.1
Phạm vi đề tài ......................................................................................................................... 4
III.2
Hướng giải quyết vấn đề ......................................................................................................... 4
IV.
PHƯƠNG PHÁP THỰC HIỆN ....................................................................................................... 5
CHƯƠNG II – CƠ SỞ LÝ THUYẾT.................................................................................................. 7
I.
HTML .......................................................................................................................................... 7
II.
CSS.............................................................................................................................................. 7
III.
PHP ............................................................................................................................................. 7
IV.
JAVASCRIPT ................................................................................................................................ 8
V.
AJAX ........................................................................................................................................... 8
VI.
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU DB2 ............................................................................................. 9
VI.1
Tổng quan và cài đặt ............................................................................................................... 9
VI.1.1
Tổng quan ........................................................................................................................... 9
VI.1.1.1
DB2 Express – C là gì ? ...................................................................................................... 9
VI.1.1.2
Các tính năng liên quan và các sản phẩm ...................................................................... 12
VI.1.2
Cài đặt .............................................................................................................................. 12
VI.1.2.1
Cài đặt DB2 Express – C .................................................................................................. 12
VI.1.1.2
Môi trường của DB2 ....................................................................................................... 16
VI.1.1.3
Công cụ DB2 (IBM Data Studio)...................................................................................... 20
VI.2
Quản trị cơ sở dữ liệu ........................................................................................................... 21
VI.2.1
Kiến trúc DB2 ..................................................................................................................... 21
VI.2.1.1
Mô hình xử lý DB2 .......................................................................................................... 21
VI.2.1.2
Mô hình bộ nhớ.............................................................................................................. 23
VI.2.1.3
Mô hình lưu trữ DB2 ...................................................................................................... 24
VI.2.2
Kết nối máy khách DB2 ..................................................................................................... 26
VI.2.2.1
Thư mục DB2 .................................................................................................................. 26
VI.2.2.2
Yêu cầu cài tại máy chủ .................................................................................................. 26
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
iv
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
VI.2.3
Làm việc với các đối tượng dữ liệu ................................................................................... 27
VI.2.3.1
Lược đồ (schemas) ......................................................................................................... 27
VI.2.3.2
Bảng (tables) .................................................................................................................. 27
VI.2.3.3
Khung nhìn (views) ......................................................................................................... 28
VI.2.3.4
Chỉ mục (indexs) ............................................................................................................. 29
VI.2.3.5
Toàn vẹn tham chiếu dử liệu (Referential Integrity)...................................................... 29
VI.2.4
Di chuyển dữ liệu .............................................................................................................. 29
VI.2.4.1
Tổng quan....................................................................................................................... 29
VI.2.4.2
Export ............................................................................................................................. 29
VI.2.4.3
Import ............................................................................................................................ 30
VI.2.4.4
Load & Set Integrity........................................................................................................ 30
VI.2.4.5
Db2move ........................................................................................................................ 30
VI.2.4.6
Db2look .......................................................................................................................... 30
VI.3
Bảo mật cơ sở dữ liệu ........................................................................................................... 31
VI.3.1
Tổng quan ......................................................................................................................... 31
VI.3.2
Chứng thực........................................................................................................................ 31
VI.3.3
Quyền hạn ......................................................................................................................... 32
VI.3.3.1
Đặc quyền....................................................................................................................... 32
VI.3.3.2
Quyền hạn (Authorities)................................................................................................. 33
VI.3.3.3
Nhóm PUBLIC ................................................................................................................. 34
VI.3.3.4
Lệnh Grant & Revoke ..................................................................................................... 34
VI.3.3.5
Tính năng mở rộng trên Windows ................................................................................. 34
VI.4
Sao lưu & phục hồi ................................................................................................................ 35
VI.4.1
Sao lưu cơ sở dữ liệu......................................................................................................... 35
VI.4.2
Khôi phục cơ sở dữ liệu (Restore) ..................................................................................... 35
VI.4.2.1
Các kiểu khôi phục dữ liệu ............................................................................................. 35
VI.4.2.2
Phục hồi dữ liệu ............................................................................................................. 36
VI.4.2.3
Thao tác với câu lệnh Backup & Restore........................................................................ 36
VI.5
Truy cập đồng thời và khóa................................................................................................... 37
VI.5.1
Giao dịch (Transactions).................................................................................................... 37
VI.5.2
Truy xuất đồng thời (Concurrency) và khóa (Locking) ...................................................... 37
VI.5.2.1
Truy suất đồng thời ........................................................................................................ 37
VI.5.2.2
Khóa ............................................................................................................................... 38
VI.5.2.3
Một số vấn đề nếu không có sự kiểm soát truy cập đồng thời ..................................... 39
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
v
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
VI.5.2.4
Các mức cô lập ............................................................................................................... 39
VI.5.2.5
Đặt mức cô lập ............................................................................................................... 41
VI.5.3
Khóa leo thang .................................................................................................................. 41
VI.5.4
Kiểm soát khóa .................................................................................................................. 42
VI.5.5
Chờ khóa ........................................................................................................................... 42
VI.5.6
Vấn đề khóa chết và phát hiện ......................................................................................... 43
VI.5.7
Truy cập đồng thời và thực tiễn khóa tốt nhất ................................................................. 43
VI.6
Phát triển ứng dụng DB2....................................................................................................... 44
VI.6.1
Phát triển ứng dụng máy chủ............................................................................................ 44
VI.6.1.1
Các thủ tục lưu trữ ......................................................................................................... 44
VI.6.1.2
Các hàm do người dùng tự định nghĩa........................................................................... 45
VI.6.1.3
Các bẩy sự kiện .............................................................................................................. 45
VI.6.2
Phát triển ứng dụng máy khách ........................................................................................ 45
VI.6.2.1
SQL nhúng ...................................................................................................................... 45
VI.6.2.2
SQL tĩnh và động ............................................................................................................ 46
VI.6.2.3
CLI và ODBC .................................................................................................................... 47
VI.6.2.4
JDBC, SQLJ và pureQuery ............................................................................................... 48
VI.6.2.5
OLE DB ............................................................................................................................ 49
VI.6.2.6
ADO.NET ........................................................................................................................ 49
VI.6.2.7
PHP ................................................................................................................................. 50
VI.6.2.8
Ruby on Rails .................................................................................................................. 50
VI.6.2.9
Perl ................................................................................................................................. 50
VI.6.2.10
Python ............................................................................................................................ 50
VI.6.2.11
XML và DB2 pureXML ..................................................................................................... 51
VI.6.2.12
Dịch vụ web .................................................................................................................... 51
VI.6.2.13
Làm việc với Microsoft Access và Microsoft Excel ......................................................... 52
CHƯƠNG III – NỘI DUNG VÀ KẾT QUẢ THỰC HIỆN .............................................................. 54
I.
MÔ TẢ HỆ THỐNG .................................................................................................................... 54
I.1
Đặc tả yêu cầu hệ thống....................................................................................................... 54
I.2
Kiến trúc hệ thống................................................................................................................. 55
II.
PHÂN TÍCH HỆ THỐNG ............................................................................................................. 56
II.1
Mô hình mức quan niệm (MCD) ........................................................................................... 56
II.2
Mô hình luận lí (MLD) ........................................................................................................... 57
II.3
Thiết kế bảng ........................................................................................................................ 58
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
vi
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
II.4
Lưu đồ dòng dữ liệu (PFD) .................................................................................................... 63
II.4.1
DFD mức 0 ......................................................................................................................... 63
II.4.2
DFD mức 1 ......................................................................................................................... 64
II.4.3
DFD mức 2 ......................................................................................................................... 65
III.
PHÂN TÍCH, THIẾT KẾ WEBSITE ................................................................................................ 67
III.1
Sơ đồ chức năng ................................................................................................................... 67
III.2
Lưu dồ giải thuật ................................................................................................................... 68
III.2.1
Lưu đồ viết bài .................................................................................................................. 68
III.2.2
Lưu đồ phản biện .............................................................................................................. 69
III.2.3
Lưu đồ phân công phản biện ............................................................................................ 70
III.2.4
Lưu đồ xét duyệt bài viết .................................................................................................. 71
IV.
DEMO CHƯƠNG TRÌNH............................................................................................................ 72
IV.1
Giới thiệu............................................................................................................................... 72
IV.2
Các chức năng chính ............................................................................................................. 72
IV.2.1
Trang chủ........................................................................................................................... 72
IV.2.2
Thành viên ......................................................................................................................... 74
IV.2.3
Admin (trang quản trị) ...................................................................................................... 83
CHƯƠNG IV - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .............................................................. 89
I.
KẾT QUẢ THỰC HIỆN ĐƯỢC..................................................................................................... 89
I.1
Chương trình: ....................................................................................................................... 89
I.2
Người thực hiện: .................................................................................................................. 89
II.
HẠN CHẾ VÀ KHÓ KHĂN........................................................................................................... 89
III.
HƯỚNG PHÁT TRIỂN ................................................................................................................ 90
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
vii
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
KÍ HIỆU VÀ VIẾT TẮT
STT
Ký hiệu và từ viết tắt
Diễn giải
1
CSDL
Cơ sở dữ liệu
2
HQTCSDL
Hệ quản trị cơ sở dữ liệu
3
DBMS
Database Management System
4
RDBMS
Database Management System Relational
5
KGB
Không gian bảng
6
SGML
Standard Generalized Markup Language
7
HTML
HyperText Markup Language
8
CSS
Cascading Style Sheets
9
XML
eXtensible Markup Language
10
AJAX
Asynchronous JavaScript and XML
11
PHP
Hypertext Preprocessor
12
WYSIWYG
What You See Is What You Get
13
SVG
Scalable Vector Graphics
14
ISVs
Independent software Vendor
15
DAS
DB2 Application Server
16
SMS
System Managed Storage
17
UDF
User-defined Function
18
CLI
Call Level Interface
19
ODBC
Open Database Connectivity
20
JDBC
Java Database Connectivity
21
OLE DB
Object Linking and Embedding Database
22
COM
Component Object Model
23
MVC
Model - View- Controller
24
SOA
Service Oriented Architecture
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
1
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
TÓM TẮT
Với xu hướng phát triển công nghệ thông tin hiện nay, dữ liệu sinh ra
ngày càng nhiều, việc quản lí dữ liệu ngày càng phức tạp. Vì vậy, vai trò của
các hệ quản trị cơ sở dữ liệu ngày càng trở nên quan trọng trong các giải pháp
công nghệ thông tin. DB2 của IBM là một trong số những DBMS phổ biến,
hoạt động mạnh và nhanh nhất hiện nay, với đầy đủ các tính năng của một
RDBMS và sự hỗ trợ phát triển mạnh mẽ từ các nhà phát triển và cộng đồng
người sử dụng. Việc quản trị và phát triển ứng dụng bằng DB2 nhằm nghiên
cứu và tìm hiểu về hệ quản trị DB2, đồng thời vận dụng những kiến thức tìm
hiểu được để xây dựng các ứng dụng thực tế. Một ứng dụng cụ thể là việc áp
dụng DB2 vào việc giải quyết bài toán “Quản lí Tổ chức hội thảo Khoa học”.
Luận văn sẽ tìm hiểu các kiến thức tổng quan về DB2 và áp dụng xây dựng “
Website Quản lí tổ chức hội thảo Khoa học”.
ABSTRACT
Nowadays, the information technology is developed fastly and data was
generated more and more. So, the management of data becomes more complex.
Therefore, the Database Management System is taken more important in
information solutions. IBM DB2 is one of the popular DBMS, which is strong
and fastest. It has full features of an RDBMS and strong supporting from the
developer and user communities. The management and development
applications using DB2 to study and learn about DB2 Database Management
System, then apply this knowledge to build real application. One specific
application is using DB2 for building website: "Scientific Conference
Managerment". The thesis will discovery about general DB2 and apply it for
making" Scientific Conference Managerment Website ".
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
2
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
CHƯƠNG I – TỔNG QUAN
ĐẶT VẤN ĐỀ
Hiện nay, hội thảo Khoa học là hoạt động rất phổ biến và có ý nghĩa rất lớn
đối với sự phát triển tri thức khoa học và đời sống xã hội. Vì vậy việc quản lí dữ
liệu và các khâu viết bài, phản biện, đánh giá…của một hội thảo khoa học là vấn
đề rất đáng để quan tâm và đầu tư thực hiện.
I.
Thông thường việc thực hiện một hội thảo khoa học hiện nay sẽ gặp nhiều
khó khăn và bất lợi như:
Các bài viết, bài phản biện, thông tin thành viên … gửi về hội thảo phải
được nhập liệu thủ công bằng tay để lưu trữ. Công việc này đòi hỏi chi
phí về thời gian, công sức và đôi khi cũng xảy ra các sai sót khi nhập
liệu
Những thay đổi, cập nhật, thông tin mới phải được gửi, thông báo đến
từng thành viên, Nếu số lượng thành viên nhiều và thông tin thường
xuyên thay đổi thì công việc này rất tốn thời gian và công sức.
Việc quảng bá, giới thiệu hội thảo cũng gặp nhiều hạn chế và cũng ít cơ
hội để tìm kiếm các nhà tài trợ cho hội thảo…
Vì vậy, xây dựng website “Quản lí tổ chức hội thảo Khoa học” là một biện
pháp hiệu quả để giải quyết các vấn đề trên. Việc xây dựng website sẽ có các thuận
lợi như sau:
Mọi cập nhật, thông báo mới của hội thảo sẽ được các thành viên tiếp
nhận dễ dàng và nhanh chóng thông qua giao diện website.
Việc quảng bá và tìm kiếm nhà tài trợ cũng dễ dàng hơn thông qua môi
trường web.
Các bài viết, phản biện, thông tin thành viên, thông tin hội thảo… sẽ
được nhập, lưu trữ trực tiếp xuống CSDL mà không cần phải qua trung
gian nhập liệu…
Để quản lí các hội thảo một cách thuận tiện và hợp lí, website cần sử dụng
một hệ quản trị CSDL để quản lí tất cả những dữ liệu có liên quan đến hội thảo.
Sử dụng DB2 vào việc xây dựng website “Quản lí tổ chức hội thảo Khoa
học” không những mang lại kiến thức mới về DB2, mà còn góp phần giải quyết
được vấn đề thực tế đang đặt ra.
LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
MySQL hiện là máy chủ cơ sở dữ liệu phổ biến nhất được sử dụng với
ngôn ngữ lập trình PHP để xây dựng các ứng dụng web động.
II.
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
3
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
HIện nay, cũng đã có nhiều website quản lý Hội thảo khoa học được xây
dựng và hoạt động tốt dựa trên sự hỗ trợ của hệ quản trị CSDL MySQL.
Nhìn chung các website cũng đã đáp ứng được các yêu cầu và góp phần vào
sự thành công của các hội thảo. Tuy nhiên, mỗi website chỉ gắn liền với một hội
thảo nhất định, nội dung website chỉ mang tính nhất thời và cố định với một hội
thảo. Sau một kì hội thảo thì website gần như ngừng hoạt động trong thời gian dài,
ví dụ: />DB2 là một cơ sở dữ liệu phổ biến khác được PHP hỗ trợ đầy đủ và cung
cấp các lợi thế hấp dẫn không kém MySQL. Như:
Tài liệu, kinh nghiệm, và sự hỗ trợ của DB2 rất phong phú
Công nghệ Pure (lưu trữ XML nguyên gốc)
An toàn cao
Chi phí cấp giấy phép thấp.
Do đó, việc ứng dụng DB2 vào phát triển website Quản lí tổ chức hội thảo
khoa học là một hướng phát triển mới, đầy triển vọng.
Mục tiêu của luận văn là ứng dụng DB2 vào xây dựng website “Quản lí tổ
chức hội thảo khoa học” và phát triển website hoàn thiện hơn, khắc phục đươc
những hạn chế của các website đã nêu trên.
III.
PHẠM VI
III.1
Phạm vi đề tài
Xây dựng website “Quản lí Tổ chức hội thảo khoa học” phục vụ cho công
tác quản lí hội thảo khoa học trong khuôn vi của trường Đại học Cần Thơ.
Tham khảo và tìm hiểu cách thức, quy trình tổ chức hội thảo khoa học từ
các website Hội thảo khoa học như: />, cũng
như các hiểu biết có được từ các hội thảo thực tế mà trường Đại học Cần Thơ đã tổ
chức.
Website chạy trên nền localhost, với sự hỗ trợ của máy chủ web apache và
máy chủ CSDL DB2. Bao gồm 2 module tương ứng với 2 nhóm người dùng chính
là: thành viên và quản trị.
III.2
Hướng giải quyết vấn đề
Về cơ sở lí thuyết
Vận dụng các lí thuyết liên quan đến phân tích thiết kế hệ thống
để xây dựng mô hình thực thể kết hợp, mô hình luận lí, lưu đồ dòng dữ
liệu.
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
4
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
Tìm hiểu các lí thuyết tổng quan và những nội dung liên quan đến
việc quản trị và phát triển ứng dụng bằng DB2 .
Các kiến thức về lập trình web và các ngôn ngữ các lập trình như
HTML, PHP, Javscript…
Về chức năng
Quản trị:
Thêm mới và cập nhật: hội thảo, đơn vị tài trợ, đơn vị
tham dự, tin tức.
Phân công phản biện.
Xét duyệt bài viết.
Thành viên:
Viết bài, cập nhật bài viết.
Phản biện, cập nhật phản biện.
Tìm kiếm bài viết.
Cập nhật thông tin cá nhân.
Góp ý.
Về kĩ thuật:
Đảm bảo tính chính xác, kiểm tra toàn vẹn dữ liệu, kiểm tra lỗi
phát sinh do người dùng, đảm bảo an toàn, bảo mật.
Giao diên website thân thiện, trực quan và đầy đủ thông tin.
Thời gian thưc thi và xử lí đảm bảo yêu cầu (không quá 3s).
Sử dụng HQTCSDL DB2 trên nền hệ điều hành Window.
Cài đặt website thực thi với máy chủ web Apache chạy trên
localhost.
Sử dụng ngôn ngữ lập trình: HTML, PHP, Javascript, Jquery.
IV.
PHƯƠNG PHÁP THỰC HIỆN
Phân chia việc thưc hiện luận văn theo từng giai đoạn. Sắp xếp thời
gian, công việc cho từng giai đoạn cụ thể. Ở mỗi giai đoạn, kết hợp với sự
hướng dẫn của giáo viên, điều chỉnh và xem xét lại thời gian và kế hoạch phù
hợp với những giai đoạn đề ra. Nhìn chung quá trình thực hiện luận văn trải
qua các giai đoạn:
Tìm hiểu các lí thuyết tổng quan về DB2, đặc biệt là sử dụng
DB2 để phát triển ứng dụng với PHP.
Cài đặt và cấu hình để PHP làm việc với DB2.
Tìm hiểu các ứng dụng và tài liệu liên quan đến hệ thống đã được
xây dựng trước đó, tìm hiểu hiện trạng, yêu cầu mục tiêu đề tài.
Phân tích và thiết kế mô hình CSDL cho website.
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
5
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
Thiết kế website đảm bảo các yêu cầu đã đặt ra.
Kiểm thử và chỉnh sửa các lỗi.
Viết báo cáo đề tài.
Đóng gói và cài đặt chương trình.
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
6
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
CHƯƠNG II – CƠ SỞ LÝ THUYẾT
HTML
HTML (HyperText Markup Language, hay là "Ngôn ngữ Đánh dấu Siêu
văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với
các mẩu thông tin được trình bày trên World Wide Web. HTML được định nghĩa
như là một ứng dụng đơn giản của SGML (Standard Generalized Markup
Language) và được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức
tạp. HTML đã trở thành một chuẩn Internet do tổ chức World Wide Web
Consortium (W3C) duy trì. Phiên bản chính thức mới nhất của HTML là HTML
4.01 (1999). Sau đó, các nhà phát triển đã thay thế nó bằng XHTML. Hiện nay,
HTML đang được phát triển tiếp với phiên bản HTML5 hứa hẹn mang lại diện
mạo mới cho Web.
I.
Bằng cách dùng HTML động hoặc Ajax, lập trình viên có thể được tạo ra và
xử lý bởi số lượng lớn các công cụ, từ một chương trình soạn thảo văn bản đơn
giản – có thể gõ vào ngay từ những dòng đầu tiên – cho đến những công cụ xuất
bản WYSIWYG ( What You See Is What You Get) phức tạp.
HTML không phải là ngôn ngữ lập trình, nó là ngôn ngữ trình bày.
CSS
Trong tin học, các tập tin định kiểu theo tầng – Cascading Style Sheets
(CSS) – được dùng để miêu tả cách trình bày các tài liệu viết bằng ngôn ngữ
HTML và XHTML. Ngoài ra ngôn ngữ định kiểu theo tầng cũng có thể dùng cho
XML (eXtensible Markup Language), SVG ( Scalable Vector Graphics), XUL. Các
đặc điểm kỹ thuật của CSS được duy trì bởi World Wide Web Consortium (W3C).
Thay vì đặt các thẻ qui định kiểu dáng cho văn bản HTML (hoặc XHTML) ngay
trong nội dung của nó, bạn nên sử dụng CSS.
II.
Tác dụng của CSS:
Hạn chế tối thiểu việc làm rối mã HTML của trang Web bằng các thẻ
quy định kiểu dáng (chữ đậm, chữ in nghiêng, chữ có gạch chân, chữ
màu), khiến mã nguồn của trang Web được gọn gàng hơn, tách nội dung
của trang Web và định dạng hiển thị, dễ dàng cho việc cập nhật nội
dung.
Tạo ra các kiểu dáng có thể áp dụng cho nhiều trang Web, giúp tránh
phải lặp lại việc định dạng cho các trang Web giống nhau.
PHP
PHP (PHP: Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay
một loại mã lệnh chủ yếu được dùng để phát triển cácứng dụng viết cho máy chủ,
mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ
dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ
nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm
III.
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
7
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành
một ngôn ngữ lập trình web phổ biến thế giới.
JAVASCRIPT
JavaScript là một ngôn ngữ lập trình kịch bản dựa trên đối tượng được phát
triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng rãi cho các trang
web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm
sẵn trong các ứng dụng. Nó vốn được phát triển bởi Brendan Eich tại Hãng truyền
thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và
cuối cùng thành JavaScript. Giống Java, JavaScript có cú pháp tương tự C, nhưng
nó gần với Self hơn Java. .js là phần mở rộng thường được dùng cho tập tin mã
nguồn JavaScript.
IV.
AJAX
AJAX (Asynchronous JavaScript and XML - nghĩa là "JavaScript và XML
không đồng bộ") là một nhóm các công nghệ phát triển web được sử dụng để tạo
các ứng dụng web động hay các ứng dụng giàu tính Internet (rich Internet
application). Từ Ajax được ông Jesse James Garrett đưa ra và dùng lần đầu tiên
vào tháng 2 nãm 2005 để chỉ kỹ thuật này, mặc dù các hỗ trợ cho Ajax đã có trên
các chương trình duyệt từ 10 nãm trước. Ajax là một kỹ thuật phát triển web có
tính tương tác cao bằng cách kết hợp các ngôn ngữ.
V.
Ưu điểm
Trong nhiều trường hợp, các trang web chứa rất nhiều nội dung
thông thường trong trang. Nếu sử dụng các phương pháp truyền
thống, những nội dụng đó sẽ phải nạp lại toàn bộ với từng yêu cầu.
Tuy nhiên, nếu sử dụng Ajax, một ứng dụng web có thể chỉ yêu cầu
cho các nội dung cần thiết phải cập nhật, do đó giảm lượng lớn băng
thông và thời gian nạp trang.
Việc dùng các yêu cầu không đồng bộ (asynchronous request) cho
phép giao diện người dùng của ứng dụng hiển thị trên trình duyệt
giúp người dùng trải nghiệm sự tương tác cao, với nhiều phần riêng
lẻ.
Việc sử dụng Ajax có thể làm giảm các kết nối đến server, do các mã
kịch bản (script) và các style sheet chỉ phải yêu cầu một lần.
Khuyết điểm
Các trang web được tạo động không được ghi vào bộ lưu lịch sử lướt
web của trình duyệt, do đó nút "back" (quay lui) của trình duyệt sẽ
mất tác dụng quay lại trang thái trước đó của trang sử dụng Ajax,
thay vào đó sẽ quay lại trang web trước đó mà người dùng ghé thăm.
Để khắc phục có thể dùng các IFrame không hiển thị để gây ra sự
thay đổi trong lịch sử trình duyệt và thay đổi phần neo của URL
(bằng mã a #) khi chạy Ajax và theo dõi những sự thay đổi của nó.
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
8
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
Việc cập nhật các trang web động cũng gây khó khăn cho người
dùng trong việc bookmark (đánh dấu địa chỉ yêu thích) một trạng
thái nào đó của ứng dụng. Cũng có những cách khắc phục cho vấn đề
này, một số trong đó sử dụng mã xác định đoạn (fragment identifier)
URL (phần URL ở sau dấu '#') để lưu vết, và cho phép người dùng
đánh dấu và quay lại một trạng thái nào đó của ứng dụng.
Do hầu hết các web crawler không thực thi mã JavaScript, các ứng
dụng web sẽ cung cấp một phương thức thay thế để truy cập nội
dung thông thường được truy cập bằng Ajax, để cho phép các máy
tìm kiếm lập chỉ mục chúng.
Bất kỳ người dùng nào có trình duyệt không hỗ trợ Ajax hay
JavaScript, hoặc đơn giản là đã bị vô hiệu hóa JavaScript, sẽ đương
nhiên không thể sử dụng Ajax. Tương tự, các thiết bị như điện thoại
di động, PDA, và thiết bị đọc màn hình (screen reader) có thể không
hỗ trợ JavaScript hay đối tượng XMLHttp được yêu cầu. Ngoài ra,
các thiết bị đọc màn hình nếu có thể sử dụng Ajax đi nữa cũng vẫn
có thể không đọc chính xác các nội dung động.
Chế độ same origin policy (chế độ gốc đơn điệu) có thể không cho
phép sử dụng Ajax thông qua các tên miền, mặc dù W3C đã có một
đồ án sơ thảo để cho phép điều này.
Việc thiếu các chuẩn cơ bản của Ajax đồng nghĩa với việc không có
nhiều sự chọn lựa thực tiễn tốt nhất để kiểm tra các ứng dụng Ajax.
Các công cụ kiểm thử cho Ajax thường không hiểu các mô hình sự
kiện, mô hình dữ liệu và giao thức của Ajax.
Mở ra một cách thức khác cho việc tấn công của các đoạn mã độc
mà những nhà phát triển web có thể không kiểm thử hết được.
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU DB2
VI.
VI.1
Tổng quan và cài đặt
VI.1.1
Tổng quan
VI.1.1.1 DB2 Express – C là gì ?
Một sản phẩm dòng DB2 của IBM
Ra đời 6/1983, chạy trên máy chủ (Mainframe) với z/OS.
Khoảng giữa những năm 1990 bắt đầu có DB2 chạy trên các máy
Desktop.
Hiện nay có DB2 chạy trên z/OS (mainframe) , trên iSeries (AS400OS400), trên LUV (Linux, Unix, Windows).
DB2 Express – C là ấn bản miễn phí, không giới hạn, dễ sử dụng (C:
Community).
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
9
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
Nhà phát triển phần mền cơ sở dữ liệu khách – chủ.
ISVs (Independent software vendor) – nhà cung cấp phần mềm độc lập,
cho thuê phần cứng, cung cấp giải pháp.
Công ty vừa và nhỏ.
Nghiên cứu, học tập.
Đầy đủ tính năng trên nền hệ điều hành Linux, Unix, Windows.
Chạy được trên cả nền tảng 32bit hoặc 64bit.
Bao gồm cả pureXML.
Đặc điểm khi sữ dụng DB2 Express – C
Tự do phát triển.
Tự do triển khai.
Tự do phân phối.
Không giới hạn.
Máy chủ DB2
Hình 1. Máy chủ db2
Hình 1Máy chủ DB2
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
10
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
Máy khách DB2
Hình 2 Máy khách DB2
Ngôn ngữ phát triển
Ruby trên Rails, C/C++ (ODBC và SQL nhúng), JDBC và SQLJ,
COBOL, Borland, Python, PHP, Perl, Ngôn ngữ .NET, OLE – DB,
ADO, Dịch vụ Web (Web Service), SQL, Microsoft Office : Excel,
Access, Word.
Phiên bản (version) và ấn bản (edition)
Phiên bản là bản phát hành được bổ sung tính năng mới và sửa lỗi.
Ấn bản là những gói sản phẩm với những chức năng khác nhau.
Hổ trợ kỹ thuật
Bản quyền 12 tháng.
Hỗ trợ kỹ thuật từ cộng đồng.
Một số phần mền miễn phí liên quan
Bộ công cụ phát triển IBM Data Studio
Máy chủ nhúng DB2 Embedded Application Server.
Mở rộng tìm kiếm DB2 Net Search Extender.
Hổ trợ phát triển ứng dụng web.
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
11
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
VI.1.1.2
Các tính năng liên quan và các sản phẩm
Chức năng của DB2 Express – C (miễn phí)
Nhân của DB2
Data Studio
PureXML
GB bộ nhớ và 2 bộ xử lý
Linux, Windows và Solaris (x86)
Chức năng DB2 có phí
Hình 3. Các chức năng trong từng phiên bản
VI.1.2
Cài đặt
VI.1.2.1
Cài đặt DB2 Express – C
Điều kiện cài đặt
Hệ điều hành Linux, Solaris, Windows (2000, 2003, XP, Vista, 7, 8).
Vi xử lý 32bit, 64bit, PowerPC (Linux).
2GB RAM.
Quyền cài đặt trên hệ điều hành (Root trên Linux, nhóm quản trị hoặc
có quyền cài đặt trên Windows).
Hướng dẫn cài đặt từng bước
Windows : chạy SETUP.EXE trong EXP
Linux: chạy db2setup trong EXP.
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
12
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
Hình 4. Click : Install New
Hình 5. Click : Next
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
13
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
Hình 6. Chọn: I accept both the IBM and the non-IBM terms -> click: Next
Hình 7. Mặc định : Typical -> click: Next
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
14
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
Hình 8. Click: Next
Hình 9. Chọn đường dẫn cài đặt -> Click: Next
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
15
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
Hình 10. Điền tài khoản và mật khẩu; click: Next sau đó tiến hành cài đặt
VI.1.1.2
Môi trường của DB2
Các thể hiện (instances)
Hình 11. Thể hiện (instance)
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
16
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền
Đề tài: Quản trị và Phát triển ứng dụng bằng DB2 (Áp dụng vào bài toán quản lý Tổ chức
Hội thảo khoa học).
Tạo một thể hiện : db2icrt <tên thể hiện>
Chuyển đổi giữa các Instance.
set db2instance = <tên thể hiện>
Linux: chuyển người sử dụng bằng su
Hiển thị danh sách các instance trên Server : db2ilist
Hiển thị instance hiện tại : db2 get instance
Tóm tắt :
db2start
Khởi động thể hiện hiện tại
db2stop
Dừng thể hiện hiện tại
db2icrt
Tạo một thể hiển mới
db2idrop
Loại bỏ một thể hiển
db2ilist
Liệt kê các thể hiện đang có trong hệ thống
db2 get instance
Liệt kê các thể hiện đang hoạt động
Cơ sở dử liệu
Tạo cơ sở dử liệu trong một instance: db2 create database mydb1
Hiển thị danh sách các cơ sở dữ liệu trong instance: db2 list db
directory
Một số lệnh làm việc với cơ sở dữ liệu:
db2 create database : Tạo cơ sở dử liệu mới
db2 drop database : Xóa cơ sở dữ liệu
db2 connect to <database name> : Kết nối đến CSDL
Tạo cơ sở dữ liệu trên instance khác:
db2 list db directory
set db2instance=myinst
db2 create database mydb1
set db2instance=db2
Hình 12. Tạo CSDL trong 1 thể hiện khác
GVHD: TS. Nguyễn Thái Nghe
KS. Nguyễn Minh Khiêm
17
SVTH: Tăng Bình Tánh
Huỳnh Phú Điền