Pat Moffatt, Giám đốc Chương trình quản lý thông tin, Sáng kiến học đường, EMC Bruce Creighton, Chuyên viên lập kế hoạch các phần kỹ năng, EMC Jessica Cao, Chuyên viên phát triển các công cụ đào tạo, EMC Tóm tắt: Loạt bài hướng dẫn này giới thiệu cho bạn đọc về cơ sở dữ liệu Aroma để áp dụng kiến thức về ngôn ngữ truy vấn có cấu trúc (SQL) và ngôn ngữ vấn tin XML (XQuery) nhằm giải quyết các câu hỏi nghiệp vụ tiêu biểu. Kèm theo có cả các chỉ dẫn chi tiết để cài đặt DB2®...
Hướng dẫn SQL & XQuery cho IBM DB2 Phần 1: Nhập môn Aroma SQL Pat Moffatt, Giám đốc Chương trình quản lý thơng tin, Sáng kiến học đường, EMC Bruce Creighton, Chuyên viên lập kế hoạch phần kỹ năng, EMC Jessica Cao, Chuyên viên phát triển công cụ đào tạo, EMC Tóm tắt: Loạt hướng dẫn giới thiệu cho bạn đọc sở liệu Aroma để áp dụng kiến thức ngôn ngữ truy vấn có cấu trúc (SQL) ngơn ngữ vấn tin XML (XQuery) nhằm giải câu hỏi nghiệp vụ tiêu biểu Kèm theo có dẫn chi tiết để cài đặt DB2® sở liệu Aroma Hướng dẫn Phần loạt hướng dẫn SQL & XQuery cho IBM DB2 Trước bạn bắt đầu Về loạt Loạt hướng dẫn dạy chủ đề SQL từ đến nâng cao chủ đề XQuery Nó cách diễn đạt câu hỏi nghiệp vụ thường gặp truy vấn sở liệu sử dụng câu truy vấn SQL hay câu truy vấn XQuery Những người phát triển ứng dụng người quản trị sở liệu sử dụng hướng dẫn để nâng cao kỹ truy vấn sở liệu Các thành viên tham gia sáng kiến học đường IBM sử dụng loạt hướng dẫn phần chương trình giảng dạy sở liệu họ Tất ví dụ dựa Aroma, sở liệu mẫu chứa liệu doanh thu sản phẩm cà phê chè bán cửa hàng khắp nước Mỹ Mỗi ví dụ gồm có ba phần: Một câu hỏi kinh doanh dạng ngơn ngữ thường ngày Một nhiều truy vấn ví dụ, biểu diễn SQL hay Xquery Một bảng kết trả từ sở liệu Hướng dẫn thiết kế phép học viên học tập ngôn ngữ SQL XQuery Cũng học khác, việc bổ sung thêm tập thực hành quan trọng Dữ liệu định nghĩa bảng tạo điều kiện thuận lợi cho tập thực hành Đối với sinh viên sử dụng tài liệu phần khoá học, nhận từ thầy hướng dẫn dẫn để kết nối tới sở liệu Aroma tìm hiểu khác biệt hướng dẫn cài đặt máy cục Hướng dẫn viết cho DB2 Express-C UNIX®, Linux® Windows® (trước gọi Viper) Về hướng dẫn Hướng dẫn giới thiệu cho học viên làm quen với sở liệu Aroma, đặc biệt nhóm bảng bán lẻ, định nghĩa bảng, liệu mẫu quan hệ bảng Các bảng tạo để biểu diễn môi trường mà đó: Có bảng Các tên cột sử dụng từ vựng người phân tích Các cột phản ánh hoạt động kinh doanh với kích thước tự nhiên Đây kho liệu nhỏ, tiêu biểu, sử dụng lược đồ hình Một kiểu sở liệu khác để xử lý giao dịch trực tuyến (OLTP) Các sở liệu xử lý giao dịch trực tuyến chứa đựng giao dịch mức độ chi tiết Hướng dẫn giới thiệu SQL gợi ý số câu hỏi kinh doanh tiêu biểu, sử dụng IBM DB2 để giải đáp Các yêu cầu hệ thống Để sử dụng hướng dẫn đầy đủ nhất, bạn cần phải cài đặt IBM DB2 Tải xuống DB2 Express-C, phiên DB2 Express miễn phí dành cho cộng đồng có đủ đặc tính liệu cốt lõi giống phiên DB2 Express cung cấp sở vững để xây dựng triển khai ứng dụng Bạn cần cài đặt sở liệu Aroma, tải xuống Cài đặt DB2 Express- C Để cài đặt DB2 9, thực theo bước sau (hãy dùng tuỳ chọn mặc định, dẫn khác đi): Tìm tới thư mục chứa tệp tải xuống - db2exc_viper_WIN_x86.zip (chúng ta giả sử tệp tải xuống chứa thư mục C:\ DownloadDirector) Giải nén tệp Tìm tệp setup.exe thư mục giải nén nhấp đúp chuột tệp Bảng khởi chạy cài đặt DB2 (DB2 Setup Launchpad) xuất Bên Bảng khởi chạy cài đặt DB2, nhấp chuột vào nút Install a Product (cài đặt sản phẩm) bảng bên trái Tiếp tục nhấp chuột vào nút Install New DB2 Express Trong trình cài đặt, nhấp chuột vào nút Next để xem thỏa thuận cấp phép Bạn phải Accept (chấp nhận) thỏa thuận để tiếp tục nhấn tiếp nút Next Chọn cài đặt Typical nhấp nút Next Đánh dấu chọn vào "Install DB2 Universal Database Express Edition on this computer and save my settings in a response file" để xác nhận bạn muốn “Cài đặt DB2 Universal Database Express Edition máy tính ghi lưu giá trị cài đặt vào tệp”, sau nhấp nút Next Xác định thư mục cài đặt nhấp nút Next Trên hình "Configure DB2 instances" (Cấu hình thể DB2), nhấp nút Next Trong hình "User Information" (thơng tin người sử dụng), sử dụng trình đơn kéo xuống để đặt Domain None use local user account (Không sử dụng tài khoản người dùng cục bộ); đặt User name db2admin đặt mật (Bạn có lựa chọn khác sử dụng tài khoản LocalSystem (hệ thống cục bộ), dùng tùy chọn có số hạn chế sau Nhấp nút Help để tìm hiểu thêm.) Kiểm tra để chắn hộp chọn Use the same user name and password for the remaining DB2 services (Áp dụng tên người dùng mật cho dịch vụ DB2 lại) đánh dấu chọn nhấp nút Next Nhấp nút Next để bỏ qua hình "Prepare the DB2 tools catalog" (Chuẩn bị danh sách công cụ DB2) Để đơn giản hóa việc cài đặt, khơng đánh dấu chọn vào mục Set up your DB2 server to send notifications (Cài đặt để máy chủ DB2 gửi khai báo) nhấp nút Next Kiểm tra để chắn hộp chọn Enable operating system security checkbox (Bật an ninh hệ điều hành) đánh dấu chọn Để nguyên giá trị mặc định cho nhóm quản trị DB2 DB2ADMNS nhóm người dùng DB2 DB2USERS Nhấp nút Next Nhấp nút Finish để bắt đầu cài đặt sản phẩm DB2 bạn nhìn thấy hình "Start copying files and create response file" (Bắt đầu chép tệp tạo tệp response) Khi cài đặt xong, cửa sổ với thông báo "Setup is complete" (Cài đặt xong) xuất Nhấp nút Finish để hồn tất q trình cài đặt Bây giờ, cửa sổ có tiêu đề "DB2 First Steps" (Các bước với DB2) xuất Nhấp nút Create profile Bộ duyệt Web bạn mở trang gọi DB2 First Steps - bước với DB2 Hướng dẫn có nhiều mối liên kết đến thơng tin hữu ích DB2, ta khơng dùng đến hướng dẫn Đóng duyệt Web tiếp tục làm theo hướng dẫn Cài đặt sở liệu Aroma Kiểm tra để DB2 Express-C cài đặt Khởi động cửa sổ lệnh từ Start menu ==> all Programs ==> IBM DB2 ==> Command Line Tools ==> Command Windows Cho chạy create_aroma.bat cửa sổ lệnh Chú ý: Trước đừng quên sử dụng lệnh cdđể di chuyển tới thư mục có chứa tệp Hai tệp, create.txt and report.txt, tạo Mở tệp report.txt so sánh với kết mong đợi đây: TABLE RECORDS - aroma.class aroma.deal aroma.line_items 182 aroma.market 17 aroma.orders 27 aroma.period 821 aroma.product 59 aroma.promotion 194 aroma.sales 69941 aroma.store aroma.supplier 18 Hỗ trợ XML XML XQuery giới thiệu phần loạt Để hỗ trợ XML, sở liệu aromadb tạo lệnh sau: db2 create db aromadb using codeset utf-8 territory us Hãy ý đến thị chọn UTF-8 mã ký tự cho sở liệu Việc sử dụng đặc tính XML bị hạn chế cho sở liệu định nghĩa với mã UTF-8 có phân hoạch sở liệu Trong tương lai, tạo lập sở liệu riêng mình, bạn đừng quên thị chọn tham số này, không sở liệu bạn khơng hỗ trợ đặc tính XML! Nhóm bảng sở liệu Aroma Hầu hết ví dụ hướng dẫn dựa liệu từ sở liệu Aroma, chứa liệu gộp doanh số bán lẻ hàng ngày cửa hàng công ty Cà phê Chè Aroma Cơ sở liệu Aroma chứa bảng ta dùng để nắm bắt tình hình bán hàng cơng ty Cà phê Chè Aroma Có sáu bảng sử dụng để tạo nhóm khác để hiểu rõ doanh thu Các bảng là: Sales (Doanh thu), chứa giao dịch hay gọi kiện; Period (Thời kỳ), Product (Sản phẩm), Store (Cửa hàng), Promotion Class (Loại khuyến mại), Market (Thị trường) Các bảng gọi nhóm bảng bán lẻ Một tập hợp bảng khác chứa liệu để nắm tình hình mua sắm cơng ty Cà phê Chè Aroma Tập hợp bảng gọi nhóm bảng mua sắm sử dụng để hiểu rõ việc mua sắm từ nhà cung cấp Nhóm bảng khơng sử dụng ví dụ hướng dẫn Nó có mặt Phụ lục để cung cấp tranh đầy đủ công ty Cà phê Chè Aroma Hình Nhóm bảng bán lẻ Ký hiệu chân chim biểu đồ biểu thị mối quan hệ - nhiều hai bảng Ví dụ, giá trị phân biệt cột Perkey bảng Period xuất lần bảng lại xuất nhiều lần bảng Sales Các tên cột in chữ đậm cột khố Các tên cột in chữ nghiêng cột khố ngồi Các tên cột in chữ nghiêng đậm cột khóa khố ngồi Dữ liệu mẫu từ bảng trình bày phần sau bạn thấy mối quan hệ khóa - khóa ngồi làm việc Khóa khóa phần định nghĩa bảng Một bảng khơng thể có nhiều khóa chính, cột thuộc khóa khơng thể nhận giá trị null (Sau này, ta nói chi tiết giá trị null Nếu giá trị null, điều có nghĩa có chỗ để lưu giữ liệu, khơng có - điều khác với khoảng trống) Khóa tùy chọn định nghĩa câu lệnh CREATE TABLE ALTER TABLE Khố quan trọng giá trị xuất lần; luôn lựa chọn hàng Có thể vài thành phố tên; nhiên, việc lựa chọn ghi dựa vào khóa bảo đảm luôn chọn hàng Một khóa ngồi rõ định nghĩa ràng buộc tham chiếu Một bảng khơng có hay có nhiều khố ngồi Khóa ngồi phức hợp có giá trị null thành phần có giá trị null Các khóa ngồi tuỳ chọn định nghĩa câu lệnh CREATE TABLE câu lệnh ALTER TABLE Cơ sở bảng Aroma Các bảng cột đặt tên thuật ngữ kinh doanh quen thuộc, làm cho chúng trở nên dễ hiểu sử dụng Một tập hợp bảng thiết kế tốt mang lại lợi ích sau cho người phát triển ứng dụng người dùng cuối: Các câu hỏi nghiệp vụ biểu diễn dễ dàng truy vấn SQL Thực truy vấn nhanh kết trả quán Bạn nhận thấy sở liệu Aroma không ghi giao dịch xảy Dữ liệu gộp lại phản ánh tổng doanh số cửa hàng ngày định, sản phẩm cho, hưởng ưu đãi khuyến mại cụ thể Dữ liệu gộp dạng tiêu biểu cho kho liệu Ý tưởng tổng hợp liệu cho khơng có q nhiều hàng Bình thường, việc người quản trị sở liệu (DBA) hay chương trình máy tính thực Q trình gộp liệu thường gọi ETL (Trích ra, Biến đổi, Nạp vào) Các bảng chiều Period, Product, Class Bảng Period Bảng sau hiển thị vài hàng bảng Period Cột khóa cột Perkey Perkey Date Day Week Month Qtr Year 2004-01-01 TH JAN Q1_04 2004 2004-01-02 FR JAN Q1_04 2004 2004-01-03 SA JAN Q1_04 2004 2004-01-04 SU JAN Q1_04 2004 2004-01-05 MO JAN Q1_04 2004 2004-01-06 TU JAN Q1_04 2004 Các bảng Product Class Bảng sau hiển thị vài hàng bảng Product Khóa kết hợp hai giá trị cột Classkey cột Prodkey: Classkey Prodkey Prod_Name Pkg_Type Veracruzano No pkg 1 Xalapa Lapa No pkg 10 Colombiano No pkg 11 Espresso XO No pkg 12 La Antigua No pkg 20 Lotta Latte No pkg Chú ý: Nhớ lại khố khóa phần định nghĩa bảng Bình thường, khóa cột bảng Trong trường hợp này, khóa phức hợp gồm hai cột Điều có nghĩa có kết hợp bảng Bảng sau hiển thị vài hàng bảng Class table Classkey Class_Type Class_Desc Bulk_beans Bulk coffee products Bulk_tea Bulk tea products Bulk_spice Bulk spices Pkg_coffee Individually packaged coffee products Pkg_tea Individually packaged tea products Pkg_spice Individually packaged spice products Các bảng Store, Market, Promotion Các bảng Store, Market, Promotion chứa thơng tin mơ tả mà người phân tích liệu sử dụng truy vấn sở liệu Ví dụ, bảng Store chứa tên địa cửa hàng; bảng Product chứa thông tin sản phẩm cách đóng gói; bảng Period chứa giá trị theo tháng, quý, năm Mọi bảng có khóa gồm có nhiều cột; hàng bảng nhận biết giá trị (hay giá trị) khóa Các bảng Store Market Bảng sau hiển thị vài hàng bảng Store (một số cột bị cắt bớt để vừa chiều rộng trang) Cột khóa Storekey; Mktkey khố ngồi tham chiếu đến bảng Market StorekeyMktkeyStore_TypeStore_Name Street City StateZip 14 Small Roasters, Los Gatos 1234 University Los Gatos CA 95032 Ave 14 Large San Jose Roasting 5678 Bascom Ave San Jose 14 Medium Cupertino Coffee 987 DeAnza Blvd Cupertino CA 97865 Medium Moulin Rouge 898 Main Street New Orleans LA 70125 10 Small Moon Pennies 98675 University Detroit MI 48209 Small The Coffee Club 9865 Lakeshore Chicago Bl IL CA 95156 06060 Bảng sau hiển thị vài hàng bảng Market Mktkey Hq_city Hq_state District Region Atlanta GA Atlanta South Miami FL Atlanta South New Orleans LA New Orleans South Houston TX New Orleans South Khóa gồm nhiều phần Bảng Sales chứa khóa nhiều phần Mỗi cột số năm cột khóa khóa ngồi tham chiếu đến khóa bảng khác: perkey, classkey, prodkey, storekey, promokey Khóa liên kết liệu Sales với bảng Period, Product, Store, Promotion Bảng Gold Bảng Gold chứa thông tin khách hàng "Thẻ Vàng" phép họ hưởng nhiều loại giảm giá khác nhau, quà tặng miễn phí nhắc nhở qua thư điện tử hoạt động khuyến mại Bảng Gold học viên tạo đến phần loại Nó có cột sau: số ID nhận dạng thẻ, khóa bảng Store, họ, tên, địa thư điện tử trạng thái SQL gì? Ngơn ngữ truy vấn có cấu trúc Ngơn ngữ truy vấn có cấu trúc (SQL) ngơn ngữ chuẩn hóa để định nghĩa xử lý liệu sở liệu quan hệ Tất hệ quản trị sở liệu quan hệ (RDBMS) hiểu SQL Dưới số thông tin SQL: SQL đặc biệt tạo phần lý thuyết quan hệ Bạn cần ngôn ngữ để trao đổi với sở liệu, để lấy liệu, để sửa đổi liệu SQL ngơn ngữ khơng dẫn đường Nói cách khác, với SQL, bạn khơng phải lệnh cho DB2 tìm ghi, đọc trỏ lần theo trỏ tới hàng có liên quan bảng Chỉ cần đơn giản nói DB2 phải làm DB2 biết cách xử lý lệnh Đơn giản thơi! Bạn sử dụng SQL để sửa đổi diện mạo bảng mà đưa ngoại tuyến (offline), thêm cột vào bảng có hay thêm quy tắc nghiệp vụ vào định nghĩa bảng Các câu hỏi hay gặp Dưới mẫu câu hỏi nghiệp vụ mà bạn sử dụng SQL để giải đáp Nhờ câu trả lời, định kinh doanh trọng yếu thực lúc Các câu hỏi dễ Doanh số bán hàng tuần mặt hàng cà phê hiệu Lotta Latte San Jose năm vừa qua bao nhiêu? Doanh số bán trung bình hàng tháng tất sản phẩm cà phê bờ Tây tháng năm vừa qua bao nhiêu? Các câu hỏi khó mức vừa phải Doanh số Lotta Latte San Jose so với doanh số Los Angeles New York nào? Thị phần hàng tháng Lotta Latte thay đổi hai năm qua tất thị trường? Những nhà cung cấp đòi giá cao cho sản phẩm chè rời? Đợt khuyến mại thành công tháng mười hai vừa qua California gì? Các câu hỏi nghiệp vụ khó dùng DB2 để giải đáp Tổng tích lũy doanh thu Lotta Latte theo suốt tháng năm qua bao nhiêu? Tỷ lệ doanh thu hàng tháng tổng doanh thu (tính theo phần trăm) sản phẩm Lotta Latte kỳ bao nhiêu? Mười thành phố có doanh thu cà phê thấp năm 2004 tính theo la tính theo lượng bán ra? Những cửa hàng Aroma thuộc tóp 25 phần trăm xếp theo lợi tức bán hàng quý I năm 2005? Những cửa hàng thuộc nhóm 50 phần trăm cửa hàng rơi vào nhóm đáy 25 phần trăm cịn lại ? Các kiểu liệu Kiểu liệu quy định giá trị chấp nhận số, cột, biến chính, hàm số, biểu thức, ghi đặc biệt Dưới dạng sơ lược nhất, phải định nghĩa liệu có kiểu số có kiểu văn Điều quan trọng hai lý Đầu tiên, với kiểu liệu số, áp dụng hàm số tốn học ví cộng hay trừ trường với Thứ hai, kích thước mục liệu định trước để bảo đảm cấp phát lượng khơng gian nhớ thích hợp Đã bao lần bạn phải điền vào mẫu đơn khơng có đủ chỗ để viết thứ yêu cầu? Tuy nhiên, việc tăng kích thước tất trường tới cực đại dẫn tới có nhiều khoảng trống sở liệu Phần mô tả kiểu liệu đề cập ví dụ Nếu muốn biết danh sách tồn mô tả đầy đủ kiểu liệu khác, tra cứu Hướng dẫn tham khảo SQL Các kiểu số Tất số có dấu độ xác Độ xác số bit hay số chữ số, trừ dấu SMALLINT A SMALLINT (small integer)(số nguyên nhỏ) số nguyên hai byte với độ xác chữ số INTEGER An INTEGER (large integer) (số nguyên lớn) số nguyên bốn byte với độ xác 10 chữ số BIGINT A BIGINT (big integer) (số nguyên lớn hơn) số nguyên tám byte với độ xác 19 chữ số REAL A REAL (single-precision floating-point number) (số dấu phảy động độ xác đơn) biểu diễn gần dài 32 bit số thực DOUBLE A DOUBLE (double-precision floating-point number) (số dấu phảy động độ xác kép) biểu diễn gần dài 64 bit số thực DOUBLE gọi FLOAT A DECIMAL DECIMAL số phập phân Vị trí dấu chấm thập phân xác định độ xác (p) thang độ (s) số Độ xác tổng số chữ số phải nhỏ 32 Thang độ số chữ DECIMAL(p,s) số phần phân số luôn nhỏ hay giá trị độ xác Kiểu thập phân mặc định có độ xác thang độ tham số không rõ Chuỗi ký tự Một chuỗi ký tự chuỗi byte Độ dài chuỗi số byte chuỗi Nếu độ dài không, giá trị gọi chuỗi rỗng Chuỗi ký tự có CHAR(x) chuỗi ký tự có độ dài cố định Thuộc tính độ dài x phải độ dài cố định nằm khoảng từ đến hết 254 Các chuỗi ký tự có độ dài thay đổi gồm ba kiểu: VARCHAR, LONG VARCHAR, CLOB Chuỗi ký tự có Kiểu VARCHAR(x) chuỗi có độ dài thay đổi, chuỗi độ dài thay đổi có độ dài chèn vào VARCHAR(15) giữ nguyên độ dài chuỗi Xem mục đối tượng lớn (LOBs) để biết chi tiết CLOB Chuỗi đồ họa Một chuỗi đồ họa chuỗi liệu ký tự hai byte Chuỗi đồ họa GRAPHIC(x) chuỗi có độ dài cố định Thuộc tính độ dài x phải có độ dài cố nằm khoảng từ đến hết 254 định Chuỗi đồ họa Các chuỗi đồ họa có độ dài thay đổi gồm ba kiểu : VARGRAPHIC, có độ dài thay LONG VARGRAPHIC, DBCLOB Xem mục đối tượng lớn (LOBs) để biết chi tiết DBCLOB đổi Chuỗi nhị phân Một Chuỗi nhị phân chuỗi byte Nó thường dùng để lưu giữ liệu khơng truyền thống, ví dụ hình ảnh Đối tượng lớn nhị phân (BLOB) chuỗi nhị phân Xem mục đối tượng lớn (LOBs) để biết thêm thông tin Các giá trị ngày Các giá trị kiểu ngày biểu diễn ngày tháng, thời thời ấn (là chuỗi ký tự 14 ký số biểu diễn ngày tháng thời hợp lệ dạng yyyyxxddhhmmss) Các giá trị kiểu ngày sử dụng số phép toán số học phép toán chuỗi định tương thích với số chuỗi ký tự định; nhiên, chúng chuỗi ký tự mà không số Date Một date giá trị có ba phần (năm, tháng ngày) Time Một time giá trị có ba phần (giờ, phút giây) rõ thời điểm ngày với 24 Timestamp Một timestamp giá trị có bảy phần (năm, tháng, ngày, giờ, phút, giây micrô-giây) rõ ngày tháng thời Giá trị null Giá trị null giá trị đặc biệt, khác với tất giá trị khác null Nó có nghĩa khơng có mặt giá trị khác cột hàng xét Giá trị null tồn với tất kiểu liệu XML DB2 máy chủ liệu lai mức công nghiệp, phục vụ quản lý liệu theo hai mơ hình cấu trúc, mơ hình quan hệ mơ hình XML™ DB2 đưa máy lưu trữ liệu tối ưu hóa cho liệu XML song song với máy lưu trữ liệu quan hệ có XML ngơn ngữ tự mơ tả theo nghĩa ý nghĩa liệu bao gồm ghi Cột Comments sử dụng kiểu liệu XML để lưu trữ ý kiến khách hàng Xem phần loạt để biết thêm chi tiết Các cách thực SQL Muốn làm việc với DB2, bạn cần dùng công cụ, chuyên biệt cho hệ thống, để nhập vấn tin SQL Các công cụ gắn kèm bạn cài đặt DB2 Để đạt mục tiêu loạt hướng dẫn này, sử dụng Trung tâm điều khiển Bộ xử lý dòng lệnh (CLP) Trung tâm điều khiển Các lệnh SQL, lệnh DB2 lệnh hệ điều hành chạy từ Trung tâm điều khiển Mở Trung tâm điều khiển từ Start menu ==> all Programs ==> IBM DB2 ==> General Administration Tools ==> Control Center Từ trình đơn đỉnh giao diện, chọn Tools ==> Command Editor Một cửa sổ soạn thảo lệnh bật lên cho phép bạn nhập vào lệnh SQL Bạn chạy lệnh theo phương thức tương tác ghi lưu lệnh thành kịch lệnh Để thực lệnh này, nhấp chuột vào biểu tượng Play góc - trái cửa sổ (được khoanh trịn hình dưới) Hình Trung tâm điều khiển Bộ xử lý dòng lệnh Các lệnh chạy từ Bộ xử lý dịng lệnh (CLP) Mở CLP từ Start menu ==> all Programs ==> IBM DB2 ==> Command Line Tools ==> Command Line Processor Hình Bộ xử lý dịng lệnh Xuất phát Kết nối tới sở liệu Bạn cần kết nối tới sở liệu trước sử dụng câu lệnh SQL để truy vấn hay xử lý liệu Lệnh CONNECT kết hợp kết nối sở liệu với tên người sử dụng Để kết nối tới sở liệu aromadb, gõ lệnh sau vào xử lý dòng lệnh DB2: CONNECT TO aromadb USER userid USING password Nếu bạn sử dụng hướng dẫn phần khóa học, hỏi thầy hướng dẫn để lấy userid password dùng cho kết nối tới sở liệu Nếu máy không hỏi userid password, bạn sử dụng hướng dẫn theo chế độ tự học dùng máy tính riêng cần gõ vào lệnh sau đây: CONNECT TO aromadb Thông điệp sau báo cho bạn biết tạo kết nối thành công: Database Connection Information Database server = DB2/NT 9.0.0 SQL authorization ID = USERID Local database alias = AROMADB Khi kết nối được, bạn bắt đầu sử dụng sở liệu Trung tâm thơng tin DB2 Ngồi tài liệu tiêu chuẩn có sẵn kèm với DB2 cịn có sưu tập thơng tin DB2 tìm kiếm trực tuyến, nhờ mà tác vụ với DB2 thực dễ dàng Trung tâm thông tin DB2 cho phép người sử dụng có trợ giúp vấn đề phát sinh Có thể tiếp cận Trung tâm thông tin DB2 qua duyệt Web thơng thường hay qua tiện ích gắn sẵn số giao diện người dùng đồ họa kèm với DB2 Hiện tại, trình duyệt Microsoft Explorer (Phiên hơn) Netscape Navigator (Phiên 6.1 hơn) hỗ trợ Các nội dung Trung tâm thông tin DB2 cập nhật theo phiên phát hành sản phẩm hay gói sửa lỗi Bạn cần nắm chạy phiên DB2 nhận thơng tin Trung tâm thơng tin DB2 có ích bạn sử dụng nhiều Khi quen với tùy chọn có sẵn, bạn có khả thu hẹp vùng tìm kiếm cách hiệu nhận giải đáp cho câu hỏi hiệu Bạn dễ dàng truy nhập Trung tâm thông tin DB2 từ Start menu ==> all Programs ==> IBM DB2 ==> Information ==> Information Center Một cách khác, bạn sử dụng url này: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp Ví dụ Trong phần loạt bạn gặp lỗi thực truy vấn có chứa kiểu liệu khơng phù hợp Bạn nhận thông báo lỗi đây: [IBM][CLI Driver][DB2/LINUX] SQL0401N Kiểu liệu toán hạng phép tính ">" khơng tương thích SQLSTATE=42818 Để hiểu rõ ý nghĩa thông báo này, cần nghiên cứu chi tiết lỗi tìm hiểu thao tác sửa lỗi phải thực Di chuyển tới Trung tâm thơng tin DB2 Nhập mã lỗi có thơng báo lỗi (SQL0401N) vào hộp Search góc bên trái Nhấp chuột vào nút GO Có hai kết trả hiển thị Kết "100% SQL0401", nói thích hợp 100%, kết thứ hai thích hợp 8% Chọn kết Đọc kết tìm kiếm Metadata Metadata (Siêu liệu) định nghĩa liệu cấu trúc thân sở liệu Dữ liệu bao gồm thông tin danh sách bảng, mục, cột nhiều thứ khác có sở liệu Bạn thường thấy siêu liệu gọi tên khác, ví dụ liệu danh mục hay bảng hệ thống Siêu liệu DB2 thu thập tự động người sử dụng thực hành động tạo, xóa, hay sửa đổi số mục sở liệu Các chuẩn lưu trữ liệu thiết lập cho SQL truyền thống không áp dụng với lưu trữ siêu liệu Mỗi nhà cung cấp phần mềm sở liệu có phương pháp để lưu trữ xử lý siêu liệu Biết cách lấy ra thơng tin có tác dụng hỗ trợ lớn làm việc với sở liệu Tuy nhiên, Metadata nhiều người quản trị sở liệu coi có bí mật chất Do đó, nhiều người sử dụng khơng có quyền truy nhập tới sưu tập siêu liệu Bạn phải tự tìm hiểu vị trí xem có quyền truy nhập siêu liệu Các bảng hệ thống DB2 lưu trữ siêu liệu gần 100 bảng hệ thống Tất chứa lược đồ SYSIBM Lược đồ sinh tự động sở liệu tạo Các bảng hệ thống tuân thủ quy ước đặt tên tiêu chuẩn Tên bảng bắt đầu SYS, ví dụ SYSTABLES, SYSINDEXES, SYSUSERAUTH (Vì lý này, tên bảng người dùng định nghĩa không bắt đầu SYS.) Người sử dụng lấy siêu liệu từ bảng hệ thống theo cách giống lấy liệu từ bảng thông thường Các câu lệnh SQL hoạt động giống hai trường hợp Chỉ cần biết cấu trúc bảng đủ Nếu cấp ủy quyền thích hợp, người sử dụng nhận danh sách tất bảng hệ thống chứa siêu liệu cách truy vấn sở liệu Ví dụ truy vấn SELECT name FROM sysibm.systables WHERE name LIKE 'SYS%'; Kết NAME SYSATTRIBUTES SYSBUFFERPOOLNODES SYSBUFFERPOOLS SYSTABLES SYSXSROBJECTS Bạn thực truy vấn hay không tùy thuộc vào cấp phép người quản lý hệ thống và/hoặc người quản trị sở liệu cho bạn Nếu thực truy vấn mà khơng có mệnh đề WHERE, bạn nhận danh sách tất bảng sở liệu Tập hợp kết thứ tự theo Creatorbộ tạo (lược đồ) Creator xếp tên bảng theo thứ tự chữ Tên cột "Creator" giả thiết lược đồ bảng có tên Creator Ví dụ truy vấn SELECT name, creator FROM sysibm.systables; Kết NAME CREATOR CLASS AROMA AROMA SUPPLIER AROMA SYSATTRIBUTES SYSIBM SYSIBM SYSXMLSTATS SYSIBM Bằng điều kiện ràng buộc tên lược đồ, bạn giới hạn tập kết gồm bảng phần lược đồ cho Ví dụ truy vấn SELECT name, creator FROM sysibm.systables WHERE creator='AROMA'; Kết NAME CREATOR CLASS AROMA AROMA SUPPLIER AROMA Tương tự, bạn liệt kê thông tin cột bảng cụ thể cách truy nhập tới bảng hệ thống sysibm.syscolumns Ví dụ truy vấn SELECT * FROM sysibm.syscolumns WHERE tbname='CLASS' AND tbcreator='AROMA'; Kết NAME TBNAME TBCREATOR CLASS_DESC CLASS CLASS_TYPE CLASS REMARKS COLTYPE AROMA CHAR AROMA CHAR CLASSKEY CLASS AROMA INTEGER Hãy xem xét nội dung bảng cách thực lệnh Tập hợp kết trả có nhiều cột nhiều so với trình bày bảng Tóm tắt Hướng dẫn giới thiệu nhóm bảng bán lẻ đề xuất số câu hỏi nghiệp vụ tiêu biểu mà dùng IBM DB2 để giải đáp Các bảng tạo để biểu diễn mơi trường mà đó: Có bảng Các tên cột sử dụng từ vựng người phân tích Các cột phản ánh hoạt động kinh doanh với kích thước tự nhiên Phần chủ yếu loạt ví dụ chi tiết nhằm cách viết truy vấn SQL để giải đáp câu hỏi nghiệp vụ Hầu hết ví dụ dựa nhóm bảng bán lẻ Aroma Trừ vài trường hợp ngoại lệ, cần đưa thêm vào bảng nhỏ nhằm minh họa khái niệm đặc biệt Các kiểu liệu thường sử dụng nhiều mô tả hướng dẫn này: Chuỗi ký tự SMALLINT, INTEGER, BIGINT, REAL, DOUBLE, DECIMAL Chuỗi ký tự Chuỗi ký tự có độ dài cố định (CHAR), Chuỗi ký tự có độ dài thay đổi (VARCHAR) Chuỗi đồ họa có độ dài cố định (GRAPHIC), Chuỗi đồ Chuỗi đồ họa họa có độ dài thay đổi (VARGRAPHIC, LONG VARGRAPHIC, DBCLOB) Chuỗi nhị phân Đối tượng nhị phân lớn (BLOB) Các giá trị thời gian ngày Date, Time, Timestamp tháng Giá trị Null Null XML Các tài liệu XML ... với sinh viên sử dụng tài liệu phần khoá học, nhận từ thầy hướng dẫn dẫn để kết nối tới sở liệu Aroma tìm hiểu khác biệt hướng dẫn cài đặt máy cục Hướng dẫn viết cho DB2 Express-C UNIX®, Linux®... - aroma. class aroma. deal aroma. line_items 182 aroma. market 17 aroma. orders 27 aroma. period 821 aroma. product 59 aroma. promotion 194 aroma. sales 69941 aroma. store aroma. supplier 18... tiết Hướng dẫn giới thiệu SQL gợi ý số câu hỏi kinh doanh tiêu biểu, sử dụng IBM DB2 để giải đáp Các yêu cầu hệ thống Để sử dụng hướng dẫn đầy đủ nhất, bạn cần phải cài đặt IBM DB2 Tải xuống DB2