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 Luận văn được bảo vệ
Trang 1BỘ 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)
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: http://www.cit.ctu.edu.vn/
Trang 2
F
LỜI CẢM Ơ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!
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Cần Thơ, Ngày … Tháng ….Năm 2013
Trang 4NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Cần Thơ, Ngày … Tháng ….Năm 2013
Trang 5MỤ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
Trang 6VI.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
Trang 7VI.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
Trang 8II.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
Trang 9KÍ HIỆU VÀ VIẾT TẮT
Trang 10TÓM TẮT
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 "
Trang 11CHƯƠNG I – TỔNG QUAN
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
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 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
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
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:
nhận dễ dàng và nhanh chóng thông qua giao diện website
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
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
Trang 12HIệ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,
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ư:
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ừ
http://www.ioit.ac.vn, http://ictacs.hcmus.edu.vn/, http://fair.conf.vn/2013, 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ị
Về cơ sở lí thuyết
để 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
Trang 13 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
Phân công phản biện
Xét duyệt bài viết
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:
phát sinh do người dùng, đảm bảo an toàn, bảo mật
localhost
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
xây dựng trước đó, tìm hiểu hiện trạng, yêu cầu mục tiêu đề tài
Trang 14 Thiết kế website đảm bảo các yêu cầu đã đặt ra
Trang 15CHƯƠNG II – CƠ SỞ LÝ THUYẾT
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
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
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
đặ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
Tác dụng của CSS:
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
Trang 16tươ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 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
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ữ
Ưu điểm
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
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ẻ
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
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ó
Trang 17 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
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
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
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
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à những nhà phát triển web có thể không kiểm thử hết được
Một sản phẩm dòng DB2 của IBM
Desktop
(AS400-OS400), 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)
Trang 18 Nhà phát triển phần mền cơ sở dữ liệu khách – chủ
cho thuê phần cứng, cung cấp giải pháp
Trang 19Máy khách DB2
Ngôn ngữ phát triển
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)
Hổ trợ kỹ thuật
Một số phần mền miễn phí liên quan
Hình 2 Máy khách DB2
Trang 20VI.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í)
VI.1.2.1 Cài đặt DB2 Express – C
Điều kiện cài đặt
có quyền cài đặt trên Windows)
Hướng dẫn cài đặt từng bước
Hình 3 Các chức năng trong từng phiên bản
Trang 21Hình 4 Click : Install New
Hình 5 Click : Next
Trang 22Hì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
Trang 23Hình 8 Click: Next
Hình 9 Chọn đường dẫn cài đặt -> Click: Next
Trang 24VI.1.1.2 Môi trường của DB2
Các thể hiện (instances)
Hình 10 Điền tài khoản và mật khẩu; click: Next sau đó tiến hành cài đặt
Hình 11 Thể hiện (instance)
Trang 25 Tạo một thể hiện : db2icrt <tên thể hiện>
set db2instance = <tên thể hiện>
Linux: chuyển người sử dụng bằng su
Tóm tắt :
Cơ sở dử liệu
directory
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
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
Trang 26Không gian bảng trong cơ sở dữ liệu
tác (như sắp xếp)
không có không gian riêng để lưu trữ nó
Cấu hình DB2
db2set –all: Liệt kê tất cả các biến đăng ký lịch DB2 hiện tại
được thiết lập
db2set –lr: Liệt kê tất cả các biến đăng ký lý lịch DB2
db2set <para> = <val>: Thiết lập giá trị cho một tham số
Hình 13 Không gian bảng trong CSDL
Trang 27 Một số biến đăng ký lý lịch DB2 thường dùng:
DB2COMM : Chỉ định giao thức được khởi động khi công cụ
quản trị CSDL được khởi động
DB2_EXTSECURITY : Ngăn chặn những người chưa được định danh kết nối với DB2 (Windows)
DB2_COPY_NAME : Lưu trữ tên của bản sao DB2 hiện đang
sử dụng
Máy chủ quản trị DB2 (DAS)
trị máy chủ DB2 qua giao diện đồ họa
db2admin create / db2admin drop
db2admin start / db2admin stop
Hình 14 DAS
Trang 28VI.1.1.3 Công cụ DB2 (IBM Data Studio)
Là công cụ chính dùng để quản trị và phát triển CSDL với DB2
Hoàn toàn miễn phí dựa trên Eclipse
Có thể chạy trên cả Linux và Window Làm việc trên hai khung nhìn :
thủ tục (store procedures), UDFs, và các dịch vụ web
CSDL
Làm việc trên các máy chủ dữ liệu khác như Informix
Hình 15 IBM Data Studio
Trang 29VI.2 Quản trị cơ sở dữ liệu
Quy ước kí hiệu:
Chữ nhật: Biểu diễn tiến trình (process)
Eslip: Biểu diễn luồng xử lý
Hình 16 Mô hình xử lý DB2
Trang 30Những tiến trinh thường gặp
Bộ phận giám sát db2 Đây là nguồn gốc của bộ máy xử
lý chính, dfb2sysc Nó thu hồi tài nguyên nếu tiến trình db2sysc bị chấm dứt một cách thất thường
DB2FMP
Các tiến trình xữ lý khác chạy các mã lệnh (gồm các thủ tục lưu trữ hàm do người dùng tự định nghĩa) trên máy chủ nằm ngoài tường lửa
Trang 31VI.2.1.2 Mô hình bộ nhớ
Bộ nhớ được chia thành các mức: mức thể hiện, mức cơ sở dữ liệu, mức ứng dụng và mức tác nhân
được khởi tạo
CSDL
tác nhân db2
Hình 17 Mô hình bộ nhớ DB2
Trang 32VI.2.1.3 Mô hình lưu trữ DB2
Các trang và các phần mở rộng (pages and extents)
đệm và không gian bảng
Vùng đệm (Buffer pool)
vào bộ đệm, để sẵn sàng sử dụng
Không gian bảng – Table spaces
tượng nằm giữa các bảng logic và vùng lưu trữ vật lý của hệ thống (bao gồm vùng nhớ đệm và đĩa)
khác )
Kích thước tương ứng với kích thước bộ đệm
Tên vùng đệm tương ứng với không gian bảng
Kích thước phạm vi: số trang được ghi vào một “container” trước khi ghi lượt tiếp theo
Kích thước nạp trước : số trang dữ liệu sẽ được đọc trước khi cần nâng cao hiệu năng thực hiện
Thông thường : dùng cho bảng người dùng (user tables)
Lớn: dùng lưu trữ dữ liệu có kích thước lớn (LOB data) hoặc XML
Tạm thời:
Không gian bảng tạm hệ thống
Không gian bảng tạm người dùng
Quản lý bởi hệ thống (System Managed Storage - SMS)
Quản lý bởi CSDL (Database Managed Storage)
Trang 33 Quản lý tự động
Lưu trữ tự động theo mặc định
CREATE DATABASE DB1
Lưu trữ tự động chỉ định tường minh
CREATE DATABASE DB1 AUTOMATIC STOREGE YES
Lưu trữ tự động theo mặc định, chỉ ra đường dẫn
CREATE DATABASE DB1 ON /data/path1, /data/path2
Lưu trữ tự động không được phép
CREATE DATABASE DB1 AUTOMATIC STOREGE NO
Lưu trữ tự động cho KGB được cho phép theo mặc định
CREATE TEMPORARY TABLESPACE TEMPTS
Lưu trữ tự động KGB được cho phép chỉ định tường minh
AUTOMATIC STOGRAGE
Lưu trữ tự động không tường minh
CREATE TABLESPACE TS1 INITIALSIZE 500 K INCREASESIZE 100 K MAXSIZE 100 M
Hình 18 Dữ liệu lưu trữ trong không gian bảng
Trang 34VI.2.2 Kết nối máy khách DB2
VI.2.2.2 Yêu cầu cài tại máy chủ
Máy chủ cần thiết lập 2 tham số liên quan của instance cho phép kết nối:
instance chứa CSDL cho phép kết nối Thiết lập qua công cụ trợ giúp cấu hình CA (Configuration Assistant):
db2comm -> db2 Registry Svcename -> DBM Configuration (Communication)
Thiết lập qua trung tâm điều khiển CC (Control Center):
db2comm -> chọn Instance\Set up communication…
svcename -> Chọn Instance\Configure Parameters …
Thiết lập bằng dòng lệnh:
db2comm -> db2set Db2set db2comm=TCPIP svcename -> update dbm cfg using svcename <port # or service name>
update dbm cfg using svcename 50001
Những thông tin cần thiết để cài đặt kết nối từ máy khách sang máy chủ:
Trang 35VI.2.3 Làm việc với các đối tượng dữ liệu
VI.2.3.1 Lược đồ (schemas)
Lược đồ là một không gian tên (name space) cho tập hợp các đối tượng trong CSDL
Được sử dụng để:
mối quan hệ với đối tượng nào đó
Tên của tất cả các đối tượng CSDL, theo tiêu chuẩn đều có 2 phần:
<tên sơ đồ>.<tên đối tượng>
Khi kết nối đến CSDL mà không chỉ rõ schema, DB2 sẽ chọn định danh (ID) của người dùng hiện tại đang kết nối đến CSDL làm tên schema
VI.2.3.2 Bảng (tables)
Là tập hợp dữ liệu có mối quan hệ với nhau một cách hợp lý theo cột và hàng
Bảng danh sách hệ thống:
SYSIBM: Chứa các bảng cơ sở, tối ưu hóa sử dụng cho DB2
Hình 19 Ví dụ: Tạo một bảng (table)
Trang 36 SYSCAT: Các khung nhìn (view) cơ sở dựa trên các bảng SYSIBM, tối ưu dễ sử dụng
SYSSTAT: Các số liệu thống kê trong CSDL
ứng dụng và tự động xóa khi ứng dụng kết thúc
không ghi nhật ký)
Là cột các con số được tạo ra tự động, có giá trị duy nhất
Chỉ tối đa một cột định danh trên một bảng
Tạo giá trị trên cột định danh có hai cách:
Luôn được sinh ra: Các giá trị được sinh ra bởi DB2, ứng dụng không được sinh ra giá trị
Sinh ra mặc định: giá trị được cung cấp bởi ứng dụng, hoặc nếu không thì DB2 sinh ra Không đảm bảo tính duy nhất dữ liệu
VI.2.3.3 Khung nhìn (views)
Là sự thể hiện dữ liệu được lưu trữ trong bảng
Dữ liệu sẽ tồn tại khi được gọi tới
Thông tin về khung nhìn được chứa trong: SYSCAT.VIEWS, SYSCAT.VIEWDEP, SYSCAT.TABLES
CREATE TABLE subscriber (subscriberID INTEGER GENERATED ALWAYS AS
INDENTITY (START WITH 100 INCREMENT
BY 100),
CONNECT TO MYDB1 CREATE VIEW MYVIEW1
AS SELECT ARTNO, NAME, CLASSFICATION FROM ARTISTS
Trang 37VI.2.3.4 Chỉ mục (indexs)
Là tập hợp các khóa đước sắp xếp theo mục ở các dòng trong bảng Đặc điểm:
VI.2.3.5 Toàn vẹn tham chiếu dử liệu (Referential Integrity)
Cho phép CSDL quản lý được mối quen hệ giữa các bảng
VI.2.4.1 Tổng quan
bản, có thể mở xem bằng bất ký trình soạn thảo nào
sang bảng tính (Exel, Lotus123)
gồm dữ liệu mà còn cả ngôn ngữ DDL (Data Definition Language) Đảm bảo được tính đầy đủ của dữ liệu
VI.2.4.2 Export
EXPORT TO employee.ixf OF EXF
SELECT * FROM employee FETCH FIRST 10 ROWS ONLY
Hình 20 Tổng quan di chuyển dữ liệu
Trang 38VI.2.4.3 Import
Chèn dữ liệu từ bảng (tương đương câu lệnh SQL insert)
Kích hoạt các bẩy (trigger), các ràng buộc có hiệu lực, sử dụng BUFFERPOOL
Chèn dữ liệu từ bảng theo cách trực tiếp
Tốc độ thực hiện nhanh, không sữ dụng vùng đệm, các bẩy khôn được kích hoạt, ràng buộc không có hiệu lực
VI.2.4.5 Db2move
Có thể làm việc với cả một CSDL
Chỉ làm việc với tệp IXF
LOAD FROM employee.ixf of ixf
REPLACE INTO employee_copy SET INTEGRITY FOR employee_copy
ALL EMMEDIATE UNCHECKED
Hình 21 db2look
Trang 39GVHD: TS Nguyễn Thái Nghe 31 SVTH: Tăng Bình Tánh
KS Nguyễn Minh Khiêm Huỳnh Phú Điền
Gồm có 2 phần:
tin tài khoản người dùng
thực có đủ quyền hạn thực hiện thao tác
Tham số AUTHENTICATION trong DBM CGF
SERVER (mặc định): Chứng thực diễn ra ở máy chủ
CLIENT: Chứng thực diễn ra ở máy khách
SERVER_ENCRYPT: Tương tự tham số SERVER nhưng tên của người
dùng và mạt khẩu đã được mã hóa
KERBEROS: Tiến trình định danh diễn ra cùng cơ chế bảo mật Kerberos SQL_AUTHENTICATION_DATAENC: Chứng thực và kết nối sữ dụng
mã hóa dữ liệu
SQL_AUTHENTICATION_DATAENC_CMP: Giống như trên, nhưng
sữ dụng mã hóa dữ liệu chỉ khi sắn có
GSSPLUGIN: Chứng thực dùng plugin bảo mật trên nền GSS API
Hình 22 Tổng quan về bảo mật trong DB2
Hình 23 Nơi diễn ra tiến trình chứng thực
Trang 40Hình 24 Những đặc quyền trong DB2