Tìm hiểu db2

115 887 0
Tìm hiể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

Tìm hiểu db2

Tìm hiểu Db2 Nhóm Tin k29B Tìm hiểu db2 Mục lục Chương 1.Tổng quan Db2 1.Giới thiệu Db2 2.Môi trường Db2 1.Thể Db2 2.Biến môi trường 3.Profile 4.Tham số cấu hình 3.Cài đặt Db2 Kết nối máy chủ Db2 Chương 2.Các công cụ Db2 1.Công cụ dòng lênh Command Window, Command Line Processor, Command Editor 2.Công cụ Web 3.Công cụ quản trị tổng quát 4.Công cụ thông tin 5.Công cụ theo dõi, quản lý Chương 3.Sử dụng SQL, XML& Xquery 1.Năm bắt đối tượng dũ liệu 1.Sơ đồ 2.Ko gian bảng 3.Bảng Các kiểu dũ liệu 4.Các đối tượng 5.Bảng danh sách hệ thống 6.Khung nhìn 7.Chỉ mục 2.PureXML 1.XML Giới thiệu chung 1.Tài liệu XML hợp khuôn dạng& hợp lệ 2.Ko gian tên 3.Lược đồ XML 2.Làm việc với XML Giới thiệu chung 1.Xquery& XPath 2.SQL/XML 3.So sánh XML& mô hình quan hệ 4.XML& sở dũ liệu Giới thiệu chung 1.Các phương pháp lưu trũ XML sở dũ liệu 5.pureXML db2 Giới thiệu chung Tìm hiểu Db2 Nhóm Tin k29B 1.Lưu trũ XML trg Db2 2.Bảng nội tuyến 6.pureXML engine 7.Chỉ mục XML Chương 4.Quản trị db2 1.Cơ chế lưu trũ dũ liệu 1.Processor, nhớ, đĩa cứng 2.Mô hình lưu trũ Giới thiệu chung 1.Lưu trũ liệu vật lý& dũ liệu luận lý 2.Ko gian bảng 2.Thao tác dũ liệu 1.Di chuyển dũ liệu Giới thiệu chung 1.Các tiện ích di chuyển dũ liệu 3.Nhật kí liệu Giới thiệu chung 1.Các kiểu nhật kí 2.Các kiểu ghi nhật kí 4.Khôi phục dũ liệu 1.Các khái niệm phục hồi dũ liệu 2.Các kiểu khổi phục Chương Bảo mật Db2 1.Mô hình bảo mật Db2: tranh tổng thể 1.Định danh 1.Cấu hình kiểu định danh máy chủ 2.Cấu hình kiểu định danh máy khách 2.Mã hóa dũ liệu 3.Ủy quyền quản trị 4.Đặc quyền đối tượng dũ liệu 5.Điều khiển truy nhập dựa nhãn 6.Siêu liệu ủy quyền& đặc quyền 2.Bảo mật Windows Mở đầu XML chìa khóa then chốt ứng dụng web 2.0 thời nay! Mặc dù JSON có số ưu điểm XML nhưg XML chiếm vai trò chủ đạo! Không phủ nhận vai trò việc tạo, trao đổi, & lưu trũ dũ liệu!Nhiều FrameWork sử dụng XML Trong file cấu hình(Symfony, Strut )! XML trở thành chuẩn chung để trao đổi dũ liệu mạng internet, ứng dụng khác nhau, giứa tảng khác nhau! XML xuất khắp nơi, chí Tìm hiểu Db2 Nhóm Tin k29B nhiều ứng dụng sử dụng XML để xây dựng nên giao diện nó! Như firefox chẳng hạn! Rồi đến việc sử dụng XML để định nghĩa nên ngôn ngữ riêng hỗ trợ cho mục đích đó, MathML để thể kí hiệu& công thức toán học! Do đó, việc lưu trũ dũ liệu XML sở dũ liệu cần thiết! Có nhiều hệ quản trị sở dũ liệu hỗ trợ lưu trũ kiểu dũ liệu XML! Tuy nhiên, ta phải trực tiếp xử lý giá trị XML đó! Ứng dụng ta phải nhận, phân tích, chuẩn hóa giao cho sở dũ liệu quản lý! Ta cần Hệ quản trị sở liệu mà hỗ trợ ta Trong việc thao tác với dũ liệu XML này! Ngày nay, db2 hệ quản trị sở dũ liệu hỗ trợ chế này! Nếu ta hiểu cách thức hoạt động, làm việc Db2, ta giảm thiểu tối đa công việc xử lý XML làm việc với dũ liệu XML sở liệu! Đó mục tiêu niên luận! I.Tổng quan Db2: I.1Giới thiệu Db2 Db2 sản phẩm phần mềm máy chủ liệu IBM quản lý liệu quan hệ liệu XML! Vào năm 1970, phòng ngiên cứu IBM phát minh Mô hình quan hệ SQL, IBM phát triển hoàn toàn dòng sản phẩm máy chủ liệu! Việc phát triển bắt đầu với tảng máy tính lớn máy ảo(Virtual Machine), Mở rộng chế lưu trữ ảo(Virtual Storage Extended-VSE),và đa chế lưu trữ ảo (MVS)! Vào năm 1983, Db2 for MVS phiên đời! “db2” dùng để nói lên chuyển đổi từ sở dũ liệu phân cấp(như hệ thống quản lý thông tin IMS phổ biến thời điểm đó) tới sở dũ liệu quan hệ! Db2 cho Linux, Unix, Windows phát triển với ngôn ngữ C/C++! Hơn 90% mã db2 chung cho tảng đó! 10% lại mã đặc trưng để khai thác mạnh tảng! Db2 bao gồm nhiều dòng sản phẩm! Hình sản phẩm(ấn bản) này: Tìm hiểu Db2 Nhóm Tin k29B Trong phạm vi niên luận ta nghiên cứu Db2 Express-C! Đây ấn db2 dùng miễn phí, không hạn chế& dễ sử dụng! Chữ C Trong ExpressC chữ Community! Nghĩa cộng đồng người sử dụng db2 Express-C hỗ trợ lẫn mặt! Cộng đồng bao gồm: Các nhà phát triển ứng dụng có nhu cầu phần mềm sở dũ liệu chuẩn mở để xây dựng ứng dụng độc lập, dạng khách chủ, • ISVs- Các nhà cung cấp phần mềm đôc lập, nhà cho thuê phần cứng, sở hạ tầng hay người cung cấp giải pháp, muốn đóng gói máy chủ dũ liệu với đầy đủ tính phần Trong giải pháp họ • Các cố vấn, nhà quản trị dũ liệu& kiến trúc sư công nghệ thônng tin, người cần hệ quản trị sở dũ liệu mạnh mẽ để học tập, thử nghiệm, phát triển kĩ • Những người yêu thích sở dũ liệu say mê tìm hiểu công nghệ, muốn có máy chủ sở dũ liệu dễ sử dụng để xây dựng ứng dụng web 2.0 hay ứng dụng hệ sau Db2 Express-C có đầy đủ tính ấn Db2 thương mại khác! Nó tối ưu cho hệ thống tối đa vi xử lý& 4GB RAM! Nó không • Tìm hiểu Db2 Nhóm Tin k29B có yêu cầu đặc biệt khác! Db2 Express-C hỗ trợ pureXML, công nghệ đặc trưng Db2 dùng để lưu trũ& xử lý văn XML! Db2 tạo môi trường phát triển ứng dụng dựa chuẩn& Trong suốt db2! Db2 cung cấp tập giao diện lập trình ứng dụng(Application Programming Interface – API) thông dụng cho việc truy cập sở dũ liệu! Ta sử dụng ngôn ngữ& chuẩn sau để làm việc với Db2: • Ruby on rails • C/C++ (ODBC& SQL nhúng) • PHP/Python/Perl • JDBC Phiên bản& ấn bản: Sau thời gian, IBM công bố phiên Db2! Một phiên bao gồm tính đưa vào! Môt phiên đánh dấu số hiệu! Ví dụ db2 8, db2 9! Cũng có tính hay thay đổi nhỏ đưa vào, nên chưa coi phiên mới, IBM sử dụng 8.1, 8.2 để thay đổi này! Ấn lựa chọn nhóm gói tính khác Trong phiên bản! Db2 có nhiều ấn khác nhau, ấn lại có gói tính khác nhau! Khi sở dũ liệu lớn lên, ta muốn nâng cấp phần cứng lên, nhiên db2 Express-C hỗ trợ tối đa vi xử lý& 4GB RAM!Việc nâng cấp lên ấn khác dễ dàng! Ta cần cài đè ấn lên ấn cũ! Chỉ có file chương trình bị thay đổi sở dũ liệu không bị thay đổi(tuy nhiên việc lưu việc nên làm)! Còn trường hợp muốn chuyển hẳn qua máy khác, hay cài đặt ấn db2 máy sử dụng công cụ tiện ích hỗ trợ chuyển dũ liệu để di chuyển dũ liệu từ máy cũ sang máy này! I.2Môi trường Db2 I.2.1Thể db2 Trong db2, thể cung cấp môi trường độc lập nơi sở liệu tạo ứng dụng chạy dựa chúng! Do độc lập môi trường, liệu thể khác có tên! Ví dụ, hình A(xem bên dưới), sở dũ liệu mydb2 liên kết với thể db2,và sở dũ liệu mydb2 liên kết với thể myinst! Các thể cho phép người dùng có môi trường liệu riêng rẽ độc lập cho mục đích sản xuất, kiểm thử phát triển! Khi cài db2 HDH Windows, thể tên DB2 tạo theo mặc định, *Nix, bạn chọn tạo thể mặc định, có tên myinst1! Để tạo thể dùng lệnh: db2icrt instance_name Để xóa thể dùng: db2idrop instance_name Để khởi động, dừng lại thể hiện tại, ta dùng db2start, db2stop Tìm hiểu Db2 Nhóm Tin k29B Khi thể tạo HDH *Nix, liên kết logic đến file thực thi db2 tạo ra! Ví dụ, máy chủ hình A bên máy chủ Linux db2 myinst1, tất chúng liên kết tới mã thực thi db2! Một liên kết logic làm việc trỏ tới chương trình khác! Đối với cài đặt root, thể có chép cục db2 bên thư mục sqllib! Trên Windows, có đường dẫn cài đặt chia sẻ tất thể truy cập thư viện file thực thi! Chú ý: Mỗi thể phải chạy cổng riêng biệt khác nhau! Điều giúp phân biệt thể bạn muốn kết nối tới sở dũ liệu thể định từ máy khác xa! Nếu bạn sử dụng cửa sổ dòng lệnh db2(db2 command window) bạn thiết lập thể thành thể hoạt động cách sử dụng lệnh: set db2instance=ten_the_hien Để liệt kê tất thể hiện, bạn sử dụng lệnh db2ilist! I.2.2Biến môi trường Các biến môi trường biến thiết lập cấp độ HDH! Trên Windows ta vào Control Panel-> System → Advance Tab → Environment Varribles! Trên Linux bạn thiết lập biến môi trường bashrc, thêm vào script db2profile! Ngoài ra, sử dụng Gentoo Linux bạn đặt biến /etc/env.d! Một biến môi trường cụ thể db2instance, thể hoạt động mà bạn làm việc! Nếu db2instance thiết lập đến myinst, lệnh CREATE DATABASE mydb tạo sở dũ liệu liên kết với myinst! Nếu muốn tạo sở dũ liệu cho thể khác tên db2 chẳng hạn bạn phải thiết lập biến thành db2(db2instance=db2) trước tạo sở dũ liệu! Sử dụng Control Panel hay Use Profile để thiết lập giá trị biến môi trường đảm bảo giá trị tiếp tục sử dụng lần làm việc sau! Nếu bạn muốn thay đổi tạm thời thôi, bạn dùng lệnh set Windows hay export Linux s e t   D B I N S T A N C E =(on D B 2Windows)   hay export DB2INSTANCE= (on D B Linux 2  and UNIX) Một lỗi thường gặp sử dụng lệnh để khoảng trắng trước sau dấu =(bạn không nên sử dụng khoảng trắng) Để kiểm tra thiết lập biến bạn dùng lệnh sau: e c h o   % D B I N S T A N (Windows CE%  only) set DB2INSTANCE db2 get instance Tìm hiểu Db2 Nhóm Tin k29B Để liệt kê tất thể có hệ thống, sử dụng lệnh sau: db2ilist I.2.3Profile Nhiều biến môi trường db2 điều khiển mục lưu trữ db2 profile registry! Mục đích Profile Registry để bổ sung cho biến môi trường db2, cách tạo kho trung tâm tác nhân điều khiển khóa mà ảnh hưởng tới máy chủ db2 thiết lập cấu hình dư liệu thể hiện! Nhiều giá trị điều khiển giao diện db2, tham số giao tiếp! Các biến thiết lập registry khác tảng! Db2 profile registry sử dụng để thay đổi cách làm việc máy chủ db2! Thuận lời việc dùng profile bạn không cần phải khởi động lại máy chủ db2 để thay đổi có hiệu lực! Đây lý tuyệt vời lại có profile regitry db2! Trước đấy, thay đổi tới máy chủ liệu cấp độ biến môi trường yêu cầu khởi động lại! Chú ý rằng, tùy thuộc vào biến môi trường mà bạn cần thay đổi, bạn cần phải xóa sở dũ liệu hay xóa thể liệu để thay đổi có hiệu lực! Có loại Profile Registry: +Profile Registry cấp độ thể db2: biến môi trường quan trọng đặt registry này! Các biến môi trường thiết lập cho thể lưu registry này! Các giá trị định nghĩa cấp độ ghi đè thiết lập chúng cấp độ toàn cục +Profile Registry cấp độ toàn cục: Nếu biến không thiết lập cho thể đó, regitry sử dụng! +Profile Registry cấp độ node thể db2 +Profile Registry thể db2 kiểu đầu kiểu chung hay gặp! Sự khác biệt cấp độ toàn cục cấp độ thể phạm vi mà chúng có hiệu lực! Toàn cục có hiệu lực tới tất thể db2! Như bạn thấy hình sau, registry vẽ bên thể hiện! Profile cấp độ thể có hiệu lực với thể rõ đó(trong hình, bạn thấy profile nằm bên thể db2)! Tìm hiểu Db2 Nhóm Tin k29B (hình A) Để xem biến registry db2 tại, sử dụng lệnh sau từ CLP: Tìm hiểu Db2 Nhóm Tin k29B Bạn đoán [I] biến cấp độ thể hiện, [g] biến cấp độ toàn cục! Để thiết lập giá trị biến cấp độ ta dùng lệnh db2set! Ví dụ sau thiết lập giá trị cho biến DB2INSTPROF sau: ­g d b s e t   D B I N S T P R O F = " C : \ P R O G R A M   F I L E S \ S Q L L Nếu muốn thiết lập cho thể cụ thể đó: db2set DB2INSTPROF="C:\MY FILES\SQLLIB" ­i  myinst Một vài biến yêu cầu bạn phải khởi động lại thể db2! I.2.4Tham số cấu hình Các tham số cấu hình định nghĩa mức độ: cấp độ thể cấp độ liệu! Các biến cho cấp độ khác (không giống biến registry db2, biến định nghĩa nhiều cấp độ khác nhau)! Tại cấp độ thể hiện, biến lưu trữ file cấu hình quản lý sở liệu(dbm cfg)! Thay đổi biến ảnh hưởng tới tất sở dũ liệu gắn liền với thể db2! Như ta thấy hình A ban đầu, file cấu hình quản lý sở liệu định nghĩa cho thể nằm bên tất sở dũ liệu! Để xem nội dung file này, ta dùng lệnh: CLP get dbm cfg sau: Tìm hiểu Db2 Nhóm Tin k29B Để định nghĩa lại biến đó, ta dùng lệnh CLP sau: u p d a t e   d b m   c f g   u sparameter ing  value Nhiều tham số cấu hình quản lý sở liệu “có thể cấu hình trực tuyến”, ám thay đổi động, bạn không cần phải khởi động lại thể bạn! Ngoài ra, nhiều tham số “tự động”, tức db2 tự động tính toán giá trị thích hơp cho tùy theo hệ thống! Ở cấp độ sở liệu, giá trị tham biến lưu file cấu hình sở liệu, (db cfg)! Thay đổi tham số ảnh hướng tới sở dũ liệu rõ file cấu hình đó! Trong hình A ta thấy sở dũ liệu có file cấu hình liệu bên Để xem nội dung file cấu hình liệu sở dũ liệu đó: d b   g e t   d b   c f g   dbname for  Để cập nhật giá trị tham biến, ta dùng lệnh: d b   u p d a t e   d b   c f g  dbname f o r   u s i n  g 10 Tìm hiểu Db2 Nhóm Tin k29B gửi tới server, chúng mã hóa KERBEROS TARGET PRINCIPAL principalname Định danh máy chủ Kerberos Đối với *Nix sử dụng tên dạng: -name/instance@REALM Đối với Windows 2000, principalname tài khoản đăng nhập cho dịch vụ máy chủ db2, có dạng sau: +userid@DOMAIN + userid@xxx.xxx.xxx.com + domain\userid DATA_ENCRYPT Định danh máy chủ db2! Ngoài ra, phải mã hóa liệu cho kết nối GSSPLUGIN Thẩm định người dùng với chế bảo mật bên dựa GSSAPI CLIENT Thẩm định người dùng máy khách db2 tùy theo tham biến cấu hình: TRUST_CLNTAUTH TRUST_ALLCLNTS V.1.2Mã hóa dũ liệu Mã hóa liệu db2 tuân theo chuẩn xử lý thông tin liên bang 140-2 (Federal Information Processing Standar FIPS 140-2)! Để sử dụng mã hóa liệu, máy chủ máy khách phải hỗ trợ nó! Đầu tiên, ta phải cấu hình kiểu thẩm định máy chủ db2 DATA_ENCRYPT DATA_ENCRYPT_CMP! Tiếp nữa, giá trị thẩm định DATA_ENCRYPT lệnh catalog database! Nó ép buộc định danh SERVER_ENCRYPT mã hóa liệu người dùng! Ví dụ để cấu hình hỗ trợ mã hóa liệu máy chủ máy khách: Trên máy chủ db2: db2 update dbm cfg using authentication DATA_ENCRYPT máy khách db2: db2 catalog database bankdb at node server1 authentication DATA_ENCRYPT V.1.3Ủy quền quản trị Khi trình định danh người dùng thành công, db2 kiểm tra xem người dùng có quyền tương ứng để thực hành động, ví dụ thực quản lý đối tượng liệu(xem, sóa, chỉnh sửa )! Thông tin quyền hạn lưu trữ danh mục db2 tập tin cấu hình dbm! Hình sau kiểu ủy quền hỗ trợ db2: 101 Tìm hiểu Db2 Nhóm Tin k29B Ủy quyền quản trị Miểu ta SYSADM Người dùng có cấp độ ủy quyền cao nhât có đầy đủ đặc quyền để quản lý thể hiện! Họ truy xuất tới tất dũ liệu SYSCRTL Những người dùng có số quyền quản lý thể hiện, sở dũ liệu đối tượng dũ liệu! Ho tạo sở dũ liệu nhưg quyền truy xuất dũ liệu đó! Ví dụ, họ chạy lệnh sau: DELETE FROM employee hay S E L E C T   *   F R O M   e m p l o y e e SYSMAINT Tương tự SYSCTRL, SYSMAINT người dùng có số quản lý thể hiện, dũ liệu& đối tượng dũ liệu! Tuy nhiên, họ tạo sở dũ liệu quyền truy xuất dũ liệu! Họ chạy lệnh dạng sau: DELETE FROM employee hay S E L E C T   *   F R O M   e m p l o y e e SECADM Đây ủy quyền cấp độ dũ liệu! Ủy quyền cấp cho người dùng ng dùng có ủy quyền SYSADM! Chỉ có người dùng có ủy quyền SECADM(thậm chí SYSADM không được) tạo, xóa, cấp quyền& hủy bỏ đối tượng bảo mật nhãn bảo mật, sách bảo mật! SECADM truyền quyền riêng đối tượng tơi đối tượng khác DBADM Ủy quền cấp độ dũ liệu cho phép người dùng thực tác vụ quản trị sở dũ liệu rõ! Chú ý họ có toàn quyền truy cập dũ liệu Bảng sau thống kê chức năg thường gặp& ủy quyền quản trị để thực chúng: Chức SYSADM SYSCTRL SYSMAINT SYSMON DBDAM 102 LOAD Tìm hiểu Db2 Cho phép/Hủy bỏ DBADM Nhóm Tin k29B Y Cập nhật DBM CFG Y Thiết lập/thay đổi SYSCTRL Y Thiết lập/thay đổi SYSMAINT Y Thiết lập/thay đổi SYSMON Y Buộc người dùng Y khỏi sở dũ liệu Y Tao/Xóa sở dũ liệu Y Y Khôi phục thành Y sở dũ liệu Y Cập nhật db cfg Y Y Y Sao lưu sở dũ Y liệu/không gian bảng Y Y Khôi phục vào sở Y dũ liệu có sẵn Y Y Khôi phục tiến Y Y Y Khỏi động/kết thúc thể Y Y Y Phục hồi ko gian bảng Y Y Y Thực theo 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 Y kí Y Y Nạp bảng Y Y Thiết lập/gỡ bỏ trạng Y thái treo Y Tạo/hủy kiện theo Y Y Y Y 103 Tìm hiểu Db2 Nhóm Tin k29B dõi V.1.4Đặc quyền đối tượng dũ liệu Cấu hình truy cập tới đối tượng dũ liệu quan trọng định danh hay ủy quyền quản trị! Đặc quyền cung cấp cho người dùng quyền truy cập tới đối tượng dũ liệu riêng rẽ(như đặc quyền bảng, khung nhìn, ko gian bảng,….) theo cách rõ! Các đặc quyền cấp tưởng minh hay không không tường minh! V.1.5Điều khiển truy nhập dựa nhãn (LBAC) LBAC cho bạn toàn quyền điều khiển truy cập dũ liệu Trong bảng& khung nhìn! LBAC cho phép bạn xác định quyền xác mà người dùng có hàng cột bảng! Các thiết lập hay cấu hình LBAC thực quản trị bảo mật, người dùng có ủy quền SEADM! Các thiết lập bảo mật hay cấu hình định nghĩa nên sách bảo mật! Chính sách bảo mật miêu tả tiêu chuẩ dùng để định dũ liệu mà người dùng xem Trong bảng hay khugn nhìn! Một sách bảo mật định nghĩa cho bảng! Nhưg bảng có sách bảo mật riêng nó! Chính sách bảo mật tạo từ tối thiểu 1(thươnhgf nhiều hơn) nhãn bảo mật! Người dùng muốn truy xuất bảng hay khung nhìn cần có nhãn thích hợp cấp cho họ! Khi tìm thấy nhãn, truy nhập cho phép! Nếu không tìm thấy, truy nhập bị từ chối! Có kiểu nhãn bảo mật: -Nhãn bảo mật hàng: Mỗi nhãn liên kết với hàng Trong bảng -Nhãn bảo mật cột: nhãn liên kết với cột Trong bảng -Nhãn bảo mật người dùng: nhãn cấp cho người dùng nhãn bảo mật tạo từ nhiều thành phần nhãn bảo mật, có kiểu thành phần mà bạn sử dụng: -Tập hợp: tập hợp phần tưr mà vị trí xuất không quan trọng! Mọi phần tử xem nha! Trong hình sau, tập hợp loại thuốc bán bang hay không(dấu X tằng bán thuốc bang đó) 104 Tìm hiểu Db2 Nhóm Tin k29B -Mảng: mảng dãy phần từ có xếp mà biểu diễn cho hệ thống phân cấp đơn giản! Trong mảng, trật tự xuất phần tử quan trọng! Ví dụ, phần tử có hạng cao phần tử thứ 2& tương tự phần tử thứ có hạng cao phần tứ thứ 3! Như hình sau ta thấy ConFidental, Private Public! Ta thấy phạm vi dũ liệu truy nhập giảm dần theo độ giảm thứ hạng phần tử! Trong ví dụ này, cấp độ xem dũ liệu Trong mức nó& mức bên dưới: 105 Tìm hiểu Db2 Nhóm Tin k29B -Cây: đại diện cho nhiều cáu trúc phân cáp phức tạp có nhiều nút& nhiều nhánh! Ví dụ, sử dụng để biểu diễn biểu đồ cấu! Bạn sử dụng sách bảo mật để định nghĩa thành phần nhãn bảo mật để tạo nên nhãn bảo mật riêng! Ta xem ví dụ sau: 106 Tìm hiểu Db2 Nhóm Tin k29B Ở ví dụ này, General xem tất dũ liệu có mức bảo mật cao nhất! Khi bạn dần xuống cây, môi cấp thấp có cấp độ bảo mật thấp hơn, & xem dũ liệu hơn! Các Enlistee xem dũ liệu gì! Nếu bạn cố gắng để đọc hàng bảo vệ Trong bảng mà LBAC không cho phép đọc, db2 xem nhưngx hàng không tồn tại! Những hàng không trả lại cho bạn bạn lựa chọn chúng& bạn xóa hay cập nhật hàng này! Thậm chí hàm tính trung bình bỏ qua hàng mà LBAC không cho phép bạn đọc! Ví dụ, hàm COUNT trả lại số lượng record mà bạn phép truy cập tới nó! Nó làm việc thể hàng không tồn tại! V.1.6 Siêu dũ liệu Ủy quyền& đặc quyền Chúng ta biết ủy quyền& đặc quyền! Giờ nơi tất thông tin lưu trũ làm để dễ dàng nhận dũ liệu này! Cũng thông tin dũ liệu, siêu dũ liệu ủy quyền& đặc quyền lưu trũ Trong bảng& khung nhìn danh mục liệt kê Trong bảng sau! Khung nhìn danh mục Miêu tả SYSCAT.COLAUTH Lưu trũ quền cột cho người dùng cấp quyền! Đặc quyền cột cấp thông qua đặc quyền bảng& khung nhìn! Có kiểu đặc quyền Update& Reference SYSCAT.DBAUTH Lưu ủy quyền dũ liệu SYSCAT.INDEXAUTH Lưu mục ủy quyền SYSCAT.ROLEAUTH Lưu trũ vai trò dũ liệu cấp cho người dùng, nhóm, vai trò tất Truy vấn khung nhìn danh mục cung cấp cho bạn tất thứ bạn muốn biết! Từ db2 clp, bạn lấy ủy quyền người dùng kết nối tới sở dũ liệu Trong phiên làm việc với lệnh: get authorizations 107 Tìm hiểu Db2 Nhóm Tin k29B Lệnh bóc tách thông tin lưu Trong SYSCAT.DBAUTH! Nó liệt kê ủy quyền dũ liệu cho người dùng! Ngoài ra, hiển thị ủy quyền cấp trực tiếp cho người dùng tại, hiển thị uy quyền kế thừa ko tườg minh! Bạn sử dụng cc để xem ủy quyền! Click chuột phải lên sở dũ liệu bạn muốn biết chọn Authorities: Lúc đó, bạn xem ủy quyền cho người dùng sở dũ liệu đó: 108 Tìm hiểu Db2 Nhóm Tin k29B Để quản lý đặc quyền cho đối tượng liệu riêng rẽ, nhấn chuột phải lên đối tượng chọn Privileges: 109 Tìm hiểu Db2 Nhóm Tin k29B Như bạn thấy hình, người dùng KUREIKAIN có quyền SELECT, INSERT, UPDATE cho đối tượng dũ liệu EMPLOYEE! Lệnh GRANT& Lệnh REVOKE: Đây lệnh SQL chuẩn, dùng để gán hay hủy bỏ quyền người dùng nhóm Ví dụ: gán quyền SELECT bảng T1 cho người dùng user1: GRANT SELECT ON TABLE T1 TO USER user1 Gán tất quyền bảng T1 cho nhóm GROUP1 GRANT ALL TABLE T1 to GROUP group1 -Hủy bỏ tất quyền bảng T1 GROUP REVOKE ALL TABLE t1 FROM GROUP group1 V.2.Bảo mật windows Trong hầu hết môi trường, người quản trị thường nhóm người dùng lại với để cấp quyền hay ủy quyền dũ liệu đến nhóm đó! Rõ ràng điều tốt cấp quyền cho người dùng riêng rẽ! Do đó, việc hiểu biết cách thức 110 Tìm hiểu Db2 Nhóm Tin k29B tìm kiếm nhóm cho người dùng db2 quan trọng! Windows có nhiều kiểu nhóm người dùng khác V2.1.Nhóm Global& nhóm Local Ví dụ, máy chủ db2 định nghĩa vùng HDH Windows MMDOM, Trong này, quản lý vùng máy chủ Windows quản lý sở dũ liệu chủ cho tất người dùng Trong vùng! Nó dùng để thẩm định đăng nhập vùng! Trong hình 11.52 ta thấy người dùng db2admin thành viên nhóm toàn cục MMDBA Trong vùng MMDOM! Để sử dụng nhóm toàn cục, bạn phải bao gồm chúng Trong nhóm cục máy chủ db2! Khi db2 liệt kê tất nhóm mà có thành viên thuộc nhóm đó, liệt kê nhóm cục mà thành viên gián tiếp thuộc nhóm đó! Quyền để truy cập sở dũ liệu và./hoặc đối tượng dũ liệu phải cấp cho nhóm cục đó! (hỗ trợ nhóm toàn cục Trong db2) Hình sau người dùng db2admin định nghĩa cách cục máy chủ db2 (tức db2admin định nghĩa trực tiếp máy chủ db2) thành viên nhóm cục DB2DA 111 Tìm hiểu Db2 Nhóm Tin k29B (hỗ trợ tra cứu nhóm cục hay nhóm vùng) Một người dùng kết nối tới sở dũ liệu db2admin& thử xóa bảng! Bạn muốn db2 liệt kê nhóm cho người dùng db2admin đây? Lựa chọn nhóm quan trọng, nhóm cục db2dba có đặc quyền SELECT bảng, Trong nhóm toàn cục mmdba có ủy quyền SYSADM! Tùy chọn thứ bao gồm vùng Windows với UserId Trong suốt trình định danh(Trong câu lệnh CONNECT chẳng hạn) CONNECT TO sample USER mmdba/db2admin USING password (Bạn sử dụng kiểu nhóm/user Trong câu lệnh GRANT hay REVOKE nữa) Ví dụ, lệnh sau cấp đặc quyền SELECT đối tượng dũ liệu employee cho người dùng db2admin Trong nhóm mmdba GRANT SELECT ON TABLE employee TO USER mmdba/db2admin V.2.2 Thực hành Chúng ta thực hành với sở dũ liệu SAMPLE tạo nhờ First Step Db2! Chúng ta thực viêc phân quyền cho cac người dùng sở dũ liệu này! Đầu tiên, ta muốn tất người dùng định danh máy chủ db2! Sử dụng lệnh get dbm cfg để biết thông tin Database manager authentication (đã thảo luận phần trước) Chúng ta nên sử dụng SERVER_ENCRYPT để đảm báo mật khẩu& userid mã hóa! Dùng lệnh sau để thiết lập lại chế độ định danh: update dbm cfg using authentication server_encrypt (có thể thực thông qua control center) Sau khởi động lại thể db2 này! Bên cạnh việc mã hóa user mật khẩu, dũ liệu gửi nhận mã hóa! Do đó, ta cần cấu hình máy khách sau: 112 Tìm hiểu Db2 Nhóm Tin k29B catalog db sample at node dbsrv authentication  sql_authentication_dataenc_cmp Bên cạnh cấu hình máy khách& máy chủ để thực định danh mã hóa dũ liệu, dũ liệu phải giới hạn cho người dùng thẩm định! Theo kết lệnh get dbm cfg, tất nhóm hệ thống mặc định NULL: Để bảo đảm người dùng gán thực tác vụ quản trị, ta xác lập lại nhóm hệ thống thành nhóm tương ứng: update dbm cfg using sysadm grpadmin sysctrl grpctrl sysmaint grpmaint sysmon grpmon Cynthia, thành viên nhóm grpadmin, kết nối tới sở dũ liệu SAMPLE,& thực lệnh sau: CREATE TABLE topsecret_table ( empno CHAR(6) , name VARCHAR(50) , perf_grade CHAR(1) , salary_inc_pct INTEGER); INSERT INTO topsecret_table VALUES (‘000010’, ‘Bill’, ‘F’, 0) , (‘000020’, ‘John’, ‘A’, 80) , (‘000030’, ‘Kathy’,‘C’, 20); Bảng topsecret_table tạo thành công chèn dũ liệu! Vì Cynthia thành viên nhóm grpadmin, nhóm nằm Trong nhóm SYSADM thực hành động thể sở dũ liệu thể đó! 113 Tìm hiểu Db2 Nhóm Tin k29B Giả sử Bill thấy anh có mức độ F Trong nhận xét hiệu làm việc nhg lại chưa tăng lương! Là thành viên nhóm grpmaint, nên anh cho anh có quyền cập nhật records Trong bảng topsecret_table! Do đó, anh kết nối tới sở dũ liệu SAMPLE sử dụng lệnh sau: UPDATE topsecret_table SET perf_grade = ’A’, salary_inc_pct = 100 WHERE empno = ‘000010’ Quá trình cập nhật không thành công! Lỗi nhận SQL0551N "DB2USER" does not have the privilege to perform operation "UPDATE" on object "DB2ADMIN.EMPLOYEE" SQLSTATE=42501 Điều làm việc muốn người dùng mà có ủy quyền SYSCTRL, SYSMAINT, SYSMON khả nhận hay thay đổi dũ liệu! Họ có ủy quyền để thực bảo trì hệ thống hay tác tác vụ theo dõi! Theo mặc đinh, đặc quyền cấp cho PUBLIC sở dũ liệu tạo! Bạn nên khóa lại sở dũ liệu cách hủy bỏ đặc quyền được cấp không tường minh: REVOKE CONNECT, CREATETAB, BINADD, IMPLICIT_SCHEMA ON SAMPLE FROM PUBLIC Rồi sau đó, cấp đặc quyền cho user muốn mà thôi! Then, grant privileges to users which they only need GRANT SELECT, UPDATE, DELETE, INDEX ON TABLE employee TO USER john Kết luận Về bản, niên luận trình bày tốt lý thuyết Db2 đạt số kết định: • Nắm vững cách thưc cài đặt, phiên bản, ấn Db2 • Nắm vững công cụ Db2 • Hiểu biết lệnh CLP Db2 • Tìm hiểu chế bên Db2 lưu trũ, bảo mật • Hiểu môi trường Db2(biến môi trường, thông số cấu hình…) • Xây dựng ứng dụng thử nghiệm Db2(Blog) với yếu tố sau o Tận dụng thể Db2 để dễ dàng chuyển qua lại chế độ làm việc Blog chế độ phát triển, kiểm thử& chạy thực o Tận dụng tối đa XML để tránh trường NULL(chẳng hạn viết cho phép khách viết! Do trường tác giả 114 Tìm hiểu Db2 Nhóm Tin k29B viết tên khách ID thành viên-trường hợp đăng nhập) o Giao diện đẹp, đơn giản& dễ sử dụng Qua trình làm đề tài này, chúng em hiểu chế làm việc Db2! Sử dụng thành thạo công cụ Db2! Nắm cách tiếp tiếp cận Db2 ngôn ngữ lập trình khác(PHP, Rails) nhằm viết ứng dụng sử dụng Hệ quản trị sở dũ liệu Db2! Tuy nhiên, tìm hiểu hệ quản trị sở dũ liệu vấn đề đơn giản trg thời gian ngắn khó khăn khách quan nên niên luận số khuyết điểm: • Chưa sâu chi tiết số vấn đề Db2 kiểu dũ liệu của, số loại bảng • Chưa benhmark Db2 với sản phẩm khác • Chưa có thời gian kiểm tra thử sản phẩm môi trường mạng thực Hướng phát triển Tiếp tục nghiên cứu sâu Db2 phát triển tốt ứng dụng blog để mang vào thực tế! Tài Liệu tham khảo [1].Raul F Chong , Xiaomei Wang, Michael Dang, Understanding Db2 Learning Visuallty with Examples, IBM Press [2].Raul F Chong, Ian Hakes, Nhập môn Db2, IBM Press 115 [...]... account đang cài đặt Db2 sẽ được sử dụng! Sau đó tiếp tục nhấn Next cho tới lúc Finish, bạn sẽ có đc bản cài đặt Db2 Express-C trên hệ thống của mình! 12 Tìm hiểu Db2 Nhóm 3 Tin k29B I.4Kết nối với máy chủ Db2 Để kết nối từ 1 máy khách tới 1 máy chủ db2, bạn thường cần cài đặt 1 trình khách db2 trên máy khách! KHÔNG phải lúc nào cũng yêu cầu điều này, ví dụ ta không cần cài trình khách Db2 cho ứng dụng... hình dung rõ ràng hơn về các lọa trình chủ này 15 Tìm hiểu Db2 Nhóm 3 Tin k29B Có nhiều phương pháp để thiết lập kết nối từ máy chủ tới máy khách! Để đơn giản, chúng ta sẽ sử dụng công cụ Trợ giúp cấu hình 1.Khởi động công cụ trợ giúp áu hình bằng leh db2ca hay Start -> Programs -> IBM DB2 -> DB2COPY1 -> Set-up Tools -> Configuration Assistant 16 Tìm hiểu Db2 Nhóm 3 Tin k29B Trước khi thực hiện việc kết... hệ thống như sau: II.Các công cụ Db2 Làm thế nào bạn có thể giao tiếp với db2? Làm thế nào bạn cung cấp các lệnh SQL hay Xquery và thực hiện các lệnh db2? Liệu có công cụ nào mà có giao diện đồ họa thân thiện để dễ sử dụng hay ko? Câu trả lời là có, và rất nhiều! DB2 23 Tìm hiểu Db2 Nhóm 3 Tin k29B cung cấp nhiều công cụ cho bạn sử đụng.Sau đây là một số công cụ của DB2 1.Các công cụ dòng lệnh:(bạn... phát triển! Điểm khác biệt giữa Db2 Runtime Client & 1 driver là Db2 Runtime Client hỗ trợ tất cả các API kết nối được hỗ trợ bởi Db2 9! Trong khi đó thì 1 driver chỉ hỗ trợ cho những API được tạo cho nó! Thin client, cũng được biết như 1 dump terminal là 1 máy không có mã trình khách db2! Trình khách này phải lấy tất cả thư viện và module từ 1 máy khác 14 Tìm hiểu Db2 Nhóm 3 Tin k29B để hoàn thành... Command window: • CLP có thể thực hiện các lệnh CLP( gồm các lệnh của db2, Sql, XQUERY ) • Command window có thể thực hiện các lệnh của HDH, các lệnh của db2 (như db2start,db2restart, db2stop) • Command window có thể thực hiện các lệnh CLP bằng cách gọi db2 clp_command(chế độ không giao tiếp) • Command window có thể triệu gọi CLP bằng lệnh db2, khi đó Command window sẽ chuyển vào môi trường của CLP(chế độ... tiếp! Trong chế độ này, để thực thi các lệnh CLP, bạn cần thêm db2 trước lệnh(ta có thể hiêu db2 là 1 lệnh và lệnh CLP kia trở thành tham số của lệnh db2 này)! 25 Tìm hiểu Db2 Nhóm 3 Tin k29B Ví dụ: để kết nối với cơ sở dũ liệu sample thì trong chế độ giao tiếp ta dùng lệnh connect to sample, còn trong chế độ không giao tiếp ta dùng lệnh db2 connect to sample; -Chế độ không giao tiếp sử dụng file nhập... vấn dữ liệu! SQL cũng là 1 ngôn ngữ, nó là tập hợp của các câu lệnh, hàm và kiểu dữ liệu! Đầu tiên, ta cần tìm hiểu một số thuật ngữ db2! Ta cần biết về các thành phần hay đối tượng nòng cốt của mỗi cơ sở dũ liệu db2! Những đối tượng này là: -Bảng -Sơ đồ -Không gian bảng -Khung nhìn 33 Tìm hiểu Db2 Nhóm 3 Tin k29B -Indexs 1.Sơ đồ:(Schema) Schemas là những đối tượng dữ liệu được sử dụng để nhóm các đối... ) Có 3 loại bảng Trong db2 là: -Bảng vĩnh cữu -Bảng tạm thời(Declared) -Bảng tạm thời(derived) Kiểu dữ liệu -Mỗi cột trong 1 bảng của db2 phải là 1 dạng dữ liệu nào đó! Có 2 dạng kiểu dữ liệu trong db2: -Kiểu dữ liệu được xây dựng sẵn 35 Tìm hiểu Db2 Nhóm 3 Tin k29B +Kiểu dữ liệu XML: XML là viết tắt của Extensible Markup Language, và đây là kiểu dữ liệu mới xuất hiện trong Db2 9! Mục đích chung của... -dki_tu_khac! Để xuất ra kết quả của quá trình chạy script, bạn thêm option -v! 26 Tìm hiểu Db2 Nhóm 3 Tin k29B *Command Editor:là một công cụ giao điện đồ họa của công cụ Command Line Processsor! Ta có thể khởi dộng Command Editor qua hệ thống menu start của db2, hoặc dùng lệnh db2ce! Dùng CE bạn có những điểm lợi sau: -Chạy nhiều lệnh db2và sql một cách trực quan! Với CLP, muốn chạy nhiều lệnh ta phải lưu vào... khác để tránh nhầm lẫn, còn nếu không, bạn có thể bỏ qua, hệ thống theo mặc định sẽ dùng chính tên cơ sở dũ liệu đó để làm bí danh 20 Tìm hiểu Db2 Nhóm 3 Tin k29B Tiếp thep, bạn có thể chọn để đăng kí kết nối cơ sở dũ liệu như 1 nguồn dũ liệu ODBC rồi nhấn Next! 21 Tìm hiểu Db2 Nhóm 3 Tin k29B Sử dụng cửa sổ nguồn dũ liệu(Data Source) để nhập các thông số liên quan tới máy chủ dũ liệu ở xa! Bạn nên điền

Ngày đăng: 16/07/2016, 11:28

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