Thứ Bảy, 1 tháng 10, 2011

Sử dụng các đối tượng DB2: Tạo các lược đồ, bảng và khung nhìn - P4

Nói chung, dữ liệu được lưu giữ trong các bảng quan hệ trong DB2. Mỗi bảng gồm có một số cột và dòng. Các cột của bảng được định nghĩa trong khi tạo bảng. Chúng cũng có thể sau đó được bổ sung hoặc bớt đi khi bảng đã được tạo ra. Dữ liệu lưu trữ trong một bảng cần nhất quán với các định nghĩa của cột. Mỗi bảng có thể có nhiều chỉ mục và khung nhìn. 

Một khung nhìn giống như một bảng lôgíc, tạo thành từ tập kết quả của một câu lệnh SELECT từ một hoặc nhiều bảng hoặc khung nhìn khác. Không giống như bảng quan hệ, dữ liệu trong một khung nhìn không cần phải lưu vật lý trên đĩa. Dữ liệu sẽ được tạo ra khi khung nhìn được truy vấn. Một khung nhìn không sử dụng không gian vật lý nào khác ngoài các định nghĩa của nó được lưu giữ trong các danh mục hệ thống. 

Bạn có thể sử dụng ngôn ngữ xử lý dữ liệu (Data Manipulation Language - DML) để truy vấn một khung nhìn hoặc thậm chí cập nhật một khung nhìn sau khi nó được tạo ra. Các khung nhìn cung cấp khả năng truy cập dữ liệu linh hoạt hơn đến một tập con của một bảng hoặc nối tập kết quả từ nhiều bảng, trong khi lại ẩn giấu độ phức tạp của dữ liệu trong các bảng cơ sở. 

Để cung cấp một cái nhìn lôgic về các đối tượng cơ sở dữ liệu, như các bảng, chỉ mục, khung nhìn, hãy phân loại chúng bằng cách sử dụng một hoặc nhiều lược đồ. Lược đồ là một phân loại lôgíc của các đối tượng cơ sở dữ liệu. Bạn có thể tạo ra nhiều đối tượng cơ sở dữ liệu bằng cách sử dụng cùng một lược đồ hoặc các lược đồ khác. Ví dụ trong vùng bảng SYSCATSPACE, tất cả các bảng và chỉ mục hệ thống cơ sở được nhóm lại vào cùng một lược đồ tên là SYSIBM. Tất cả các khung nhìn trên bảng và chỉ mục cơ sở được nhóm vào một lược đồ là SYSCAT hoặc SYSSTAT. 

Bài tập này giải thích cách tạo lược đồ, bảng và khung nhìn

B1: Từ Trung tâm điều khiển, nhấn All Databases > HELLOWLD > Schemas. Hãy quan sát các lược đồ hiện có mà DB2 đã tạo ra khi tạo một cơ sở dữ liệu. Nhấn Create New Schema từ cửa sổ hiển thị nằm ở phần bên dưới của cửa sổ bên phải. 

B2: Từ thủ thuật tạo lược đồ (Create Schema wizard), nhập tên lược đồ mới là HWLD. Sử dụng tên ủy quyền (Authorization Name) mặc định. Nhấn OK để chạy lệnh CREATE SCHEMA. Một lần nữa nhấn Show SQL để xem lệnh DB2 thực tế. Sau khi lệnh hoàn tất, kiểm tra xem HWLD đã hiển thị ra trong vùng xem các lược đồ chưa. 

B3: Khi tạo một đối tượng, hãy ghi rõ tên lược đồ mà bạn muốn nó thuộc về lược đồ này. Nếu một tên lược đồ không được xác định rõ ràng, thì theo mặc định, ID của người sử dụng được lấy làm lược đồ, nếu như người sử dụng có quyền ưu tiên IMPLICIT_SCHEMA (các quyền ưu tiên được bàn luận chi tiết trong tài liệu tiếp theo của loạt bài này). Xem Tài nguyên để nhận đường link đến toàn bộ loạt bài Hello World. 

B4: Để tạo một bảng, chọn All Databases > HELLOWLD > Tables từ bên trái của cửa sổ hiển thị của Trung tâm điều khiển. Nhấn Create New Table từ cửa sổ hiển thị đáy bên phải. Thủ thuật tạo bảng mới sẽ khởi chạy và dẫn dắt bạn qua các bước tạo bảng. 

B5: Trong thủ thuật tạo bảng mới, đầu tiên chọn HWLD từ trình đơn thả xuống làm tên lược đồ. Nhập vàoAUTHOR làm tên bảng. Gõ vào một chú thích miêu tả. Nhấn Next

B6: Từ trang Columns, nhấn Add để thêm cột cho bảng AUTHOR. Từ trang Add Column, chỉ rõ AUTHOR_NAME làm tên cột, VARCHAR là kiểu dữ liệu và độ dài là 50=. Nhấn OK

B7: Nhấn Add để thêm cột thứ hai, với AUTHOR_ID là tên cột và kiểu dữ liệu là Integer. Nhấn OK. Thêm một cột thứ ba với tên cột là MODULE_NAME kiểu dữ liệu là CHARACTER, và độ dài là 20. Nhấn OK
Bạn sẽ thấy ba cột liệt kê trong trang Columns. 

Hình 14. Thủ thuật tạo bảng – các cột trong bảng 

B8: Nhấn Next. Trang Phân chia dữ liệu (Data Partitions) xuất hiện. 

B9: Phân chia dữ liệu, một đặc tính mới trong DB2 9, cho phép người sử dụng phân chia một bảng lớn sang nhiều vùng bảng. Nhấn Next để bỏ qua bước này vì bảng AUTHOR sẽ không phải là một bảng lớn cần được phân chia. 

B10: Từ trang vùng bảng, chọn TBSP_DATA1 là vùng bảng. Chọn Use Separate Index Space, và chọn TBSP_INDEX1 làm vùng bảng chỉ mục. Theo tùy chọn bạn cũng có thể xác định một vùng bảng lớn riêng biệt đối với bất kỳ đối tượng lớn nào, tuy nhiên ở đây sẽ không làm như thế. Nhấn Next

B11: Nếu bạn không thấy TBSP_DATA1 hoặc TBSP_INDEX1, hãy hủy thủ tục tạo bảng mới và kiểm tra chắc rằng đã làm tươi cửa sổ hiển thị vùng bảng trong Trung tâm điều khiển. 

B12: Không định nghĩa bất kỳ khóa chính hoặc khoá duy nhất, kích thước hoặc ràng buộc nào vào lúc này. Tiếp tục nhấn Next trên các trang kế tiếp cho đến khi bạn đến trang Summary. 

B13: Dùng Show SQL từ trang Summary để xem lệnh Create Table thực tế. Nhấn Finish để tạo bảng HWLD.AUTHOR. 

B14: Bạn sẽ trông thấy cửa sổ thông báo DB2 (DB20000), cho biết lệnh đã hoàn tất mà không mắc lỗi. Đóng cửa sổ thông báo này. 

B15: Từ Trung tâm điều khiển, khung xem các bảng, nhấn vào bảng AUTHOR vừa tạo ra và bạn sẽ trông thấy định nghĩa các cột bảng, lược đồ và người tạo bảng trong cửa sổ hiển thị. 

Hình 15. Trung tâm điều khiển – xem bảng

B16: Sau khi khảo sát bảng HWLD.AUTHOR, bổ sung thêm một cột nữa tên là AUTHOR_DOC. Định nghĩa nó là một cột XML vì bạn lưu tài liệu XML trực tiếp trong cột XML này. 

B17: Nhấn chuột phải vào AUTHOR, chọn Alter từ trình đơn và thủ thuật Alter Table (sửa đổi bảng) sẽ mở ra. Nhấn Add để bắt đầu thủ thuật Add Column (thêm cột). 

B18: Từ Add Column gõ AUTHOR_DOC làm tên cột và chọn XML làm kiểu dữ liệu. Chọn Nullable để cho biết rằng cột này có thể chứa giá trị NULL (giá trị rỗng). Nhấn OK

B19: Kiểm tra thủ thuật Alter Table để xác nhận một cột XML mới đã được thêm vào chưa. Bạn có tùy chọn để lưu dữ liệu bảng này ở dạng nén, nhất là nếu bạn lo thiếu không gian nhớ và dữ liệu bảng của bạn là lớn. Ở đây hãy để dữ liệu ở dạng không nén. Nhấn OK để kết thúc thủ thuật ALTER TABLE. Một thông báo, DB20000, sẽ được phản hồi. Đóng cửa sổ thông báo này. 

Từ Control Center, Table > Author, bạn sẽ trông thấy cột thứ tư với kiểu dữ liệu là XML. 

B20: Để tạo ra một khung nhìn dựa trên bảng Author, chọn Control Center > All Databases > HWLD > Views > Create New View. Một thủ thuật Create View (tạo khung nhìn) sẽ dẫn dắt bạn qua các bước để tạo khung nhìn. 

B21: Trong thủ thuật Create View, chọn HWLD làm lược đồ của khung nhìn, gõ DB2_AUTHOR làm tên khung nhìn. 

B22: Thay câu lệnh SQL với nội dung sau: 

(AUTHOR_NAME, MODULE_NAME) 
AS
SELECT AUTHOR_NAME, MODULE_NAME FROM HWLD.AUTHOR WHERE MODULE_NAME='DB2 UDB' 

Trong các hộp kiểm, phải đánh dấu chọn None để khung nhìn có thuộc tính chỉ đọc. Nhấn OK để tạo ra khung nhìn DB2_AUTHOR. 

B23: Từ Trung tâm điều khiển, chọn khung nhìn DB2_AUTHOR và hãy xem định nghĩa khung nhìn trong bảng ở nửa dưới bên phải của màn hình. 

Hình 16. Các khung nhìn – Các đối tượng liên quan

B24: Nhấn Show Related Objects. Từ trang Show Related, nhấn lên phiếu Tables. Thông tin về bảng cơ sở của khung nhìn này được hiển thị. Nhấn Close.

Source: Ibm.com

Không có nhận xét nào:

Đăng nhận xét