Trước khi bạn bắt đầu
Loạt tài liệu hướng dẫn này dạy các chủ đề SQL từ cơ bản đến nâng cao và các chủ đề XQuery cơ bản. Nó cũng chỉ ra cách diễn đạt các câu hỏi nghiệp vụ thường gặp bằng các truy vấn cơ sở dữ liệu sử dụng các câu truy vấn SQL hay các câu truy vấn XQuery. Những người phát triển ứng dụng và những người quản trị cơ sở dữ liệu có thể sử dụng hướng dẫn này để nâng cao các kỹ năng truy vấn cơ sở dữ liệu của mình. Các thành viên tham gia sáng kiến học đường IBM có thể sử dụng loạt hướng dẫn này như một phần trong chương trình giảng dạy cơ sở dữ liệu của họ.
Tất cả các ví dụ trong bài này dựa trên Aroma, một cơ sở dữ liệu mẫu có chứa các dữ liệu doanh thu về các sản phẩm cà phê và chè được bán trong các 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, được diễn đạt bằng ngôn ngữ hàng ngày
- Một hoặc nhiều ví dụ truy vấn, được biểu diễn bằng SQL hay Xquery
- Một bảng các kết quả được cơ sở dữ liệu trả về
Cách trình bày hướng dẫn này cho phép các học viên tìm hiểu về ngôn ngữ SQL và XQuery. Cũng như với bất kỳ việc học tập nào, việc bổ sung thêm các bài tập thực hành là rất quan trọng. Dữ liệu và các định nghĩa bảng tạo điều kiện thuận lợi cho các bài tập thực hành này.
Đối với các sinh viên sử dụng tài liệu này như một phần của khoá học, hãy nhận từ thầy hướng dẫn của mình các chỉ dẫn để kết nối tới cơ sở dữ liệu Aroma và tìm hiểu mọi sự khác biệt giữa hướng dẫn và cài đặt tại máy cục bộ của mình.
Hướng dẫn này được viết cho Express-C 9 DB2 trên nền UNIX®, Linux® và Windows® (trước đây gọi là Viper).
Hướng dẫn này mô tả cách viết các truy vấn có yêu cầu một số cách phân tích dữ liệu. Nhiều câu hỏi có chứa các tính toán tuần tự, hay các tính toán hoạt động trên một tập hợp có sắp xếp thứ tự của các hàng, các câu hỏi thường gặp trong khi phân tích hoạt động kinh doanh :
- Tổng số luỹ kế (hay tổng số dịch chuyển) theo tháng là bao nhiêu?
- Trung bình dịch chuyển theo tuần là bao nhiêu?
- Kết quả xếp hạng các số doanh thu hàng tháng như thế nào?
- Tỷ số doanh thu hiện tại hàng tháng với doanh thu hàng năm là bao nhiêu?
DB2 của IBM cung cấp một cách hiệu quả để trả lời các câu hỏi loại này khi sử dụng các hàm SQL OLAP tiêu chuẩn có trong DB2 9. Các chức năng xử lý phân tích trực tuyến (OLAP) tạo ra khả năng trả về các thông tin xếp hạng, đánh số hàng, và các hàm cột hiện có như một giá trị vô hướng trong một kết quả truy vấn. Một hàm OLAP có thể được chứa trong các biểu thức trong một danh sách chọn lựa hay mệnh đề ORDER BY của một câu lệnh chọn.
Hướng dẫn này gồm có một loạt các ví dụ với truy vấn kinh doanh và cú pháp kết hợp được trình bày trong mỗi trường hợp. Trước khi thực hiện các truy vấn này, hãy đọc các mô tả toàn bộ các chức năng OLAP trong SQL Reference Guide (Hướng dẫn Tham khảo SQL) .
Hướng dẫn này cũng cho thấy cách sử dụng các hàm vô hướng để tính toán và trích ra các thông tin ngày tháng, ví dụ như tên ngày trong tuần và tên tháng, từ các cột DATE (ngày tháng).
Nhiều truy vấn trong chương này dựa vào các tổng gộp doanh thu. Do các bảng Sales (Doanh thu) lưu giữ các tổng số hằng ngày, nên thiết kế cơ sở dữ liệu của bạn có thể bao gồm các bảng tổng gộp để trả lời các truy vấn này.
Bạn cần kết nối tới một cơ sở dữ liệu trước khi có thể sử dụng các câu lệnh SQL để truy vấn hay xử lý dữ liệu. Lệnh CONNECT kết hợp một kết nối cơ sở dữ liệu với một tên người sử dụng.
Thông qua người hướng dẫn tìm ra tên cơ sở dữ liệu bạn cần nối tới. Đối với loạt bài này, tên cơ sở dữ liệu là aromadb.
Để kết nối tới cơ sở dữ liệu aromadb, gõ lệnh sau đây vào trong bộ xử lý dòng lệnh DB2:
CONNECT TO aromadb USER userid USING password |
Thay thế "userid" và "password" bằng số ID và mật khẩu của người sử dụng mà bạn đã nhận được từ thầy hướng dẫn. Nếu máy không hỏi userid và password thì chỉ cần gõ vào lệnh sau đây:
CONNECT TO aromadb |
Thông điệp sau báo cho bạn biết rằng đã 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 có thể bắt đầu sử dụng cơ sở dữ liệu.