Hướng dẫn này thảo luận về việc tạo cơ sở dữ liệu DB2, cũng như các phương thức khác nhau được sử dụng để đưa vào và lưu trữ các đối tượng trong một cơ sở dữ liệu.. Các điều kiện tiên qu
Trang 1Chuẩn bị kỳ thi số 731 lấy chứng chỉ DBA (Quản trị cơ sở dữ liệu) DB2 9,
Phần 2: Bố trí dữ liệu
Dwaine Snow, Giám đốc sản phẩm DB2, IBM
Tóm tắt: Tìm hiểu cách tạo cơ sở dữ liệu DB2 và các cơ chế sẵn có để lưu trữ các
bảng, chỉ mục và dữ liệu của bạn trong cơ sở dữ liệu Hướng dẫn này tập trung vào việc phân đoạn, nén, và XML, tất cả đều là các khái niệm quan trọng về phát triển ứng dụng và hiệu năng hoạt động mà bạn cần biết để lưu trữ và truy cập dữ liệu một cách nhanh chóng và hiệu quả Đây là bài thứ hai trong loạt bảy bài hướng dẫn chuẩn bị thi lấy chứng chỉ DB2 DBA mà bạn có thể sử dụng để giúp chuẩn bị
kỳ thi Quản trị Cơ sở Dữ liệu DB2 V9 dành cho Linux, UNIX và Windows (kỳ thi 731)
Trước khi bạn bắt đầu
Về loạt bài này
Nếu bạn đang chuẩn bị dự kỳ thi 731 lấy chứng chỉ quản trị cơ sở dữ liệu (DBA) DB2, bạn đã đến đúng chỗ đây là một kiểu tài liệu tự học Loạt bảy bài hướng dẫn chuẩn bị lấy chứng chỉ DB2 này gồm các khái niệm chính mà bạn cần biết để làm bài kiểm tra Hãy làm bài tập ở nhà của bạn ở đây và giảm bớt căng thẳng trong ngày kiểm tra
Về tài liệu hướng dẫn này
Trang 2Hướng dẫn này thảo luận về việc tạo cơ sở dữ liệu DB2, cũng như các phương thức khác nhau được sử dụng để đưa vào và lưu trữ các đối tượng trong một cơ sở
dữ liệu Hướng dẫn này tập trung vào việc phân đoạn, nén, và XML, tất cả đều là các khái niệm quan trọng về phát triển ứng dụng và hiệu năng hoạt động mà bạn cần biết để lưu trữ và truy cập dữ liệu một cách nhanh chóng và hiệu quả Hướng dẫn này là bài thứ hai trong loạt bảy bài hướng dẫn mà bạn có thể sử dụng để giúp bạn chuẩn bị kỳ thi lấy Chứng chỉ Quản trị Cơ sở dữ liệu DB2 (kỳ thi 731) Tư liệu trong hướng dẫn này chủ yếu đề cập đến các mục tiêu trong Phần 2 của kỳ thi,
có tiêu đề là Bố trí dữ liệu Bạn có thể xem các mục tiêu này tạit: 03.ibm.com/certify/tests/obj731.shtml
http://www-Bạn cũng nên xem phần Tài nguyên ở phần cuối của hướng dẫn này để có nhiều thông tin hơn về quản trị máy chủ DB2
Mục tiêu
Sau khi hoàn thành này hướng dẫn này, bạn sẽ có thể:
Tạo cơ sở dữ liệu
Sử dụng các lược đồ
Xác định nhiều trạng thái vùng bảng khác nhau
Tạo và thao tác các đối tượng DB2
Tạo một vùng bảng SMS và hiểu được các đặc trưng của nó
Hiểu biết về các đặc trưng và cách sử dụng việc lưu trữ tự động của DB2
Trang 3 Thực hiện phân đoạn bảng và phân cụm đa chiều (MDC -
Multi-dimensional clustering) trên các bảng của bạn
Sử dụng phép nén bảng
Sử dụng XML
Các điều kiện tiên quyết
Để hiểu một số tư liệu trình bày trong hướng dẫn này, bạn cần phải quen thuộc với các thuật ngữ sau đây:
Đối tượng: Bất cứ cái gì trong một cơ sở dữ liệu mà có thể được tạo ra
hoặc thao tác bằng SQL (ví dụ các bảng, các khung nhìn, các chỉ mục, các gói)
Bảng: Một cấu trúc logic được sử dụng để trình bày dữ liệu như là một tập
hợp các hàng không sắp thứ tự với một số cột cố định Mỗi cột chứa một bộ các giá trị, mỗi giá trị có cùng một kiểu dữ liệu (hoặc một kiểu phụ của kiểu
dữ liệu của cột); các định nghĩa của các cột tạo thành cấu trúc bảng, và các hàng chứa dữ liệu thực tế của bảng
Bản ghi (Record): Là lưu trữ của một hàng trong một bảng
Trường (Field): Là lưu trữ của một cột trong một bảng
Giá trị (Value): Một mục dữ liệu cụ thể, tại mỗi điểm giao nhau giữa một
hàng và một cột trong một bảng cơ sở dữ liệu
Trang 4 Structured Query Language (SQL-Ngôn ngữ truy vấn có cấu trúc ):
Một ngôn ngữ được tiêu chuẩn hoá dùng để định nghĩa các đối tượng và thao tác dữ liệu trong một cơ sở dữ liệu quan hệ (Để biết thêm chi tiết về SQL, xem hướng dẫn thứ tư trong loạt này)
Bộ tối ưu hoá DB2 (DB2 optimizer): Một thành phần của bộ tiền biên
dịch SQL, nó chọn một sơ đồ truy cập cho một câu lệnh Ngôn ngữ Thao tác
Dữ liệu SQL (DML) bằng cách mô hình hoá chi phí thi hành một vài sơ đồ truy cập có thể thay thế lẫn nhau và chọn ra sơ đồ nào có chi phí dự tính ít nhất
Để dự kỳ thi DB2 9 DBA, bạn phải qua được kỳ thi số 730, Cơ bản DB2 9 (DB2 9 Fundamentals exam 730) Nếu có sẵn, chúng tôi khuyên bạn nên đọc loạt bài hướng dẫn Cơ bản DB2 (DB2 Fundamentals tutorial series) trước khi bắt đầu loạt bài này
Mặc dù không phải tất cả các tư liệu thảo luận trong loạt bài hướng dẫn Cơ bản là cần thiết để hiểu được các khái niệm mô tả trong hướng dẫn này, bạn ít nhất phải
Trang 5
Yêu cầu về hệ thống
Bạn không cần một bản sao của DB2 để hoàn thành hướng dẫn này Tuy nhiên, bạn sẽ thu nhận được nhiều hơn từ hướng dẫn này nếu bạn tải về phiên bản dùng thử miễn phí IBM DB2 9 để làm việc cùng với hướng dẫn này
Tạo một cơ sở dữ liệu
Các thư mục cơ sở dữ liệu
Với mỗi cá thể trình quản trị cơ sở dữ liệu tồn tại một tệp chỉ dẫn (directory) cơ sở
dữ liệu hệ thống, tệp tin này chứa một mục dành cho mỗi cơ sở dữ liệu đã được
lên danh mục cho cá thể này Cơ sở dữ liệu được ngầm lên danh mục khi lệnh create database được phát ra, và cũng có thể được lên danh mục một cách tường minh với lệnh catalog database (lên danh mục cơ sở dữ liệu)
Một tệp chỉ dẫn (directory) cơ sở dữ liệu cục bộ tồn tại trong mỗi ổ đĩa hoặc
đường dẫn trong đó cơ sở dữ liệu đã được định nghĩa Tệp chỉ dẫn này chứa một mục dành cho mỗi cơ sở dữ liệu có thể truy cập từ vị trí đó
Tạo một cơ sở dữ liệu
Khi bạn tạo ra một cơ sở dữ liệu, từng tác vụ sau đây được thực hiện:
Thiết đặt tất cả các bảng danh mục hệ thống mà cơ sở dữ liệu cần đến
Cấp phát nhật ký khôi phục cơ sở dữ liệu
Tạo tệp tin cấu hình cơ sở dữ liệu và bộ các giá trị mặc định
Trang 6 Kết buộc các tiện ích cơ sở dữ liệu với cơ sở dữ liệu
Số của phân đoạn cơ sở dữ liệu cho phân đoạn danh mục đó
Ổ đĩa hoặc đường dẫn trên đó tạo ra cơ sở dữ liệu
Bộ mã ký tự (codeset) và vùng lãnh thổ
Tuần tự sắp xếp chuỗi ký tự (Collating sequence)
Kích thước dải trang (extent) mặc định (N.D: cùng với trang (page), dải trang (extent) là đơn vị cơ sở để tổ chức không gian nhớ Một dải trang là 8 trang nhớ liền nhau, hay 64 KB)
Cơ sở dữ liệu có được tự động lập cấu hình hay không
Trang 7 Các định nghĩa vùng bảng của các vùng bảng CATALOG, TEMPORARY,
Dùng cho các bảng tạm thời được hệ thống tạo ra Vùng bảng
TEMPSPACE1 có thể được hủy bỏ khi đã tạo ra một vùng bảng do người
Trang 8Một tập hợp các bảng danh mục hệ thống được tạo ra và duy trì cho từng cơ sở dữ liệu Các bảng này chứa thông tin về các định nghĩa của đối tượng cơ sở dữ liệu (ví dụ như bảng, khung nhìn, chỉ mục, các gói) và thông tin bảo đảm an ninh cho các kiểu truy cập mà người sử dụng có đối với các đối tượng này Các bảng này được lưu trong vùng bảng SYSCATSPACE
Cấu trúc thư mục
Lệnh create database cho phép bạn quy định ổ đĩa hoặc thư mục trên đó tạo ra cơ
sở dữ liệu, tuỳ thuộc vào hệ điều hành
Nếu không quy định ổ đĩa hoặc thư mục, cơ sở dữ liệu được tạo ra trên đường dẫn được xác định bởi tham số cấu hình DFTDBPATH của cá thể (trình quản trị cơ sở
dữ liệu)
Nếu không quy định ổ đĩa hoặc thư mục, và và tham số cấu hình mức cá thể
DFTDBPATH, cơ sở dữ liệu được tạo ra trên ổ đĩa hoặc đường dẫn nơi lệnh create database đã được thi hành
Lệnh create database tạo ra một loạt các thư mục con Thư mục con đầu tiên được đặt tên theo tên chủ sở hữu cá thể của cá thể mà trong đó cơ sở dữ liệu đã được tạo
ra Dưới thư mục con này, DB2 tạo ra một thư mục cho biết cơ sở dữ liệu đã được tạo ra trong phân đoạn cơ sở dữ liệu nào
Đối với một cơ sở dữ liệu không phân đoạn, thư mục này sẽ là NODE0000 Đối với một cơ sở dữ liệu được phân đoạn, thư mục sẽ được đặt tên là NODExxxx, trong đó xxxx sẽ là bốn chữ số, là số hiệu phân đoạn của cá thể cơ sở dữ liệu như
Trang 9đã quy định trong tệp tin db2node.cfg Ví dụ, đối với phân đoạn số 43, thư mục sẽ
là NODE0043
Trong Windows, các cá thể không thực sự có một chủ sở hữu cá thể, do đó tên của
cá thể này (ví dụ, DB2) sẽ được sử dụng thay cho mã nhận dạng của chủ sở hữu cá thể
Do có hơn một cơ sở dữ liệu có thể được tạo ra trên cùng một ổ đĩa hoặc thư mục, mỗi cơ sở dữ liệu phải có thư mục con của chính nó Dưới thư mục NODExxxx, sẽ
có một thư mục SQLxxxxx cho mỗi cơ sở dữ liệu đã được tạo ra trên ổ đĩa hoặc thư mục ấy Ví dụ, hãy tưởng tượng chúng ta có hai cơ sở dữ liệu, DBASM và SAMPLE, mà cả hai đã được tạo ra trên ổ C: trên Windows Sẽ có hai thư mục: SQL00001 và SQL00002
Để xác định thư mục trong đó cơ sở dữ liệu đã được tạo ra, gõ nhập lệnh list
database directory on C: Việc này sẽ tạo ra kết quả tương tự như sau:
Trang 10Trong ví dụ trên, cơ sở dữ liệu SAMPLE đã được tạo ra trong thư mục SQL00001
và cơ sở dữ liệu DBASM đã được tạo ra trong thư mục SQL00002 dưới thư mục NODExxxx
Các ví dụ lệnh create database trên Linux/Unix
Để tạo một cơ sở dữ liệu trên thư mục /database, sử dụng lệnh sau đây:
create database sample on /database
Nếu lệnh này đã được thi hành trong cá thể có tên là dbinst, trên máy chủ nơi phân đoạn cơ sở dữ liệu số 0 được định nghĩa, cấu trúc thư mục sau đây sẽ được tạo ra:
/database/dbinst/NODE0000/sqldbdir
Trang 11 /database/dbinst/NODE0000/SQL00001
Các ví dụ lệnh create database trên Windows
Để tạo một cơ sở dữ liệu trên ổ D:, sử dụng lệnh sau đây:
create database sample on D:
Nếu lệnh này đã được thi hành trong cá thể có tên là dbinst, trên máy chủ nơi phân đoạn cơ sở dữ liệu số 0 được định nghĩa, cấu trúc thư mục sau đây sẽ được tạo ra:
D:\dbinst\NODE0000\sqldbdir
D:\dbinst\NODE0000\SQL00001
Tạo vùng bảng USERSPACE1 là vùng do cơ sở dữ liệu quản lý (DMS)
Để tạo một cơ sở dữ liệu và định nghĩa vùng bảng USERSPACE1 là vùng được cơ
sở dữ liệu quản lý (DMS - database managed space), bằng cách sử dụng hai thùng chứa tệp tin, hãy dùng lệnh sau đây:
Trên Linux hoặc UNIX:
Trang 12create database sample2 user table space managed by database
using(file '/dbfiles/cont0' 5000, file '/dbfiles/cont1' 5000)
Trên Windows:
create database sample2 user table space managed by database
using(file 'c:\dbfiles\cont0' 5000, file 'c:\dbfiles\cont1' 5000)
Tạo vùng bảng TEMPSPACE1 với các thùng chứa do người sử dụng định nghĩa
Để tạo một cơ sở dữ liệu và định nghĩa vùng bảng TEMPSPACE1 để sử dụng hai thùng chứa SMS (xem vùng bảng SMS), sử dụng lệnh sau đây:
Trên Linux hoặc UNIX:
create database sample3 temporary tablespace managed by system
using('/dbfiles/cont0', '/dbfiles/cont1')
Trang 13Trên Windows:
create database sample3 temporary tablespace managed by system
using('c:\dbfiles\cont0', 'c:\dbfiles\cont1')
Thay đổi tuần tự sắp xếp chuỗi ký tự cho cơ sở dữ liệu
Lệnh (trong Linux và UNIX):
create database SAMPLE on /mydbs collate using
identity
hoặc trên Windows:
create database SAMPLE on D: collate using identity
tạo ra một cơ sở dữ liệu và so sánh các chuỗi ký tự theo từng byte một, do tuần tự sắp xếp (collating sequence) đã được thiết đặt là identity
Trang 14Lưu trữ tự động
Lưu trữ tự động là gì?
Lưu trữ tự động, điểm mới trong DB2 V9, cho phép bạn chỉ rõ một hoặc nhiều
đường dẫn lưu trữ cho một cơ sở dữ liệu Sau đó khi bạn tạo ra vùng bảng, chúng
sẽ được DB2 tự động đặt vào đường dẫn lưu trữ Bạn có thể bật cho phép hoặc lập cấu hình lưu trữ tự động cho một cơ sở dữ liệu khi nó được tạo ra, như sau:
db2 create database db_name automatic storage yes
db2 create database db_name on db_path1, db_path2
Bạn có thể thêm các đường dẫn lưu trữ vào một cơ sở dữ liệu đã thiết đặt lưu trữ
tự động bằng cách sử dụng tham số add storage, như sau:
db2 alter database db_name add storage on db_path3
Sử dụng lưu trữ tự động
Một khi cơ sở dữ liệu của bạn đã được thiết đặt để lưu trữ tự động, bạn có thể tạo vùng bảng bằng cách sử dụng cơ chế này Bạn có một số cách để tận dụng việc lưu
Trang 15trữ tự động một khi cơ sở dữ liệu đã được thiết lập như vậy Bạn có thể chỉ cần tạo
ra một vùng bảng trong cơ sở dữ liệu (một khi bạn được kết nối với cơ sở dữ liệu), như sau:
db2 create tablespace ts_name
Trang 16db2 create tablespace ts_name
managed by automatic storage
Sử dụng lược đồ (schema)
Lược đồ là gì?
Một lược đồ là một tên phân biệt ở mức cao cho các đối tượng cơ sở dữ liệu được
tạo ra bên trong một cơ sở dữ liệu Nó là một bộ sưu tập của các đối tượng cơ sở
dữ liệu chẳng hạn như các bảng, khung nhìn, chỉ mục, hoặc các kích hoạt
(triggers) Nó đem lại sự phân loại logic các đối tượng cơ sở dữ liệu
Khi bạn tổ chức dữ liệu của bạn thành các bảng, có thể sẽ có lợi khi nhóm lại với nhau các bảng và các đối tượng liên quan khác Điều này được thực hiện bằng cách định nghĩa một lược đồ, sử dụng lệnh create schema Thông tin về lược đồ được giữ trong bảng danh mục hệ thống của cơ sở dữ liệu mà bạn đang kết nối Khi các đối tượng khác được tạo ra, chúng có thể được đặt trong lược đồ này
Trang 17Quyền SELECT cấp cho PUBLIC trên lược đồ này Đây là các khung nhìn chỉ đọc của danh mục Khuyến cáo nên dùng cách này để lấy thông tin danh mục
Lược đồ được sử dụng trong DB2 như thế nào?
Sử dụng một lược đồ để có tên phân biệt đầy đủ cho một bảng hoặc đối tượng khác, như sau:
schemaname.tablename
Bạn có thể có nhiều bảng có cùng tên nhưng tên lược đồ khác nhau Như vậy, bảng user1.staff không giống như user2.staff Kết quả là bạn có thể sử dụng lược
đồ để tạo cơ sở dữ liệu logic trong một cơ sở dữ liệu DB2
Để tạo một lược đồ, sử dụng lệnh create schema (tạo lược đồ)
Trang 18
Ai có thể sử dụng lược đồ?
Khi bạn có thể tạo ra một lược đồ, bạn có thể chỉ rõ chủ sở hữu của lược đồ bằng cách sử dụng từ khóa authorization; nếu bạn không làm như vậy, mã nhận dạng (ID) ủy quyền đã thực hiện lệnh create schema sẽ là chủ sở hữu của lược đồ Các đặc quyền với lược đồ cũng có thể đồng thời được cấp cho những người sử dụng hoặc các nhóm người sử dụng (Xem Phần 1 trong loạt bài này để có nhiều thông tin hơn về đặc quyền.)
Một khi lược đồ đã tồn tại, chủ sở hữu của lược đồ có thể cấp đặc quyền
CREATE_IN trên lược đồ cho những người sử dụng hoặc các nhóm khác
Chỉ rõ lược đồ khi tạo ra một đối tượng
Tên lược đồ dành cho một đối tượng có thể được chỉ rõ tường minh như sau:
create table DWAINE.table1 (c1 int, c2 int)
Nếu người sử dụng DWAINE kết nối cơ sở dữ liệu SAMPLE, và phát ra lệnh sau:
Trang 19create table t2 (c1 int)
Lược đồ DWAINE được tạo ra (chừng nào mà IMPLICT_SCHEMA chưa bị thu hồi lại từ người sử dụng DWAINE), cũng như bảng t2 trong cơ sở dữ liệu
Mã nhận dạng được sử dụng để kết nối cơ sở dữ liệu gọi là mã nhận dạng ủy quyền
Chỉ rõ lược đồ khi sử dụng các lệnh thao tác dữ liệu (DML)
Khi sử dụng các lệnh thao tác dữ liệu (ví dụ như select, insert, update, delete) trên các đối tượng cơ sở dữ liệu:
Có thể chỉ rõ tường minh lược đồ của đối tượng trong tên đối tượng, chẳng hạn như schema1.table1
Có thể chỉ rõ lược đồ của đối tượng bằng cách sử dụng lệnh set set current schema hoặc set current sqlid
Nếu không có lược đồ đối tượng nào được chỉ rõ tường minh, lược đồ sẽ được đặt là mã nhận dạng (ID) ủy quyền hiện tại
Ví dụ, nếu người sử dụng DWAINE kết nối cơ sở dữ liệu SAMPLE và phát ra lệnh
sau:
Trang 20select * from t2
bảng được chọn là DWAINE.T2, nếu có bảng này Nếu không thì sẽ trả về một lỗi
Các trạng thái vùng bảng
Xác định một trạng thái của vùng bảng
Để tìm trạng thái vùng bảng trong cơ sở dữ liệu:
list tablespaces show detail
Các trạng thái vùng bảng
Một vùng bảng có thể có một số trạng thái khác nhau, như dưới đây
Trang 21Tạo và thao tác các đối tượng DB2 khác nhau
Trang 22Khi một cơ sở dữ liệu được tạo ra, một vùng đệm mặc định được tạo ra cho cơ sở
dữ liệu đó Vùng đệm IBMDEFAULTBP này có kích thước trang 4 KB và tổng kích thước tuỳ thuộc vào hệ điều hành Đối với Windows, vùng đệm mặc định là
250 trang hay là 1 MB; đối với UNIX, vùng đệm mặc định là 1.000 trang hoặc 4
MB Vùng đệm mặc định không thể bị hủy bỏ, nhưng kích thước của nó có thể được thay đổi bằng cách sử dụng lệnh alter bufferpool
Tạo một vùng đệm
Lệnh create bufferpool có các tùy chọn để chỉ rõ những thứ sau đây:
Tên vùng đệm
Quy định tên của vùng đệm Tên gọi này không thể được sử dụng cho bất
kỳ vùng đệm khác và không thể bắt đầu bằng ký tự SYS hoặc IBM
Trang 23immediate
Quy định rằng vùng đệm sẽ được tạo ra ngay nếu có đủ bộ nhớ sẵn có trên
hệ thống Nếu không có đủ không gian dự trữ trong bộ nhớ chia sẻ cơ sở dữ liệu để cấp phát vùng đệm mới, một cảnh báo được trả lại, và việc tạo ra vùng đệm sẽ được DEFERRED (tạm hoãn), như mô tả dưới đây
Quy định rằng vùng đệm sẽ được tạo ra trên tất cả các phân đoạn trong cơ
sở dữ liệu Đây là mặc định nếu không có nhóm phân đoạn cơ sở dữ liệu nào được chỉ rõ
database partition group
Chỉ rõ các nhóm phân đoạn cơ sở dữ liệu trên đó vùng đệm sẽ được tạo ra Vùng đệm sẽ được tạo ra trên tất cả các phân đoạn cơ sở dữ liệu mà là một phần của nhóm phân đoạn cơ sở dữ liệu đã nêu
size
Quy định kích thước của vùng đệm và được xác định bằng số lượng trang Trong một cơ sở dữ liệu được phân đoạn, đây sẽ là kích thước mặc định cho tất cả các phân đoạn cơ sở dữ liệu nơi các vùng đệm hiện hữu
numblockpages
Trang 24Quy định số trang được tạo ra trong vùng dựa theo khối của vùng đệm Giá trị thực tế của numblockpages có thể khác với giá trị đã quy định do kích thước phải là một bội số của kích thước khối blocksize Vùng dựa theo khối của vùng đệm không thể nhiều hơn 98 phần trăm tổng kích thước vùng đệm Quy định một giá trị bằng 0 sẽ vô hiệu hóa nhập xuất (I/O) theo khối cho vùng đệm
blocksize
Quy định số lượng trang trong một khối đã cho trong vùng dựa theo khối của vùng đệm Kích thước khối phải trong khoảng 2 và 256 trang; giá trị mặc định là 32 trang
pagesize
Quy định kích thước trang được sử dụng cho vùng đệm Kích thước trang mặc định là 4 KB hoặc 4.096 byte Kích thước trang có thể được quy định bằng byte hoặc kilobyte
extended storage/not extended storage
Quy định liệu các trang nạn nhân vùng đệm (victim pages) có được sao chép vào một bộ nhớ sẵn (cache) thứ cấp có tên là vùng lưu trữ mở rộng
(extended storage) hay không Việc lấy dữ liệu từ nơi lưu trữ mở rộng có
hiệu quả hơn so với việc lấy nó từ đĩa nhưng kém hiệu quả hơn so với việc lấy nó từ vùng đệm, do đó nó không áp dụng cho môi trường 64-bit
Một khi một kích thước trang và tên cho một vùng đệm đã được xác định, chúng không thể thay đổi
Trang 25
Các ví dụ lệnh create bufferpool
Lệnh sau đây:
create bufferpool BP1 size 25000
tạo ra một vùng đệm có tên là BP1 với kích thước 100 MB (25.000 trang 4KB).Do kích thước trang không được chỉ rõ, vùng đệm sử dụng kích thước trang mặc định
4 KB Do tuỳ chọn IMMEDIATE là mặc định, vùng đệm được cấp phát ngay và sẵn có để sử dụng khi có đủ bộ nhớ sẵn có để hoàn thành yêu cầu
Lệnh sau đây:
create bufferpool BP2 size 25000 pagesize 8 K
tạo ra một vùng đệm có tên BP2 với kích thước 200 MB (25.000 trang 8 KB) Vùng đệm sử dụng một kích thước trang 8 KB Do tuỳ chọn immediate là mặc định, vùng đệm được cấp phát ngay và có sẵn để dùng khi có đủ bộ nhớ sẵn có để hoàn thành yêu cầu
Lệnh sau đây:
Trang 26create bufferpool BP3 deferred size 1000000
tạo ra một vùng đệm có tên là BP3 với kích thước 4 GB (1,000,000 trang 4KB)
Do kích thước trang không được chỉ rõ, vùng đệm sử dụng kích thước trang mặc định 4 KB Do chỉ rõ tuỳ chọn là deferred vùng đệm không được cấp phát, cho đến khi cơ sở dữ liệu bị ngừng và khởi động lại
Tạo bảng
Để tạo một bảng trong một cơ sở dữ liệu, trước hết bạn phải được kết nối với cơ sở
dữ liệu Bạn cũng phải có quyền SYSADM trong cá thể này, hoặc quyền DBADM hoặc đặc quyền createtab trong cơ sở dữ liệu
Khi tạo một bảng, bạn có thể chỉ rõ những thứ sau đây:
Lược đồ
Tên bảng
Định nghĩa cột
Khoá chính/khoá ngoại
Vùng bảng cho dữ liệu, chỉ mục, và các đối tượng dài
Hình dưới đây trình bày một ví dụ
Trang 27
Bảng được tạo ra ở đâu?
Nếu một bảng được tạo ra mà không có mệnh đề in, dữ liệu bảng (và các chỉ mục
và dữ liệu LOB của nó) được đặt theo thứ tự sau đây:
Trong vùng bảng IBMDEFAULTGROUP, nếu nó tồn tại và nếu kích thước trang là đủ dùng
Trong một vùng bảng do người sử dụng tạo ra, cái mà có kích thước trang nhỏ nhất đủ cho bảng
Trong USERSPACE1, nếu nó tồn tại và có một kích thước trang đủ dùng
Các mệnh đề IN, INDEX IN, và LONG IN quy định các vùng bảng trong đó dữ liệu bảng thông thường, chỉ mục, và các đối tượng dài được lưu giữ Lưu ý rằng điều này chỉ áp dụng cho các vùng bảng DMS
Trang 28
list tables for all Liệt kê tất cả các bảng được định nghĩa
trong cơ sở dữ liệu
list tables for schema
schemaname Liệt kê các bảng của lược đồ đã nêu tên
describe table tablename Trình bày cấu trúc của bảng đã nêu tên
Ví dụ, lệnh sau đây:
describe table department
tạo ra kết quả sau: