Tìm hiểu Hệ quản trị Cơ sở dữ liệu DB2

24 1.5K 10
Tìm hiểu Hệ quản trị Cơ sở dữ liệu DB2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG - - BÀI TIỂU LUẬN SỞ DỮ LIỆU NÂNG CAO Đề tài TÌM HIỂU HỆ QUẢN TRỊ SỞ DỮ LIỆU DB2 Giảng viên hướng dẫn: TS Đỗ Văn Chiểu Học viên: Nguyễn Đăng Hiệp Lớp: Mi02 Đơn vị công tác: Trường THPT Lê Ích Mộc – Thủy Nguyên – Hải Phòng Hải Phòng, NĂM 2017 MỞ ĐẦU Như biết sở liệu xây dựng theo mô hình phân cấp mô hình mạng xuất vào năm 1960 xem sở liệu hệ thứ Tiếp theo phát triển sở liệu quan hệ E.F Codd đề xuất vào năm 1970 xem sở liệu hệ thứ hai nhằm mục tiêu tổ chức liệu truy xuất lượng lớn liệu cho thuận lợi, an toàn đạt hiệu cao sở liệu quan hệ đáp ứng hầu hết nhu cầu tổ chức lưu trữ liệu cá nhân, quan, công ty vv Tuy nhiên, với phát triển nhanh chóng công nghệ truyền thông bùng nổ mạnh mẽ mạng Internet với xu toàn cầu hoá lĩnh vực, đặc biệt thương mại làm nảy sinh nhiều đối tượng liệu cấu trúc phức tạp như: văn bản, âm thanh, hình ảnh nên năm 1990 xuất thêm sở liệu multimedia khả hỗ trợ ứng dụng đa phương tiện, sở liệu phân tán, sở liệu suy diễn, sở liệu đồ thị, sở liệu ảnh, sở liệu thời gian, sở liệu không gian vv Bên cạnh công ty đầu lĩnh vực quản trị liệu IBM đưa kỹ thuật quản trị hiệu Một sản phẩm đáp ứng nhu cầu cao nhất, quản trị liệu tối quan trọng dành cho liệu lớn DB2 Và đến DB2 không dành cho danh nghiệp lớn, phù hợp với doanh nghiệp vừa nhỏ Sau thời gian học tập môn sở liệu nâng cao với hướng dẫn nhiệt tình thầy TS Đỗ Văn Chiểu, em tập trung tìm hiểu Hệ quản trị sở liệu DB2, đặc biệt phiên DB2 Express-C: Tổng quan phần mềm, công cụ, môi trường làm việc… Do thời gian trình độ nhiều hạn chế chắn tiểu luận nhiều chỗ sai sót mong thầy góp ý dẫn thêm Em xin chân thành cảm ơn NỘI DUNG Phần 1: Giới thiệu DB2 phiên DB2 Express-C Phần 2: Các công cụ DB2 Phần 3: Môi truờng DB2 Phần 4: Kết nối máy khách DB2 Phần 5: Bảo mật sở liệu DB2 Phần 6: Các phương pháp xử lý truy cập đồng thời DB2 quản lý CSDL phân tán Phần 7: SQL/XML XQUERY Phần Giới thiệu DB2 phiên DB2 Express-C 1.1 DB2 - DB2 hệ quản trị sở liệu (HQTCSDL) phân tán IBM, quản lý xử lý sở liệu (CSDL) quan hệ CSDL nguyên XML - DB2 giải tốt vấn đề phân tán liệu, bảo mật điều khiển tương tranh tránh được: + Mất mát liệu + Không truy cập + Không thể cập nhật + Tắc nghẽn (nghẽn nút chai) ……… - DB2 gồm phiên Server, Client 1.2 DB2 Express-C - DB2 Express-C ấn DB2 dùng miễn phí, không hạn chế dễ sử dụng - Nếu phiên trước IBM biết đến hệ quản trị CSDL cho doanh nghiệp lớn phiên gần DB2 Express-C, công nghệ tiếng DB2 sẵn sàng cho doanh nghiệp vừa nhỏ - không bắt buộc phí - DB2 Express-C tính ấn DB2 thương mại Linux, UNIX Windows DB2 Express-C chạy hệ thống 32-bit 64-bit Linux hay Windows 1.3 Các ngôn ngữ chuẩn chuẩn sử dụng với DB2 là: - C/C++(ODBC SQL nhúng) - JDBC SQLJ - COBOL - Borland - PHP - Perl - Ngôn ngữ NET - OLE-DB - ADO - Dịch vụ Web (Web Service) - SQL - Microsoft Office: Excel, Access, Word 1.4 Ngoài db2 express-C DB2 số ấn khác nhiều tính ưu việt khác(có phí) như: - DB2 Enterprise(hỗ trợ phân tán CSDL, tối ưu hóa lưu trữ, quảnliệu đo đạc….) - DB2 Workgroup and Express(tối ưu hiệu năngtruy vấn song song, liên kết hợp liệu ) Phần Các công cụ DB2 2.1 Cài đặt DB2 express-C - Truy cập vào trang http://www.ibm.com/db2/express tải cài máy - Tiến hành cài đặt 2.2 Tổng thể DB2 Hình 2.1: Môi trường DB2 Khi khởi động 2.2.1 Trung tâm điều khiển (Control Center) Trung tâm điều khiển công cụ quản lý tập trung cho phép: - Xem xét hệ thống bạn, cài đặt DB2, CSDL đối tượng CSDL - Tạo, sửa quản lý CSDL đối tượng CSDL - Khởi động công cụ đồ họa khác DB2 2.2.2 Các chế độ làm việc trung tâm điều khiển  Basic: cung cấp chức nồng cốt DB2  Advanced: thể nhiều lựa chọn chức  Custom: cho phép tùy biến hình thức thể chức năng, lựa chọn đối tượng theo mong muốn người dùng 2.2.3 Cửa sổ nhập lệnh DB2 Sử dụng cửa sổ nhập lệnh DB2 (Command Editor), bạn thực thi lệnh DB2, SQL câu lệnh XQuery, phân tích kế hoạch thực câu lệnh, xem hay sửa kết câu truy vấn Ví dụ: Để thêm kết nối tới CSDL nhấn vào nút Add Một hộp thoại sau xuất 2.2.4.Trình trợ giúp SQL Nếu ta không quen thuộc với ngôn ngữ SQL thích sử dụng trình hỗ trợ hướng dẫn tự động sinh mã SQL, lúc trình trợ giúp “SQL Assist Wizard” công cụ sẵn từ trình soạn thảo dòng câu lệnh (Command Editor) giúp bạn giải 2.2.5 Nút “Show SQL” Cho phép xem lại câu lệnh thời câu lệnh SQL thực thi Cho phép dùng lại lệnh dòng lệnh tạo trước 2.2.6 Trung tâm tác vụ (TASK CENTER) Công cụ Trung tâm tác vụ với giao diện đồ họa người dùng cho phép bạn tạo tác vụ, tập hợp hoạt động chạy lệnh DB2, lệnh hệ điều hành, hay kịch Các hành động phía sau thực tác vụ trước thất bại hay thành công 2.2.7 Nhật ký Công cụ Nhật ký giao diện đồ họa DB2 cung cấp cho người quản trị CSDL nhật ký hoạt động biểu mẫu trực tuyến (online form) Phần Môi truờng DB2 Môi trường DB2 đối tượng như: Thể hiện, sở liệu, file cấu hình Và chúng minh họa elip màu đỏ hình sau: 3.1 Thể hiện(instance) - Ta tạo nhiều Thể máy chủ liệu dùng chúng với nhiều mục đích khác - Các lệnh để thao tác Instance Ví dụ để tạo thể tên myinst ta dùng lệnh: db2icrt myinst - Cấu tạo thể hiện: gồm nhiều CSDL 3.2 sở liệu(Database) Mỗi CSDL có: +SYSCATSPACE:chứa bảng danh mục(catalog) thông tin hệ thống không xóa, sửa đổi +TEMPSPACE1:không gian để thể sử dụng xếp liệu 10 +USERSPACE1:không gian lưu trữ bảng CSDL ta không tạo không gian bảng riêng +IBMDEFAULTBP: vùng đệm liệu +LOG: tệp nhật ký 3.3 Các file cấu hình a) Tệp cấu hình quản trị sở liệu(dbm cfg) Bao gồm thao số ảnh hưởng tới thể tất CSDL Ví dụ cách thực thông qua trung tâm điều khiển: b) Tệp cấu hình sở liệu(db cfg): Bao gồm tham số tác động đến sở liệu thể thao tác lệnh trung tâm điều khiển Ví dụ: 11 Phần Kết nối máy khách DB2 Phần giúp ta cách đơn giản để kết nối từ máy khách DB2 đến máy chủ DB2 sử dụng giao thức TCP/IP Chú ý máy chủ DB2 xem thành phần máy khách, máy chủ DB2 hành vi máy khách kết nối đến máy chủ DB2 khác Khởi động công cụ trợ giúp cấu hình (Configuration Assistant) để cấu hình máy khách máy chủ sau: - Khởi động Configuration assistant: Start -> Programs -> IBM DB2 -> DB2COPY1 -> Setup Tools -> Configuration Assistant - Cấu hình máy chủ: +Thiết lập giá trị cho biến DB2COMM TCP/IP Configure ->DB2 Registry hình vẽ sau: 12 - Cấu hình máy chủ: +Thiết lập giá trị cho biến SVCENAME Configure -> DBM configuration hình vẽ sau: - Cấu hình máy khách: Ta cần biết thông tin như: +Tên máy IP máy chủ +Tên sở liệu, số hiệu cổng giao tiếp thể hiện, nơi cở sở liệu cài đặt +ID mật đăng nhập vào cở sở liệu Cách thực hiện: Trong hộp thoại Configuration Assistant chọn: Select ->Add Database Using Wizard (hộp thoại sau xuất hiện) Kết nối theo kịch tạo trước Kết nối theo tìm kiếm mạng -Tìm toàn mạng -Tìm theo khóa 13 Kết nối CSDL theo khai báo thủ công Phần Bảo mật sở liệu DB2 Tổng quan bảo mật DB2 (Xác nhận) (Sự cho phép) liên quan đến liên quan đến vấn vấn đề Định danh đề Quyền hạn 5.1 Định danh: - Là tiến trình kiểm tra tính hợp lệ thông tin đăng nhập người sử dụng - Tiến trình định danh thực thi chương trình bảo mật bên DB2 (điển hình hệ điều hành, phương thức định danh mạng đó) - Khi sử dụng tiến trình định danh hệ điều hành, tên người dùng (userid) mật mã chuyển tới sở liệu máy chủ(như phần câu lệnh kết nối) Sau đó, sở liệu máy chủ gọi tiến trình định danh hệ điều hành để kiểm tra tính hợp lệ người dùng mật mã Ta dùng tham số AUTHENCATION DBM CFG máy chủ DB2 để thiết lập chế độ định danh Bảng giá trị tham số AUTHENCATION 14 5.2 Quyền hạn: Bao gồm Quyền Đặc quyền, lưu trữ bảng hệ thống DB2 DB2 quản lý - Một quyền hành động xác định trước bao gồm nhiều đặc quyền - Một đặc quyền cho phép người dùng thi hành loại thao tác đơn dựa sở liệu là: CREATE, UPDATE, DELETE, INSERT, … đồ phân cấp quyền đặc quyền 15 Chức SYSADM Cập nhật DBMCFG Y SYSCTRL SYSMAINT SYSMON DBADM LOAD SYSMON DBADM LOAD Cấp phép hủy bỏ DBADM Y Thiết lập/thay đổi SYSMAINT Y Thiết lập/thay đổi SYSMON Y Buộc người dùng khỏi sở liệu Y Y Tạo/bỏ sở liệu Y Y Khôi phục thành sở liệu Y Y Cập nhật DBCFG Y Y Y Sao lưu sở liệu/không gian bảng Y Y Y Khôi phục thành sở liệu tồn Y Y Y SYSCTRL SYSMAINT Chức SYSADM Khôi phục tiến Y Y Y Bắt đầu/kết thúc thể Y Y Y Khôi phục không gian bảng Y Y Y Thực vết Y Y Y Lấy hình ảnh hình Y Y Y Truy vấn trạng thái không gian bảng Y Y Y Lược bớt tập tin nhật ký Y Y Y Quiesce không gian bảng Y Y Y Nạp bảng Y Y Y Y Y Y Thiết lập/gỡ bỏ trạng thái treo Y Y Tạo/hủy bỏ kiện hình Y Y 16 - Để cấp quyền SYSADM, SYSCTRL, SYSMAINT cho nhóm, tham số SYSADM_GROUP, SYSMAINT_GROUP DBM CFG phải gán cho nhóm quản trị hệ điều hành Ví dụ, cấp quyền SYSADM cho nhóm hệ điều hành ‘db2admns’, bạn dùng câu lệnh này: update dbm cfg using SYSADM_GROUP db2admns - Mỗi thể DB2 định nghĩa nhóm quyền riêng - Kiểm tra cấp quyền quyền Cách tốt để kiểm tra việc cấp quyền kiểm tra quyền thông qua trung tâm điều khiển Ví dụ mô tả cách cài đặt quyền lên bảng EMPLOYEE từ trung tâm điều khiển: Privileges 17 Phần Các phương pháp xử lý truy cập đồng thời DB2 quản lý CSDL phân tán Cách xử lý truy cập đồng thời DB2 liên quan đến khái niệm giao dịch, truy cập đồng thời khóa 6.1 Các giao dịch - Một giao dịch hay đơn vị công việc gồm hay nhiều dòng lệnh SQL mà thực cần phải coi đơn vị riêng lẻ - Nếu dòng lệnh giao dịch thất bại toàn giao dịch thất bại, dòng lệnh thi hành đến điểm thất bại quay lui (hồi xử), đưa liệu giá trị, trạng thái trước - Một giao dịch kết thúc với dòng lệnh COMMIT Ví dụ bạn muốn chuyển 100$ từ tài khoản tiết kiệm (Savings) bạn sang tài khoản séc (Checking) Việc phải đòi hỏi thực công việc này: - Trừ 100$ tài khoản tiết kiệm - Cộng 100$ vào tài khoản séc Nếu việc không xem xét đơn vị công việc– giao dịch, hình dung điều xảy lỗi (xảy ra) sau trừ tiền tài khoản tiết kiệm, không cộng tiền vào tài khoản séc Bạn 100$ 2.Truy cập đồng thời: Truy cập đồng thời ý nói nhiều người làm việc thời điểm sở liệu Ví dụ: 18 Để đảm bảo kết đúng, DB2 phải điều khiển truy cập đồng thời cách sử dụng Khóa ghi (dùng để ngăn chặn ứng dụng khác thao tác lên ghi ứng dụng kết thúc) Các vấn đề xảy điều khiển truy cập đồng thời: - Đọc với không cam kết - Đọc không lặp lại - Đọc thừa - Mất liệu cập nhật 4.Cách điều khiển truy cập đồng thời DB2: DB2 cho phép đặt mức lập cho: Phiên làm việc ứng dụng, kết Sự so sánh mức lập nối, câu lệnh - Các mức lập: -Đọc với không cam kết (UR) -Ổn định trỏ (CS: Cursor Stability) -Đọc ổn định (RS: Read Stability ) -Đọc lặp lại (RR) - Mức độ lập phát biểu với mệnh đề WITH {mức lập } Chẳng hạn như: SELECT … WITH {UR | CS | RS | RR } Một ứng dụng cần xác định “ số hàng bảng Ví dụ: SELECT COUNT(*) FROM TAB1 WITH UR - Hiệu suất quan trọng, nên việc chọn sử dụng mức độ lập phụ thuộc vào ứng dụng bạn 19 - Khóa leo thang: Mỗi khóa DB2 tạo sử dụng dung lượng nhớ Khi tối ưu cho tốt để khóa toàn bảng, thay khóa nhiều hàng, leo thang khóa xuất Hình bên minh họa cho vấn đề này: - hai tham số cấu hình sở liệu liên quan đến khóa leo thang: + LOCKIST–số lượng nhớ dự trữ để quản lí khóa cho ứng dụng nối Sự mặc định 50 lần trang 4K(200K) Windows + MAXLOCKS–phần trăm cực đại toàn danh sách khóa cho ứng dụng Mặc định 22% Bởi vậy, giá trị ngầm định sử dụng, khóa leo thang xuất ứng dụng đơn yêu cầu 44K tổng số nhớ khóa (200K * 22%= 44K) Nếu leo thang khóa xuất thường xuyên với thiết lập này, tăng giá trị LOCKIST MAXLOCKS Khóa leo thang không tốt cho hiệu lại giảm xung đột - Chờ khóa: + Khi hai nhiều ứng dụng cần thực phép toán đối tượng, số phải chờ để nhận khóa Theo mặc định ứng dụng đợi vô hạn + Thanh ghi CURENT LOCK TIMEOUT dùng để đặt thời gian chờ khóa cho kết nối Theo mặc định, ghi đặt giá trị LOCKTIMEOUT Sử dụng lệnh: SET LOCK TIMEOUT = WAITE n để thay đổi giá trị nó(thông thường giá trị n từ 30 đến 120 giây tốt) 20 Phần SQL/XML XQUERY lược XML: - XML viết tắt eXtensible Markup Language: ngôn ngữ nâng cấp mở rộng - Các tài nguyên XML lưu dạng tập tin văn bản, kho XML, hay sở liệu - loại CSDL XML là: + CSDL hỗ trợ XML: dùng CSDL quan hệ để lưu liệu XML Hiệu CSDL không cao + CSDL XML sử dụng mô hình phân cấp liệu XML để lưu trữ xử lý XML bên Khi sử dụng câu lệnh XPath hay Xquery, chế xử lý câu lệnh không cần chuyển sang SQL 7.2 XML DB2: - PureXML công nghệ cung cấp DB2 phiên hỗ trợ việc lưu trữ XML Bức tranh tổng quát DB2: lệnh DB2, SQL/XML XQuery - Hình bên phác họa cách thức lưu trữ liệu quan hệ liệu phân cấp(các tài liệu XML) DB2 phiên Trong hình định nghĩa bảng dept sau: CREATE TABLE dept (deptID char(8) ,…, deptdoc XML); 21 - Hình sau minh họa bốn cách truy xuất liệu DB2 phiên 9: a) Các tiện ích công nghệ Pure XML DB2: - Nếu lưu trữ liệu quan hệ XML với liệu quan hệ chuyển thành XML ngược lại, kết hợp SQL với XPath hay XQuery câu truy vấn - Ta giảm độ phức tạp mã - Ta nâng cao khả dùng liệu quan hệ, cách lưu trữ tài liệu XML cột bảng sử dụng kiểu liệu XML 22 b)Cách chèn tài liệu XML Việc chèn tài liệu XML vào CSDL DB2 thực câu lệnh INSERT SQL, hay công cụ IMPORT(thông qua chạy kịch bản) Vd: Chạy kịch table_creation.txt từ cửa sổ lệnh Command Window sau: db2 -tvf table_creation.txt (lưu ý kịch soạn trước chứa câu lệnh INSERT SQL, IMPORT để tạo CSDL ) c) Truy vấn liệu XML Trong DB2 - Sử dụng SQL với lệnh mở rộng cho XML (SQL/XNL) - Sử dụng XQuery Trong cách trên, db2 tuân theo chuẩn XML quốc tế - Truy vấn liệu XML với SQL/XML Sử dụng nhũng câu lệnh SQL túy cho phép bạn làm việc với dòng cột Một câu lệnh SQL làm việc với nguyên tài liệu XML; nhiên lại khả làm việc với phần tài liệu XML Trong trường hợp này, bạn cần sử dụng SQL với lệnh mở rộng cho XML( SQL/XML) Bảng bên mô tả số hàm SQL/XNL sẳn với chuân SQL 2006 Tên hàm Mô tả XMLPARSE Tách (phân tích) thuộc tính liệu nhị phân đối tượng lớn, lấy giá trị XML XMLSERIALIZE Chuyển giá trị XML sang thuộc tính liệu nhị phân đối tượng lớn XMLVALIDATE Đánh giá giá trị XML với đồ XML (XML Schema) ghi kiểu giá trị XML XMLEXISTS Xác định (kiểm tra) câu truy vấn XQuery giá trị trả không (ví dụ dãy giá trị hay nhiều hơn) XMLQUERY Thực thi câu lệnh truy vấn trả dãy kết XMLTABLE Thực thi câu lệnh truy vấn kết trả (nếu có) bảng quan hệ XMLCAST Ép kiểu XML - Ví dụ: Chúng ta suy nghỉ xem làm cách tạo mẫu báo cáo gồm danh sách địa thư điện tử khách hàng “Vàng” (có trạng thái “Gold”) Câu lệnh giải vấn đề này: SELECT xmlquery(‘$c/Client/email’ passing contact as “c”) FROM clients WHERE status = “Gold” 23 Dòng nói ta muốn lấy phần tử địa thư điện tử tài liệu XML không muốn lấy cột liệu Tương tự ví dụ trước, tài liệu XML lưu biến”$c” ví dụ này, hàm XMLQUERY sử dụng sau mệnh đề SELECT, hàm XMLEXISTS sử dụng mệnh đề WHERE - Truy vấn liệu với Xquery + Query ngôn ngữ truy vấn tạo cho XML XQuery hỗ trợ biểu thức đường dẫn để định vị trí cấu trúc phân cấp XML Thực tế XPath tạo tập Xquery XQuery hỗ trợ liệu kiểu liệu kiểu XQuery không chứa giá trị NULL tài liệu XML bỏ liệu thiếu hay không xác định XQuery trả chuỗi liệu XML + Câu lệnh Xquery phân biệt chữ hoa chữ thường Ví dụ 1: Làm truy vấn XQuery đơn giản lấy liệu liên lạc khách hàng xquery db2-fn:xmlcolumn(‘CLIENTS.CONTACT’) Nhớ luôn thêm lệnh “ xquyery” vào đầu biểu thức XQuery DB2 biết cần sử dụng phân tích (parer) Xquery Nếu không, DB2 cho bạn cố gắng thực thi biểu thức SQL Hàm db2-fn:xmlcolumn lấy cột ta định tài liệu XML làm tham số Câu lệnh tương ứng với câu lệnh SQL sau đây: SELECT contact FROM clients TÀI LIỆU THAM KHẢO - Nhập môn DB2 Express-C - R A U L C H O N G, I A N H A K E S, R A V A H U J A - Fundamentals_of_Database_Systems,_6th_Edition 24 ... dạng tập tin văn bản, kho XML, hay sở liệu - Có loại CSDL XML là: + CSDL hỗ trợ XML: dùng CSDL quan hệ để lưu liệu XML Hiệu CSDL không cao + CSDL XML sử dụng mô hình phân cấp liệu XML để lưu trữ... cụ quản lý tập trung cho phép: - Xem xét hệ thống bạn, cài đặt DB2, CSDL đối tượng CSDL - Tạo, sửa quản lý CSDL đối tượng CSDL - Khởi động công cụ đồ họa khác DB2 2.2.2 Các chế độ làm việc trung... DB2 quản lý CSDL phân tán Phần 7: SQL/XML XQUERY Phần Giới thiệu DB2 phiên DB2 Express-C 1.1 DB2 - DB2 hệ quản trị sở liệu (HQTCSDL) phân tán IBM, quản lý xử lý sở liệu (CSDL) quan hệ CSDL nguyên

Ngày đăng: 12/03/2017, 09:34

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan