Mục tiêu Sau khi hoàn thành bài học này, bạn sẽ có thể: Tự mình tạo ra cơ sở dữ liệu DB2 Lên danh mục để người khác có thể sử dụng Kiểm tra và truy vấn các đối tượng trong cơ sở
Trang 1Chuẩn bị cho kỳ thi cơ bản về DB2 9, Phần 3: Truy cập đến dữ liệu DB2
George Baklarz, Giám đốc DB2, IBM
Tóm tắt: Bài viết này giới thiệu với bạn các đối tượng (objects) cấu thành lên dữ
liệu DB2, và các nhân tố khác ảnh hưởng đến cách dữ liệu được tạo ra Sau khi giới thiệu ngắn gọn về các đối tượng trong DB2, chúng ta sẽ xem xét đến các công
cụ khác nhau để tạo ra (create), truy cập (access), và vận dụng (manipulate) các đối tượng DB2 Đây là bài viết thứ ba trong một loạt các bài viết giúp bạn chuẩn
bị làm việc với kỳ thi 730 về DB2® 9 trên nền Linux®, UNIX®, và Windows™
Trước khi bạn bắt đầu
Giới thiệu về loạt bài viết này
Bạn đang suy nghĩ về việc tìm kiếm chứng chỉ cơ bản về DB2 (Bài thi 730)? Nếu thế, bạn đã tìm đến đúng chỗ rồi đấy Loạt bảy bài viết về việc chuẩn bị thi lấy chứng chỉ DB2 bao gồm toàn bộ kiến thức cơ bản những chủ đề mà bạn cần phải hiểu trước khi bạn đọc câu hỏi đầu tiên của bài thi Thậm chí nếu bạn không
có kế hoạch lấy chứng chỉ ngay lúc này, thì những bài viết này cũng nơi rất tốt để bắt đầu học xem có gì mới trong DB2 9
Giới thiệu về bài viết
Bài viết này là bài thứ ba trong loạt bảy bài viết giúp bạn chuẩn bị cho kỳ thi 730 lấy chứng chỉ DB2 9 Tài liệu trong bài học này bao trùm tất cả các mục tiêu trong phần ba của bài kiểm tra, nó có tiêu đề là "Accessing DB2 Data" (Truy xuất dữ liệu DB2)
Việc cài đặt DB2 không được đề cập trong bài viết này, nếu bạn chưa có DB2, bạn hãy tải và cài đặt phiên bản IBM DB2 9, Express Community Edition Việc cài đặt
Trang 2DB2 sẽ giúp bạn hiểu được rất nhiều khái niệm sẽ được kiểm tra trong kỳ thi lấy chứng chỉ cơ bản DB2 9
Sau khi bạn đã cài đặt DB2, bạn muốn lấy dữ liệu và chạy nó càng nhanh càng tốt Bài học này giới thiệu với bạn các đối tượng làm nên cơ sở dữ liệu DB2 và những nhân tố ảnh hưởng đến cách mà cơ sở dữ liệu được tạo ra Sau khi giới thiệu ngắn gọn về DB2, chúng ta sẽ xem xét các công cụ khác để tạo ra, truy cập và vận dụng các đối tượng này
Mục tiêu
Sau khi hoàn thành bài học này, bạn sẽ có thể:
Tự mình tạo ra cơ sở dữ liệu DB2
Lên danh mục để người khác có thể sử dụng
Kiểm tra và truy vấn các đối tượng trong cơ sở dữ liệu vừa tạo
Những điều kiện tiên quyết
Tiến trình cài đặt DB2 không được trình bày trong bài viết này Nếu bạn chưa có DB2, hãy tải và cài đặt một bản sao của DB2 Express - C Việc cài đặt DB2 sẽ giúp bạn hiểu được nhiều khái niệm sẽ được kiểm tra trong kỳ thi lấy chứng chỉ DB2 9 Family Fundamentals Certification Các hướng dẫn cài đặt sẽ được tài liệu
Trang 3hóa trong cuốn sách Quick Beginnings, mà bạn có thể tìm thấy tại trang Web Hỗ trợ kỹ thuật DB2 dưới tên Technical Information
Các yêu cầu về hệ thống
Bạn không cần phải có bản sao của DB2 để hoàn thành bài học này Tuy nhiên, bạn sẽ gặt hái được nhiều kiến thức hơn nếu bạn tải phiên bản miễn phí của IBM DB2 9 để thực hành theo hướng dẫn trong bài học
Cái gì tạo lên một cơ sở dữ liệu DB2?
Các tính năng về hiệu suất, đặc trưng vật lý, logic của một cơ sở dữ liệu
Một cơ sở dữ liệu DB2 trên thực tế được tạo lên từ một tập hợp các đối tượng Đối với người dùng thì một cơ sở dữ liệu là một tập các bảng có quan hệ với nhau theo một cách nào đó
Đối với người quản trị cơ sở dữ liệu (DBA đó chính là bạn), nó chỉ phức tạp hơn đôi chút Cơ sở dữ liệu thực chất chứa các đối tượng vật lý và logic sau:
Bảng, khung nhìn, danh mục, giản đồ
Các khóa, thủ tục bẫy (triggers), các thủ tục lưu trữ (stored procedures), các gói
Vùng bộ đệm lưu trữ (Buffer pools), các tệp nhật ký (log files), các không gian bảng (table spaces)
Trang 4Một vài đối tượng này, như các bảng hoặc các khung nhìn, giúp xác định cách dữ liệu được tổ chức như thế nào Cuối cùng, một vài đối tượng, như vùng bộ đệm lưu trữ và các đối tượng liên quan đến bộ nhớ khác, chỉ bàn đến việc việc thực thi
cơ sở dữ liệu được quản lý như thế nào
Thay vì dừng lại ở việc kết hợp các tham số và các đối tượng, quản trị viên nên tập trung vào sự thực thi vật lý của cơ sở dữ liệu Làm thế nào để bạn có thể tạo ra một
cơ sở dữ liệu và phân định lưu trữ trên đĩa yêu cầu? Để trả lời câu hỏi này một cách đích đáng, bạn cần hiểu biết về các đối tượng cơ bản trong một cơ sở dữ liệu
và cách mà chúng được ánh xạ tới vị trí lưu trữ vật lý trên đĩa
Mô hình lưu trữ DB2
DB2 có cả mô hình lưu trữ vật lý và logic để xử lý dữ liệu Dữ liệu thực mà người
dùng đề cập đến được tìm thấy trong các bảng Trong khi các bảng này được tạo
lên từ các cột và các dòng, người sử dụng không cần biết về biểu diễn vật lý của
dữ liệu Thực tế này đôi khi được ám chỉ như thể sự độc lập vật lý của dữ liệu
Các bảng được đặt trong không gian bảng Một không gian bảng được dùng như là
một lớp nằm giữa cơ sở dữ liệu và công ten nơ đối tượng (container objects) chứa các bảng dữ liệu thật sự Một không gian bảng có thể chứa nhiều hơn một bảng
Một công ten nơ (bộ chứa) là một thiết bị lưu trữ vật lý, nó có thể được xác định
bởi tên thư mục, tên thiết bị, hoặc một tên tệp Một công ten nơ được gán cho một không gian bảng Một không gian bảng có thể mở rộng qua nhiều các bộ chứa, điều đó có nghĩa là bạn có thể gặp phải các hạn chế về hệ điều hành, cái mà có thể giới hạn số lượng dữ liệu mà một bộ chứa có thể có Mối quan hệ giữa các đối tượng này được thể hiện trong hình dưới đây
Trang 5Mặc dù, bảng là một đối tượng cơ bản trong không gian bảng, một quản trị viên phải hiểu biết về các đối tượng khác trong hệ thống DB2 và cách chúng ánh xạ tới một không gian bảng
Các bảng, các chỉ số, các trường dài, và không gian bảng
Các bảng, các chỉ số và các trường dài (đôi khi còn được gọi là đối tượng lớn kiểu nhị phân) là các đối tượng được tạo ra trong cơ sở dữ liệu DB2 Những đối tượng này được ánh xạ tới một không gian bảng mà tự nó đã được ánh xạ tới ổ đĩa lưu trữ vật lý
Một bảng là một tập các bản ghi dữ liệu không được sắp xếp Nó chứa các cột và
các hàng mà thường được biết đến như là các bản ghi Các bảng có thể là các bảng
vĩnh cửu (permanent (base) tables), bảng tạm được khai báo (temporary (declared) tables), hoặc bảng tạm được chuyển hóa (temporary (derived) tables) Đối với người quản trị, không gian được phân phối cho mỗi đối tượng bảng này, nhưng trong các không gian bảng khác nhau
Một chỉ mục là một đối tượng vật lý liên quan đến một bảng đơn Các chỉ mực
được sử dụng để ép buộc sự duy nhất trong một bảng (nghĩa là chắc chắn việc không có giá trị trùng nhau) và nâng cao hiệu suất khi tìm kiếm thông tin Bạn không cần đánh chỉ mục để chạy các câu lệnh SQL (Structured Query Language), tuy nhiên người sử dụng sẽ đánh giá cao tầm nhìn xa của bạn trong việc tạo ra cho
họ các tiến trình xử lý truy vấn tốc độ cao
Một trường dài (hoặc BLOB) là một dạng dữ liệu trong một bảng Loại dữ liệu này
đặc biệt thường được tạo lên từ những dữ liệu không cấu trúc, như ảnh, tài liệu,
Trang 6tệp nhạc và thường chứa một lượng đáng kể thông tin Việc lưu trữ loại dữ liệu này trong bảng thường dẫn đến tình trạng quá tải khi xử lý các lệnh xóa (deleting), thêm (inserting), và thao tác (manipulating) trên các đối tượng này Thay vì việc chứa chúng trực tiếp trên các dòng của bảng, một con trỏ (pointer) trỏ đến một không gian bảng lớn (Large table space) Các quản trị viên cần hiểu rõ về những loại dữ liệu này để tạo ra được các không gian bảng thích hợp có thể chứa được chúng
Một loại dữ liệu đặc biệt khác nữa là dữ liệu XML (eXtensible Markup Language
- ngôn ngữ đánh dấu mở rộng) XML là loại dữ liệu được chứa trong một hàng (row), hoặc trong một không gian bảng tách rời (separate table space) tương tự như với các đối tượng BLOB Đây là dạng dữ liệu duy nhất có thể kéo dài trong nhiều trang trong một bảng, các dữ liệu khác chỉ được nằm gọn trong một trang như là một hàng Một quản trị viên cần biết cách làm việc với người thiết kế ứng dụng để xác định xem đối tượng XML được chứa trong bảng sẽ được chứa trong một trang dữ liệu bình thường hãy được đặt trong một không gian lưu trữ riêng (separate table space) Nếu hiệu quả tìm kiếm là nhân tố quyết định, người quản trị viên nên sử dụng một trang có kích thước lớn và lưu các cột XML trong cùng không gian bảng như những dữ liệu bình thường khác
Sau khi đã được trang bị những kiến thức về các đối tượng khác nhau trong DB2, bây giờ bạn đã sẵn sàng để xác định loại không gian nào là bạn cần để phần định
dữ liệu
Các không gian bảng DMS và SMS
Trang 7Các không gian bảng là một lớp logic nằm giữa cơ sở dữ liệu và các bảng được chứa trong cơ sở dữ liệu đó Các không gian bảng được tạo ra trong cơ sở dữ liệu, còn các bảng được tạo ra trong các không gian bảng DB2 hỗ trợ ba loại không gian bảng:
Không gian bảng quản lý hệ thống (SMS): Ở đây, người quản lý tệp hệ
thống của hệ điều hành sẽ phân phối và quản lý không gian lưu trữ Trước phiên bản DB2 9, việc tạo ra một cơ sở dữ liệu hoặc bảng không có tham số
sẽ có kết quả trong tất cả các không gian bảng được tạo ra như là các đối tượng SMS
Không gian quản lý cơ sở dữ liệu (Database-Managed Space - DMS): Ở
đây, người quản lý cơ sở dữ liệu điều khiển không gian lưu trữ Không gian bảng về bản chất là một cài đặt file hệ thống có mục đích đặc biệt được thiết kế cho sự gặp mặt tốt nhất của những cái mà người quản lý cơ sở dữ liệu cần
Tự động lưu trữ với DMS (Automatic Storage With DMS): Automated
storage không phải là một loại dữ liệu tách biệt của không gian bảng, nó là một cách khác để xử lý việc lưu trữ DMS Các nơi chứa DMS yêu cầu duy trì nhiều hơn (xem ở phần dưới) và lưu trữ tự động được giới thiệu trong DB2 V8.2.2 như là một cách đơn giản để quản lý không gian
Không gian bảng SMS yêu cầu duy trì ít hơn Tuy nhiên, không gian bảng SMS đưa ra một số lựa chọn sự tối ưu và có thể không hoạt động tốt bằng các không gian bảng DMS
Vậy, bạn nên lựa chọn loại thiết kế không gian bảng nào?
Trang 8Kích thước đã được phân phối có thể được mở rộng hay thu hẹp nhưng yêu cầu có sự can thiệp của người quản trị hệ thống dữ liệu
Kích thước
đã được phân phối có thể tăng tự động
Giảm nhẹ việc
quản trị
Tốt nhất, ít yêu cầu hoặc không yêu cầu sự điều
Tốt, thỉnh thoảng yêu cầu sự điều chỉnh (Ví dụ: EXTENTSIZE PREFETCHSIZE)
Tốt nhất, ít yêu cầu hoặc không yêu cầu sự điều
Trang 9chỉnh chỉnh
Hiệu suất Rất tốt Tốt nhất, có thể đặt tới từ 5 đến 10%
với bộ chứa thô
Tốt nhất, tuy nhiên không
2TB (4K Page)
Ngoài đơn giản hóa việc quản lý bằng cách sử dụng không gian bảng SMS, sự khác nhau đáng kể giữa hai mô hình lưu trữ là kích thước tối đa (maximum size) của một không gian bảng Với việc sử dụng SMS, người quản trị cơ sở dữ liệu bị hạn chế việc đặt kích thước tối đa cho một không gian bảng là 64GB Số lượng này có thể tăng lên bằng cách thay đổi kích thước của trang (page size) thành 32K (512GB), với chi phí thấp nhất có thể sử dụng cho không gian một trang (page) Việc chuyển sang mô hình DMS sẽ làm tăng không gian bảng lên tới 2TB với kích thước một trang là 4K Dung lượng lưu trữ sẵn dùng (available) có thể tăng lên tới 16TB với kích thước một trang là 32K Trong khi có một vài cách khác để tăng kích thước của bảng trong giới hạn 64GB, cách tiếp cận đơn giản nhất có lẽ là dùng các không gian bảng DMS ngay từ đầu
Trang 10
Những cơ sở dữ liệu được kích hoạt khả năng tự động lưu trữ có một tập một hoặc nhiều đường dẫn đến nơi lưu liên quan đến chúng Một không gian bảng có thể được định nghĩa như là "được quản lý bởi bộ lưu trữ tự động" và các bộ chứa của
nó được gán và phân phối bởi DB2 dựa trên những đường dẫn này Một cơ sở dữ liệu chỉ có thể được kích hoạt tính năng tự động lưu trữ khi nó lần đầu tiên được tạo ra Bạn không thể kích hoạt chức năng này cho cơ sở dữ liệu ngay từ đầu không được định nghĩa để sử dụng nó Tương tự, bạn không thể vô hiệu hóa tính năng lưu trữ tự động của cơ sở dữ liệu mà ban đầu đã được thiết kế là có sử dụng tính năng này
Bảng sau tổng kết lại một số sự khác biệt giữa lưu trữ không tự động và lưu trữ tự động
gian bảng được tạo ra
Các công ten nơ không thể được cung cấp khi không gian bảng đã được tạo ra rồi, chúng sẽ gán và
Trang 11phân phối (assigned and allocated) một cách tự động bởi DB2
Việc lấy lại kích thước của các
không gian bảng mặc định là off
(AUTORESIZE NO)
Việc lấy lại kích thước của các không gian bảng mặc định là on (AUTORESIZE YES)
Kích
thước ban
đầu
Kích thước ban đầu của không
gian bảng không thể xác định bởi
mệnh đề INITIALSIZE
Kích thước ban đầu của không gian bảng có thể xác định bởi mệnh đề INITIALSIZE
(ADD, DROP, BEGIN NEW
STRIPE SET, vân vân)
Các hoạt động của công ten nơ không thể thực hiện bởi vì DB2 bị điều khiển bởi trình quản lý không gian
Trang 12Lý do chính về việc giới thiệu các mô hình lưu trữ tự động là đơn giản hóa việc quản lý DMS các bảng trong khi vẫn giữ được các đặc điểm về hiệu suất Có những tình huống nơi mà người quản trị phải định nghĩa tất cả các đặc điểm của các bảng đang được sử dụng, nhưng nhiều ứng dụng sẽ giúp ích từ việc giảm sự quản lý được yêu cầu bởi lưu trữ tự động
Bạn sẽ quyết định xem nên dùng loại không gian bảng nào dựa trên các yếu
tố về lưu trữ và hiệu suất xử lý
Giờ đây bạn đã là một chuyên gia về các loại các không gian bảng khác nhau, đã đến lúc bạn tạo ra một cơ sở dữ liệu đầu tiên Phần tiếp theo sẽ hướng dẫn bạn cách để tạo nó
Việc tạo ra cơ sở dữ liệu đầu tiên
Trang 13Những bước đầu tiên
Giống như một phần của tiến trình cài đặt DB2, bảng First Steps được hiển thị cho phép người dùng tạo ra một số các cơ sở dữ liệu mẫu để làm việc:
Lựa chọn Database Creation sẽ hiển thị thêm một thực đơn để cho phép bạn tạo ra
một cơ sở dữ liệu mẫu (SAMPLE database)
Hầu hết người sử dụng đều muốn tạo ra một cơ sở dữ liệu mẫu và sử dụng nó để khám phá ra các đặc tính của DB2 Cửa sổ này có thể được gọi ra bằng cách chọn First Steps từ thư mục Setup Tools trong nhóm chương trình của DB2 (trong các môi trường Windows) Ngoài ra, việc đưa ra lệnh db2sampl từ cửa sổ DOS cũng
sẽ sinh ra một cơ sở dữ liệu mẫu
Khi nút SAMPLE được chọn, một cửa sổ hiện ra cho phép xác định nơi cơ sở dữ liệu mẫu được tạo ra
Trong khi tạo ra cơ sở dữ liệu mẫu, bạn được khuyến cáo nên chọn tùy chọn XML
and SQL objects and data Tùy chọn này sẽ sinh ra cơ sở dữ liệu trong định dạng
UTF-8 (Unicode) cho phép bạn vận dụng các đối tượng XML Nếu bạn không chọn tùy chọn XML, bạn sẽ không thể thêm các đối tượng dạng XML vào cơ sở
Trang 14Cơ sở dữ liệu thực đầu tiên của tôi
Việc tạo ra một cơ sở dữ liệu DB2 từ một dòng lệnh tương đối đơn giản Để tạo ra một cơ sở dữ liệu, bạn phải gọi trình Command Line của DB2 (CLP) Việc này có thể hoàn thành hoặc là bằng việc lựa chọn Command Line Processor từ Command Line Tools trong nhóm các chương trình DB2 (xem trong hình dưới), hoặc là chạy lệnh db2cmd db2 trong cửa sổ lệnh của hệ điều hành (Để có thêm thông tin về trình xử lý dòng lệnh (Command Line Processor), xem bài viết đầu tiên trong loạt bài viết này.)
Cú pháp tạo ra cơ sở dữ liệu DB2 như sau:
CREATE DATABASE MY1STDB
Nó là cái gì thế? Bạn tự hỏi Đúng là thành phần duy nhất được yêu cầu như là một phần của lệnh tạo cơ sở dữ liệu này chính là tên của cơ sở dữ liệu đó Các nguyên tắc đặt tên là:
Tên cơ sở dữ liệu có thể chứa các ký tự như: a-z, A-Z, 0-9, @, #, và $
Ký tự đầu tiên trong tên phải là chữ cái, @, #, hoặc $ và không được phép
là chữ số hoặc các cụm từ như SYS, DBM, hoặc IBM
Một tên hoặc bí danh của cơ sở dữ liệu là một chuỗi ký tự chứa từ một đến
8 chữ cái, chữ số, hoặc các ký tự trên bàn phím theo các qui tắc mô tả ở trên
Tất nhiên, có nhiều tùy chọn hơn sẵn sàng cho bạn dùng, bạn không phải chỉ đưa
và một cái tên Hãy kiểm tra xem điều gì thực sự xảy ra khi thực hiện lệnh này
Trang 15 SYSCATSPACE: Đây là nơi hệ thống DB2 system catalog được lưu giữ và
nó theo dõi tất cả các siêu dữ liệu (metadata) có liên quan đến các đối tượng DB2
TEMPSPACE1: Vùng làm việc tạm thời nơi DB2 đặt các kết quả trung gian
USERSPACE1: Nơi mà mặc định, các đối tượng của người dùng nằm ở đó (các bảng, chỉ mục)
Tất cả các tệp này được đặt trong một thư mục DB2 tìm được trong ổ đĩa mặc định của bạn Ổ đĩa mặc định thường là ổ đĩa mà bạn cài đặt DB2 trên đó
Với các ứng dụng đơn giản, những cấu hình mặc định này là đủ những thứ bạn cần Tuy nhiên, bạn có thể muốn thay đổi công ten nơ tệp cơ sở dữ liệu hoặc thay đổi cách DB2 quản lý các đối tượng này Chúng ta sẽ tiếp tục tìm hiểu chi tiết thêm về lệnh CREATE DATABASE
Một chú ý đặc biệt với những ai muốn chuyển lên từ phiên bản DB2 8: Những phiên bản trước DB2 9, một lệnh CREATE DATABASE sẽ tạo ra các không gian
Trang 16bảng SMS cho tất cả các đối tượng được liệt kê ở trên Trong DB2 9, tất cả các không gian bảng sẽ được định nghĩa như là các không gian bảng lưu trữ tự động
Lệnh CREATE DATABASE
Cú pháp đầy đủ của lệnh CREATE DATABASE trong DB2 có thể được tìm thấy trong phần tham khảo về các lệnh DB2 (DB2 Command Reference) Sơ đồ dưới minh họa các tùy chọn chính mà một quản trị viên cần quan tâm
Trang 18'-TEMPORARY TABLESPACE | tblspace-defn |-'
Định nghĩa các không gian bảng
tblspace-defn:
| MANAGED BY ->
Trang 20Vị trí của cơ sở dữ liệu
Một trong số những tham số của lệnh CREATE DATABASE là tùy chọn ON path/drive Tùy chọn này nói cho cho DB2 biết nơi bạn có muốn tạo ra cơ sở dữ liệu Nếu đường dẫn không chỉ chỉ ra, cơ sở dữ liệu sẽ được tạo lên đường dẫn mặc định chỉ ra trong thiết lập Database Manager (tham số DFTDBPATH)
Ví dụ, lệnh CREATE DATABASE sau sẽ đặt cơ sở dữ liệu trong thư mục TEST trong ổ D, D là một ổ trên hệ điều hành Windows
Trang 21CREATE DATABASE MYDB ON D:\TEST
Việc chọn Automatic storage (mặc định) cho phép quản trị viên thiết đặt cơ sở dữ liệu với đường dẫn tới nơi lưu trữ có thể được sử dụng cho tất cả các nơi chứa không gian bảng được tạo ra Thay vì quản trị viên chỉ ra vị trí và kích thước các bảng một cách rõ ràng, hệ thống sẽ tự động phân phối chúng Ví dụ, lệnh tạo ra cơ
sở dữ liệu sau thiết lập lưu trữ tự động cho tất cả các không gian bảng trong cơ sở
Trang 22Sau tùy chọn AUTOMATED STORAGE ON, ba đường dẫn đến tệp dữ liệu được chỉ ra Ba đường dẫn này là nơi mà các bộ chứa của không gian bảng được lưu Còn lại là các tùy chọn như:
INCREASESIZE (TĂNG) 75 M (hoặc %)
Khi không gian bảng bị vượt quá không gian qui định, tổng không gian (total space) cho không gian bảng sẽ tăng lên 75M Phần trăm cũng có thể được sử dụng trong trường hợp không gian bảng tăng kích thước lên theo phần trăm so với kích thước hiện tại
MAXSIZE NONE
Kích thước tối đa của không gian bảng sẽ không bị hạn chế Nếu người quản trị cơ sở dữ liệu muốn giới hạn không gian lưu trữ, họ có thể chỉ ra giá trị tối đa (maximum value)
Khi một không gian bảng được định nghĩa sử dụng AUTOMATIC STORAGE, không cần cung cấp thêm một tham số nào khác:
Trang 23CREATE TABLESPACE TEST MANAGED BY AUTOMATIC STORAGE;
Mọi tham số liên quan đến một không gian bảng có thể được cung cấp trong lệnh này Tuy nhiên, việc sử dụng automatic storage có thể làm cho việc duy trì các thường trình của không gian bảng trở lên cực kỳ đơn giản Các không gian bảng liên quan đến các bảng sản phẩm lớn có thể yêu cầu sự can thiệp nhiều hơn của các quản trị
Khi tạo ra một không gian bảng trong một cơ sở dữ liệu mà không kích hoạt tính năng automatic storage Mệnh đề MANAGED BY SYSTEM hoặc MANAGED
BY DATABASE phải được chỉ ra Việc sử dụng những mệnh đề này dẫn đến việc tạo ra một hệ thống được quản lý không gian (system managed space - SMS) hoặc
cơ sở dữ liệu được quản lý không gian (database managed space - DMS) Danh sách các bộ chứa phải được cung cấp rõ ràng trong cả hai trường hợp
Nếu một cơ sở dữ liệu được kích hoạt là automatic storage, lựa chọn khác có thể tồn tại Mệnh đề MANAGED BY AUTOMATIC STORAGE có thể phải được chỉ
ra, hoặc mệnh đề MANAGED BY phải bị bỏ đi hoàn toàn (nó ngầm định chỉ ra automatic storage) Không một định nghĩa container được cung cấp trong trường hợp này bởi vì DB2 gán các bộ chứa tự động
Trang mã và thứ tự sắp xếp
Trang 24Một trang mã ký tự được kết hợp với tất cả các loại dữ liệu kiểu ký tự trong DB2 (CHAR, VARCHAR, CLOB, DBCLOB) Một trang mã có thể được xem như một bảng tham chiếu được sử dụng để chuyển đổi (convert) dữ liệu dạng ký tự
(alphanumeric) thành dữ liệu nhị phân (binary data) được chứa trong cơ sở dữ liệu Một cơ sở dữ liệu DB2 có thể chỉ sử dụng một trang mã đơn Trang mã được thiết lập trong quá trình lệnh CREATE DATABASE sử dụng tùy chọn CODESET và TERRITORY Trang mã có thể sử dụng một byte đơn để biểu diễn một ký tự chữ cái abc (một byte đơn có thể biểu diễn 256 phần tử đơn độc) hoặc bội byte
Hướng dẫn quản trị DB2 liệt kê một số trang mã khác nhau có thể dùng được khi tạo cơ sở dữ liệu Trong hầu hết các thể hiện, một quản trị viên để giá trị mặc định
là trang mã giống như hệ điều hành mà cơ sở dữ liệu đó đang chạy
Một chú ý đặc biệt cho những ứng dụng có yêu cầu sử dụng dữ liệu dạng XML DB2 hiện tại chỉ hỗ trợ cột XML trong một cơ sở dữ liệu mà đã được định nghĩa dạng Unicode (UTF-8) Nếu cơ sở dữ liệu không được tạo ra với sự hỗ trợ
Unicode, bạn sẽ không thể tạo ra dữ liệu XML
Trang 25
Các định nghĩa không gian bảng
Mỗi một trong ba không gian bảng (SYSCATSPACE, TEMPSPACE1,
USERSPACE1) được tạo ra một cách tự động trong thư mục mặc định (ON) trừ khi bạn chỉ ra vị trí của nó Với mỗi không gian bảng, quản trị viên có thể chỉ ra các đặc tính của tệp hệ thống mà không gian bảng đó sử dụng
Ba không gian bảng được định nghĩa theo cú pháp dưới:
Trang 26Nếu bất cứ trong số các từ khóa (keywords) này bị bỏ qua, DB2 sẽ sử dụng giá trị mặc định để sinh ra các không gian bảng Định nghĩa không gian bảng với các tùy chọn này có cú pháp như sau:
Trang 27SYSTEM USING ('container string')
Với mỗi không gian bảng SMS, chuỗi ký tự chỉ nơi chứa chỉ ra một hoặc nhiều bộ
chứa thuộc về không gian bảng và dữ liệu được chứa trong không gian bảng Mỗi chuỗi ký tự chỉ nơi chứa có thể là một tên thư mục dữ liệu tương đối hoặc tuyệt đối Tên thư mục nếu không tuyệt đối thì sẽ là tương đối với thư mục cơ sở dữ liệu Nếu bất kỳ thành phần nào của tên thư mục không tồn tại, nó sẽ được tạo ra bởi người quản lý cơ sở dữ liệu Định dạng của chuỗi ký tự chỉ nơi chứa phụ thuộc vào hệ điều hành
Các không gian bảng DMS được định nghĩa với từ khóa DATABASE USING:
DATABASE USING ( FILE/DEVICE 'container string' number of pages )