Chuyển đổi XML thành dữ liệu quan
hệ sử dụng trong DB2
Băm nhỏ với XML Schema chú thích
Trong phần tiếp theo này chúng tôi sgiới thiệu cho các bạn một phương pháp khác để
băm nhỏ các tài liệu XML thành các bảng quan hệ. Phương pháp này được gọi là băm
nh giản đồ chú thích hay phân tách lược đồ chú thích vì nó dựa trên các chú thích trong
XML Schema. Các chú thích này sđịnh nghĩa cách các thành phần XML và các thuộc
tính trong dữ liệu XML của bạn để bản đồ hóa vào các cột trong các bảng quan hệ như
thế nào.
Để thực hiện quá trình băm nhỏ giản đồ có chú thích, bạn hãy thực hiện theo các cách
sau:
Nhận dạng và tạo các bảng mục tiêu quan hsẽ giữ dữ liệu được băm nhỏ.
Chú thích XML Schema của bạn để định nghĩa việc bản đồ hóa từ XML thành các
bảng quan hệ.
Đăng ký XML Schema trong DB2 XML Schema Repository.
Băm nhỏ các tài liệu XML với các lệnh của bộ xử lý lệnh Command Line
Processor hoặc các thủ tục.
Giả dụ bạn đã định nghĩa các bảng quan hệ mà bạn muốn băm nhỏ, sau đây chúng ta sẽ
quan sát việc chú thích một XML Schema.
Việc chú thích XML Schema
Các chú thích của giản đồ, là các thành phần và các thuộc tính bổ sung trong một XML
Schema, nhm cung cấp các thông tin bản đồ hóa. BD2 có thể sử dụng các thông tin này
để băm nhỏ các tài liệu XML vào các bảng quan hệ. Cần biết rằng các chú thích sẽ không
thay đổi ngữ nghĩa học của XML Schema. Nếu một tài liệu hợp lệ với giản đồ có chú
thích thì nó cũng hợp lệ hóa với giản đồ gốc và ngược lại. Bạn có thể sử dụng giản đồ có
chú thích để hợp lệ hóa các tài liệu XML giống như XML Schema gốc.
Dưới đây là một dòng tmột XML Schema:
<xs:element name="street" type="xs:string" minOccurs="1"/>
Dòng trên định nghĩa một thành phần XML có tên gọi street, và tuyên brằng dữ liệu của
nó là xs:string, thành phần này phải xuất hiện tối thiểu một lần. Bạn có thể bổ sung một
chú thích vào định nghĩa của thành phần này để chỉ thị nó là thành phần sẽ được băm nhỏ
vào cột STREET của bảng ADDRESS. Chú thích gồm có hai thuộc tính bổ sung trong
định nghĩa của thành phần:
<xs:element name="street" type="xs:string" minOccurs="1"
db2-xdb:rowSet="ADDRESS" db2-xdb:column="STREET"/>
Chú thích như vậy cũng có thể được cung cấp cho các thành phần giản đồ thay vì các
thuộc tính, xem thể hiện bên dưới. Bạn sẽ thấy trong hình 8 rằng tại sao điều này lại hữu
dụng.
<xs:element name="street" type="xs:string" minOccurs="1">
<xs:annotation>
<xs:appinfo>
<db2-xdb:rowSetMapping>
<db2-xdb:rowSet>ADDRESS</db2-xdb:rowSet>
<db2-xdb:column>STREET</db2-xdb:column>
</db2-xdb:rowSetMapping>
</xs:appinfo>
</xs:annotation>
<xs:element/>
Tiền tố xs được sử dụng cho tất cả các cấu trúc thuộc về ngôn ngữ XML Schema, tiền tố
db2-xdb được sử dụng cho tất c các chú thích giản đồ DB2. Các tiền tố này giúp bạn có
thể phân biệt một cách rõ ràng và bảo đảm rằng giản đồ có chú thích hợp lệ hóa với các
tài liệu XML như giản đồ gốc.
Có 14 kiểu chú thích khác nhau. Chúng cho phép bạn chỉ định những gì băm nhỏ, nơi
băm, cách lọc hoặc biến đổi dữ liệu được băm nhỏ và thứ tự nào để chèn vào các bảng
mục tiêu. Bảng 4 cung cấp cho các bạn một cái nhìn tổng quan về các chú thích có sẵn,
chúng được chia thành các nhóm logic theo nhiệm vụ của người dùng. Các chú thích
riêng lẻ sẽ được miêu tkỹ hơn trong bảng 5.
Nếu bạn muốn Sử dụng chú thích
Chỉ định các bảng mục tiêu để băm db2-xdb:rowSet
db2-xdb:column
db2-xdb:SQLSchema
db2-xdb:defaultSQLSchema
Chỉ định những gì cần băm db2-xdb:contentHandling
Chuyển đổi các giá trdữ liệu trong khi băm
db2-xdb:expression
db2-xdb:normalization
db2-xdb:truncate
Lọc dữ liệu db2-xdb:condition
db2-xdb:locationPath
Bản đồ hóa một thành phần hoặc thuộc tính
vào nhiều cột.
db2-xdb:rowSetMapping
Bản đồ hóa một số thành phần hoặc thuộc
tính vào cùng cột
db2-xdb:table
Định nghĩa thứ tự trong các hàng được chèn
vào bảng mục tiêu, tránh các phá vtính
toàn vẹn.
db2-
xdb:rowSetOperationOrder
db2-xdb:order
Bảng 4. Tổng quan và việc nhóm các chú thích của giản đồ
Chú thích Mô t
db2-
xdb:defaultSQLSchema
Giản đồ quan hệ mặc định cho các bảng mục tiêu