Tải bản đầy đủ (.pdf) (45 trang)

Các kỹ năng của Kiến trúc sư dữ liệu Rational, Phần 2 pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.97 MB, 45 trang )

Các kỹ năng của Kiến trúc sư dữ liệu Rational, Phần 2: Tạo các truy vấn
SQL/XML với Kiến trúc sư dữ liệu Rational
Chuyển đổi dữ liệu từ các nguồn dữ liệu quan hệ thành định dạng XML
Torsten Bittner, Kỹ sư phần mềm, IBM
Tóm tắt: Bạn có thể sử dụng ngôn ngữ truy vấn SQL/XML để chuyển đổi dữ liệu
quan hệ thành định dạng XML. Vì tự tay viế
t các truy vấn SQL/XML rất tốn công,
Kiến trúc sư dữ liệu Rational® của IBM® làm đơn giản hoá công việc này bằng
cách tự động tạo ra các truy vấn SQL/XML dựa trên các ánh xạ được định nghĩa
bằng đồ họa. Hãy tìm hiểu sơ bộ về thành phần tạo SQL/XML của Kiến trúc sư dữ
liệu Rational.
Trước khi bạn bắt đầu
Hãy tìm hiểu cách làm thế nào để sử dụng Kiến trúc sư dữ li
ệu Rational để tạo truy
vấn SQL/XML trong DB2® cho Linux®, UNIX® và Windows®. Ngôn ngữ truy
vấn SQL/XML trích ra dữ liệu từ các nguồn quan hệ và chuyển đổi nó thành định
dạng XML.
Về hướng dẫn này
Hướng dẫn này cho bạn thấy, từng bước một, làm thế nào để:
• Định nghĩa bằng đồ họa một mô hình ánh xạ giữa một mô hình cơ sở dữ
liệu quan hệ là nguồn và một định nghĩa lược đồ XML là đích.
• Tạo một truy vấn SQL/XML dựa trên mô hình ánh xạ này.
• Thực hiện truy vấn SQL/XML và phân tích kết quả.
• Định nghĩa các phép nối giữa nhiều cột nguồn.
• Thêm các chức năng chuyển đổi cho mô hình ánh xạ.

Về đầu trang
Các mục tiêu
Sau khi hoàn thành hướng dẫn này, bạn sẽ có khả năng sử dụng Kiến trúc sư Dữ
liệu Rational và trình soạn thảo ánh xạ của nó để tạo và chạy các truy vấn
SQL/XML.



Về đầu trang
Các điều cần có trước
Thay đổi tên sản phẩm
Ngày 16 tháng 12 năm 2008 IBM đã thông báo rằng kể từ phiên bản 7.5.1, Kiến
trúc sư Dữ liệu Rational được đổi tên thành Kiến trúc sư Dữ liệu InfoSphere
(InfoSphere Data Architect) để đề cao vai trò của nó trong các công cụ nền
InfoSphere.
Hướng dẫn này giả thiết bạn đã biết rõ về các cơ sở dữ liệu quan hệ, tốt nhất là
DB2 ®. B
ạn cũng nên có một sự hiểu biết tốt về các tiêu chuẩn XML và XSD.
Kiến thức cơ bản về ngôn ngữ truy vấn SQL/XML là bắt buộc. Kiến thức cơ bản
về Kiến trúc sư Dữ liệu Rational cũng rất có ích, nhưng không bắt buộc. (Tham
khảo bài viết "Sử dụng Kiến trúc sư Dữ liệu Rational để tích hợp các nguồn dữ
liệu" (developerWorks, 03.2006) và một phần của loạt bài viết này, " Truy cập và
tích hợp các siêu dữ liệu doanh nghiệp với Kiến trúc sư Dữ liệu Rational"
(developerWorks, 06.2006), để tham khảo).

Về đầu trang
Các yêu cầu về hệ thống
Để thực hiện các bước được mô tả trong hướng dẫn này, cần có Kiến trúc sư Dữ
liệu Rational 6.1 và DB2 đã cài đặt. Bạn có thể tải về phiên bản dùng thử của Kiến
trúc sư Dữ liệu Rational 6.1 của IBM (xem Tài nguyên) và DB2 V8.2 (xem Tài
nguyên).
Setup steps
1. Cài đặt DB2 V8.2.
2. Cài đặt Rational Data Architect V6.1.
3. Giải nén gói RDA_SQLXML.zip vào trong một thư mục (ví dụ,
C:\RDA_Tutorials). Bước này tạ
o ra thư mục RDA_SQLXML.

4. Khởi động Kiến trúc sư Dữ liệu Rational và chỉ định thư mục nơi bạn đã
giải nén gói phần mềm làm thư mục cho vùng làm việc của bạn (ví dụ,
C:\RDA_Tutorials).
5. Thư mục RDA_SQLXML trong gói phần mềm là một thư mục dự án của
Kiến trúc sư Dữ liệu Rational. Trong Kiến trúc sư Dữ liệu Rational bạn
phải nhập khẩu nó vào trong vùng làm vi
ệc của bạn. Từ trình đơn File,
chọn Import.
6. Chọn Existing Project trong trình thủ thuật Workspace.

Hình 1. Chọn trình thủ thuật Import


7. Nhấn Next. Duyệt đến vị trí ở đó bạn giải nén tệp RDA_SQLXML.zip (ví
dụ, C:\RDA_Tutorials).

Hình 2. Trình thủ thuật Nhập khẩu Dự án (Project Import)


8. Nhấn vào Finish. Kết quả là bạn thấy dự án RDA_SQLXML với một tập
hợp các mô hình dữ liệu, các lược đồ XSD và các tệp mô hình ánh xạ trong
vùng làm việc của bạn.

Hình 3. Trình thám hiểm dự án dữ liệu (Data Project Explorer) sau khi nhập
khẩu dự án


9. Bây giờ bạn cần dữ liệu mẫu cho cơ sở dữ liệu quan hệ. Các dữ liệu sẽ
được sử dụng để điền dữ liệu vào cá thể tài liệu XML được tạo ra. Dữ liệu
này sẽ được trích ra từ cơ sở dữ liệu quan hệ và được chèn vào trong cá thể

tài liệu XML trong khi thực hiện truy vấn SQL/XML. Tệp kịch bản lệnh
rda_sqlxml_db.sql tạ
o ra một cơ sở dữ liệu thư viện (LIBRARY) của DB2
và chèn vào một bộ các dữ liệu mẫu . Hãy triển khai kịch bản lệnh trong cơ
sở dữ liệu DB2 của bạn. Hãy khởi động cửa sổ lệnh của DB2 (trình đơn
Start > IBM DB2 > Command Line Tools > Command Window).
10. Chuyển tới thư mục mà bạn đã giải nén tệp RDA_SQLXML.zip.
11. Chạy lệnh này: db2 -tvf rda_sqlxml_db.sql. Điều này s
ẽ tạo ra cơ sở dữ liệu
LIBRARY, định nghĩa khóa chính và khóa ngoài và chèn thêm các dữ liệu
mẫu.

Hình 4. Tạo cơ sở dữ liệu LIBRARY


12. Kết nối tới cơ sở dữ liệu LIBRARY trong Kiến trúc sư Dữ liệu Rational.
Trong Database Explorer, nhấn chuột phải vào Connection và chọn New
Connection. (Note: (Lưu ý: Nếu bạn không nhìn thấy Database Explorer,
hãy chắc chắn rằng bạn đang ở trong phối cảnh dữ liệu - Data Perspective,
như hiển thị trong Hình 6 dưới đây).

Hình 5. Tạo kết nối cơ sở dữ liệu mới





Hình 6. Phối cảnh dữ liệu



13. Chỉ rõ các thông tin kết nối theo môi trường của bạn, tương tự như Hình 7.

Hình 7. Các giá trị thiết lập kết nối cơ sở dữ liệu


14. Nhấn vào Test Connection để kiểm tra xem tất cả các tham số được đặt
đúng chưa. Nếu thử nghiệm thành công, hãy nhấn Finish.
Tổng quan kịch bản và mô tả vấn đề
Kịch bản này có liên quan tới hệ thống cơ sở dữ liệu thư viện trường học mới,
được giới thiệu trong hướng dẫn " Truy cập và tích hợp siêu dữ liệu doanh nghiệp
với Kiến trúc sư Dữ liệu Rational". Trong hướng dẫn này, một hệ thống thư viện
mới được thiết kế dựa trên hai hệ thố
ng hiện có: thư viện của trường học và thư
viện của quận Santa Clara. Với mục đích kiểm toán nhà trường muốn theo dõi quá
trình lịch sử của các cuốn sách được cho mượn. Hội đồng thư viện đã quyết định
duy trì tính độc lập với các nhà cung cấp cơ sở dữ liệu bằng cách lưu trữ dữ liệu
theo dạng XML tiêu chuẩn hóa.
Để trích ra dữ liệu XML từ m
ột cơ sở dữ liệu quan hệ, bạn có thể sử dụng ngôn
ngữ truy vấn SQL/XML. SQL/XML là một ngôn ngữ tiêu chuẩn ANSI và ISO để
truy cập và quản lý dữ liệu được lưu giữ trong cơ sở dữ liệu quan hệ. Cú pháp của
nó được định nghĩa theo tiêu chuẩn SQL2003.
Thông thường, cấu trúc các tài liệu XML được mô tả bằng cách sử dụng Định
nghĩa lược đồ XML. Một tài liệu XML tuân theo một XSD c
ũng gọi là một cá thể
tài liệu XML.
Một truy vấn SQL/XML cũng định nghĩa cấu trúc của cá thể tài liệu XML cũng
như các bảng và các cột (nguồn dữ liệu) được sử dụng để điền dữ liệu vào cá thể
tài liệu XML ấy. Theo tinh thần đó, các SQL/XML sao đúp lại chính xác các
thông tin về định dạng kết quả đầu ra của cá thể tài liệu, chứa trong các XSD

(XSD đích). Vì vậ
y, các truy vấn SQL/XML kết hợp thông tin về cấu trúc tài liệu
và định nghĩa nguồn dữ liệu. Sự kết hợp này làm cho các truy vấn SQL/XML
phức tạp. Nếu lược đồ cơ sở dữ liệu hay lược đồ cá thể tài liệu XML hay cả hai có
chứa nhiều thực thể, việc viết bằng tay các truy vấn SQL/XML thường nặng nề và
dễ xảy ra lỗi.
Kiến trúc sư Dữ liệu Rational làm đơn giản hoá việc tạo các truy vấn SQL/XML
bằng cách cung cấp cho người dùng một trình soạn thảo ánh xạ. Trình soạn thảo
ánh xạ thường dùng để định nghĩa bằng đồ họa các ánh xạ từ một cơ sở dữ liệu
quan hệ là nguồn đến một Định nghĩa lược đồ XML là đích. Các ánh xạ được diễn
giải bởi một thành phần tạo truy vấn để tạo ra một truy vấn SQL/XML. Áp dụng
truy vấn này đối với một cơ sở dữ liệu nguồn sẽ trích ra dữ liệu quan hệ từ cơ sở
dữ liệu và tạo ra dữ liệu cho cá thể tài liệu XML theo cấu trúc được XSD đích định
nghĩa.
Trình soạn thảo ánh xạ cũng cho phép ánh xạ từ nguồn dữ liệu quan hệ tới đích dữ

liệu quan hệ. Trong kịch bản này, các thông tin ánh xạ được diễn giải để tạo ra một
truy vấn SQL để chuyển đổi dữ liệu. Có thể tìm thấy nhiều thông tin hơn nữa về
việc tạo SQL trong hướng dẫn " Truy cập và tích hợp các siêu dữ liệu doanh
nghiệp với Kiến trúc sư dữ liệu Rational."
Tạo một mô hình ánh xạ đơn giản
Trong phần này, hãy tạo một mô hình ánh xạ. Định nghĩa lược đồ nguồn dữ liệu
quan hệ và lược đồ XSD đích và tạo các ánh xạ giữa các cột nguồn và các phần tử
XML đích. Sau đó, sử dụng các ánh xạ này để tạo ra một truy vấn SQL/XML.
Tạo ra một mô hình ánh xạ mới
1. Chuyển đến phối cảnh Data
2. Trong trình duyệt Data Project, nh
ấn chuột phải vào thư mục Mappings
trong cây và chọn New > Mapping Model.


Hình 8. Mô hình ánh xạ mới (New Mapping Model)


3. Trong trình thủ thuật Mapping Editor, chỉ rõ tên tệp là Student.msl.

Hình 9. Trình thủ thuật của mô hình ánh xạ mới


4. Nhấn Next. Nhấn Add để chỉ rõ một mô hình nguồn. Chọn mô hình cơ sở
dữ liệu của thư viện mới system.dbm làm nguồn ánh xạ.

Hình 10. Chọn mô hình nguồn ánh xạ


5. Nhấn OK. Nhấn Next trong trình thủ thuật soạn thảo ánh xạ. Hãy đảm bảo
chắc chắn rằng lược đồ school được chọn làm lược đồ nguồn.

Hình 11. Chọn lược đồ nguồn ánh xạ


6. Nhấn Next. Nhấn the Browse để định rõ tài liệu XSD Student.xsd làm tài
liệu đích. Nhấn OK. Hãy bảo đảm chắc chắn rằng lược đồ students đã được
chọn làm lược đồ đích.

Hình 12. Chọn lược đồ đích ánh xạ


7. Nhấn Next và kiểm tra các giá trị thiết lập của nguồn và đích trong phần
tóm tắt mô hình ánh xạ (mapping model summary).


Hình 13. Tóm tắt mô hình ánh xạ


8. Nhấn Finish. Bây giờ bạn có thể thấy trình soạn thảo ánh xạ với các lược
đồ nguồn và đích được chọn.

Về đầu trang
Thêm các ánh xạ vào mô hình ánh xạ
1. Bây giờ hãy thêm một số ánh xạ. Chọn phần tử cột STUDENTID trong
phần tử bảng STUDENT ở phía nguồn. Ở phía đích, nhấn chuột phải vào
phần tử XML Student_ID và chọn Create Mapping từ trình đơn ngữ cảnh.
Điều này tạo ra một đường ánh xạ màu xanh dương với một ô nhỏ ở giữa.
Đường ánh xạ này luôn luôn trỏ
từ phần tử nguồn đến phần tử đích.

Hình 14. Định nghĩa một ánh xạ đơn lẻ


2. Sử dụng cùng phương pháp để tạo ra các ánh xạ từ cột NAME trong bảng
STUDENT đến phần tử XML Name.
Tạo ra truy vấn SQL/XML

1. Nhấn vào nút Generate Script trên thanh công cụ.

Hình 15. Tạo nút kịch bản lệnh


2. Khi bạn được hỏi lưu trữ các tài nguyên, hãy nhấn OK để lưu trữ các thay
đổi của bạn với mô hình ánh xạ. Các thay đổi không lưu trữ sẽ không được
xem xét trong quá trình tạo truy vấn SQL/XML.

3. Trong trang đầu tiên của trình thủ thuật tạo kịch bản lệnh (Generate Script
Wizard), chấp nhận tất cả các giá trị mặc định, bao gồm tên tệp Student.sql
và nhấn vào Next. Trang tóm tắt hiển thị một trang xem tr
ước truy vấn và
một danh sách các đối tượng được tạo ra để thêm vào mô hình cơ sở dữ liệu,
nếu có.

Hình 16. Tóm tắt của trình thủ thuật tạo kịch bản lệnh


4. Nhấn Finish.
Thực hiện truy vấn SQL/XML đã tạo ra

1. Mở truy vấn Student.sql đã tạo ra bằng trình soạn thảo SQL.

Hình 17. Mở kịch bản lệnh SQL/XML bằng trình soạn thảo SQL


2. Nhấn chuột phải vào trong cửa sổ văn bản của trình soạn thảo SQL và chọn
Run SQL.

Hình 18. Chạy kịch bản lệnh SQL/XML


3. Từ danh sách các kết nối hiện có, chọn kết nối LIBRARY. (Lưu ý: Bạn có
thể phải nhấn vào nút Kết nối lại (Reconnect), nếu bạn trước đó đã ngắt kết
nối từ cơ sở dữ liệu).

Hình 19. Lựa chọn kết nối cơ sở dữ liệu cho việc thực hiện truy vấn
SQL/XML



4. Nhấn Finish. Kết quả của truy vấn hiển thị trong khung nhìn Kết quả dữ
liệu (Data Output) được đặt ở góc dưới bên phải. Nhấn vào nút có hình e lip
( ) bên cạnh <students>.

Hình 20. kết quả thực hiện truy vấn SQL/XML


5. Điều này mở ra dữ liệu XML được trích từ cơ sở dữ liệu quan hệ
LIBRARY. (Lưu ý: Nếu nội dung của tài liệu XML bị cắt bớt trước khi kết
thúc tài liệu, hãy tăng giá trị tùy chọn ưa thích (preference) dành cho các
byte cực đại để lấy ra một cột LOB). Đi tới trình đơn Window >
Preferences. Chuyển đến thể loại Data, sau đó tới Output và thay
đổi giá
trị thành 5000. Nhấn vào OK. Chạy lại kịch bản lệnh.

Hình 21. Thực hiện truy vấn SQL/XML sinh ra dữ liệu XML




Hình 22. Thiết lập các thông số cài đặt trang ưa thích dành cho các byte lớn
nhất


6. Dữ liệu XML được trả về từ cơ sở dữ liệu không chứa bất kỳ các ngắt dòng
nào. Điều này làm cho tài liệu khó đọc hơn. Bạn có thể sử dụng nút "Lưu
như" (Save as) để lưu dữ liệu XML trong một tệp và định dạng nó bằng
cách sử dụng một trình soạn thảo văn bản. Đối với hướng dẫn này, một tệ

p
kết quả XML có định dạng đúng được cung cấp cùng với
Ref_Student_result.xml.Lưu ý: Kết quả XML được trả về từ cơ sở dữ liệu
không phải là một tài liệu XML đúng khuôn dạng vì nó thiếu thẻ XML cần
thiết <?xml version=1.0> ở đoạn đầu.
Xem tệp kết quả Ref_Student_result.xml, ta nhận thấy rằng mỗi phần tử học sinh
(student) có chứa phần tử XML Email rỗng. Lý do c
ủa việc này là ở chỗ trong
Student.xsd của XSD, phần tử Email được định nghĩa là bắt buộc, nhưng trong
trình soạn thảo ánh xạ không có cột nguồn nào đã được định nghĩa cho phần tử
Email. Trong phần kế tiếp, hãy xem làm thế nào để ngăn chặn điều này.
Sửa đổi lược đồ XML đích

Chúng ta hãy sửa đổi Student.xsd để làm cho phần tử EMail là tùy chọn và tạo lại
các truy vấn SQL/XML.

1. Mở lược đồ XML Student.xsd bằng trình soạn thảo văn bản.

Figure 23. Open Student.xsd with text editor




2. Sửa đổi Student.xsd, như được hiển thị trong Hình 24 (thêm vào thuộc tính
minOccurs="0" đối với phần tử EMail). Sau đó, lưu trữ nó, thay thế cho tệp
ban đầu.


Hình 24. Sửa đổi Student.xsd

×