Các khái niệm cơ bản của DB2: Giới thiệu các hàm xuất bản SQL/XML Roman Melnyk, Phát triển thông tin DB2 pptx

25 414 0
Các khái niệm cơ bản của DB2: Giới thiệu các hàm xuất bản SQL/XML Roman Melnyk, Phát triển thông tin DB2 pptx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Các khái niệm DB2: Giới thiệu hàm xuất SQL/XML Roman Melnyk, Phát triển thông tin DB2 Tóm tắt: Bạn sử dụng hàm xuất SQL/XML để tạo tài liệu XML có nhãn từ liệu quan hệ Cơ sở liệu vạn DB2 bao gồm hàm xuất SQL/XML lập sẵn cho phép trở nên dễ dàng để xuất tài liệu XML dùng liệu lưu sở liệu DB2 Bài viết giới thiệu bạn với hàm xuất SQL/ XML, ví dụ làm việc, cho bạn cách sử dụng hàm XML Ngơn ngữ đánh dấu mở rộng, định dạng liệu thông dụng để xuất bản, lưu trữ chia sẻ tài liệu có cấu trúc XML sử dụng để trao đổi liệu máy tính Một văn đánh dấu phân loại theo loại nút XML, chẳng hạn "tài liệu", "phần tử", "thuộc tính", "văn bản" nhiều loại khác "Khơng gian tên" gắn với tên nút, chẳng hạn phần tử thuộc tính SSQL/XML mở rộng chuẩn ngôn ngữ SQL (ANSI/ISO), gồm hàm xuất XML để chuyển đổi liệu quan hệ vào XML Cơ sở liệu DB2 IBM cho Linux, UNIX, Windows (DB2 UDB) bao gồm hàm xuất SQL/XML lập sẵn để dễ dàng xuất liệu UDB DB2 vào tài liệu XML Các hàm cho phép bạn tạo tài liệu XML có nhãn đối tượng lớn ký tự (loại CLOB, kiểu liệu có sẵn UDB DB2) Bạn sử dụng câu lệnh SELECT để lắp ráp nút XML cần thiết, thâu tóm văn đánh dấu nhờ định hướng xuất tệp Bạn sử dụng câu lệnh INSERT để ghi văn tạo vào bảng Các hàm xuất SQL/XML DB2 UDB phiên 8.2 hỗ trợ bảy hàm xuất SQL/XML:  XMLSERIALIZE  XMLELEMENT  XMLFOREST  XMLATTRIBUTES  XMLCONCAT  XMLAGG  XMLNAMESPACES Các phần sau giới thiệu cho bạn hàm xuất Mặc dù loại phần tử XML thuộc tính mà bạn xây dựng với hàm khơng giới hạn, ví dụ viết tập trung vào yếu tố bảng XML thuộc tính Các ví dụ yêu cầu phải nối sở liệu SAMPLE; bạn chưa có sở liệu SAMPLE hệ thống bạn, bạn tạo cách nhập lệnh db2sampl từ dấu nhắc lệnh XMLSERIALIZE Hàm XMLSERIALIZE chuyển đổi giá trị XML thành chuỗi lưu giá trị CHAR, VARCHAR, hay CLOB XMLSERIALIZE hàm gán, trả giá trị với kiểu CHAR, VARCHAR, hay CLOB Các đối số phải biểu thức theo kiểu liệu XML Lưu ý kiểu liệu XML biểu diễn bên XML mà sử dụng làm đầu vào cho hàm (như XMLSERIALIZE), hàm chấp nhận kiểu liệu đầu vào XML kiểu liệu tạm thời, lưu sở liệu (đến DB2 9, liệu XML nguyên thủy lưu sở liệu) Tất ví dụ viết sử dụng hàm XMLSERIALIZE Các hàm khác trả giá trị XML; giá trị truyền vào hàm XMLSERIALIZE XMLELEMENT Hàm XMLELEMENT kiến thiết nút phần tử có tên XML XMLELEMENT hàm vô hướng, trả giá trị kiểu XML Đối số gồm tên phần tử, thông báo không gian tên tùy chọn, thuộc tính tùy chọn, số không nhiều biểu thức tạo nên nội dung phần tử Hàm XMLELEMENT lồng Liệt kê cho thấy ví dụ cách sử dụng hàm XMLELEMENT ngữ cảnh lồng để tạo bảng liệu XML từ liệu lưu bảng EMPLOYEE DEPARTMENT sở liệu SAMPLE Một số gọi tới hàm sử dụng để tạo phần tử () ô bảng liệu, lồng phần tử () hàng bảng liệu Liệt kê cho thấy kết xuất truy vấn Bởi chuỗi đầu dài, nên chuỗi ví dụ hai dòng Bảng cho thấy kết xuất biến đổi sau chèn vào phần tử bảng XML Liệt kê Sử dụng hàm XMLELEMENT để tạo phần tử bảng XML từ liệu quan hệ connect to sample select xmlserialize( content xmlelement( name "tr", xmlelement(name "td", e.empno), xmlelement(name "td", e.firstnme), xmlelement(name "td", e.lastname), xmlelement(name "td", e.phoneno), xmlelement(name "td", d.deptno), xmlelement(name "td", substr(d.deptname, 1, 24)) ) as clob(120) ) as "result" from employee e, department d where e.workdept = d.deptno and year(hiredate) < 1970; 000010CHRISTINEHAAS3978 A00SPIFFY COMPUTER SERVICE 000050JOHNGEYER6789 E01SUPPORT SERVICES 000110VINCENZOLUCCHESSI3490 A00SPIFFY COMPUTER SERVICE 000120SEANO'CONNELL2167 A00SPIFFY COMPUTER SERVICE 000200DAVIDBROWN4501 D11MANUFACTURING SYSTEMS 000220JENNIFERLUTZ0672 D11MANUFACTURING SYSTEMS 000230JAMESJEFFERSON2094 D21ADMINISTRATION SYSTEMS 000250DANIELSMITH0961 D21ADMINISTRATION SYSTEMS 000280ETHELSCHNEIDER8997 E11OPERATIONS 000310MAUDESETRIGHT3332 E11OPERATIONS 000320RAMLALMEHTA9990 E21SOFTWARE SUPPORT 000340JASONGOUNOT5698 E21SOFTWARE SUPPORT connect reset Bảng Kết xuất hàm XMLELEMENT sẵn sàng để dùng tài liệu XML EMPN FIRST_NAM LAST_NAM PHONEN DEPTN O E E O O DEPARTMENT SPIFFY 000010 CHRISTINE HAAS 3978 A00 COMPUTER SERVICE 000050 JOHN GEYER 6789 E01 SUPPORT SERVICES SPIFFY 000110 VINCENZO LUCCHESSI 3490 A00 COMPUTER SERVICE SPIFFY 000120 SEAN O'CONNELL 2167 A00 COMPUTER SERVICE 000200 DAVID BROWN 4501 D11 000220 JENNIFER LUTZ 0672 D11 000230 JAMES JEFFERSON 2094 D21 000250 DANIEL SMITH D21 0961 MANUFACTURIN G SYSTEMS MANUFACTURIN G SYSTEMS ADMINISTRATIO N SYSTEMS ADMINISTRATIO N SYSTEMS 000280 ETHEL SCHNEIDER 8997 E11 OPERATIONS 000310 MAUDE SETRIGHT 3332 E11 OPERATIONS 000320 RAMLAL MEHTA 9990 E21 000340 JASON GOUNOT 5698 E21 SOFTWARE SUPPORT SOFTWARE SUPPORT XMLFOREST Hàm XMLFOREST kiến thiết xâu (rừng) nút phần tử XML XMLFOREST hàm vô hướng trả giá trị với loại liệu XML đối số Liệt kê cho thấy ví dụ cách sử dụng hàm XMLFOREST lồng hàm XMLELEMENT để tạo bảng liệu XML Một lần gọi hàm XMLFOREST dùng để tạo phần tử () ô bảng liệu, lồng () hàng bảng Liệt kê cho thấy ghi thu từ truy vấn này, lại hai dòng Bảng kết xuất biến đổi sau chèn vào phần tử bảng XML Liệt kê Sử dụng hàm XMLFOREST để tạo phàn tử bảng XML từ liệu quan hệ connect to sample select xmlserialize( content xmlelement( name "tr", xmlforest( e.empno as "td", e.firstnme as "td", e.lastname as "td", e.phoneno as "td", d.deptno as "td", d.deptname as "td" ) ) as clob(144) ) as "result" from employee e, department d where e.workdept = d.deptno and year(hiredate) < 1970; 000010CHRISTINEHAAS3978 A00SPIFFY COMPUTER SERVICE DIV. connect reset Bảng Các kết xuất từ hàm XMLFOREST sẵn sàng để dùng tài liệu XML EMPN FIRST_NAM LAST_NAM PHONEN DEPTN O E E O O DEPARTMENT SPIFFY 000010 CHRISTINE HAAS 3978 A00 COMPUTER SERVICE DIV 000050 JOHN GEYER 6789 E01 SUPPORT SERVICES SPIFFY 000110 VINCENZO LUCCHESSI 3490 A00 COMPUTER SERVICE DIV SPIFFY 000120 SEAN O'CONNELL 2167 A00 COMPUTER SERVICE DIV 000200 DAVID BROWN 4501 D11 000220 JENNIFER LUTZ 0672 D11 000230 JAMES JEFFERSON 2094 D21 000250 DANIEL SMITH D21 0961 MANUFACTURIN G SYSTEMS MANUFACTURIN G SYSTEMS ADMINISTRATIO N SYSTEMS ADMINISTRATIO N SYSTEMS 000280 ETHEL SCHNEIDER 8997 E11 OPERATIONS 000310 MAUDE SETRIGHT 3332 E11 OPERATIONS 000320 RAMLAL MEHTA 9990 E21 000340 JASON GOUNOT 5698 E21 SOFTWARE SUPPORT SOFTWARE SUPPORT XMLATTRIBUTES Hàm XMLATTRIBUTES kiến thiết hay nhiều nút thuộc tính XML cho nút phần tử XML XMLATTRIBUTES hàm vô hướng, trả giá trị kiểu XML Liệt kê cho thấy ví dụ cách sử dụng hàm XMLATTRIBUTES kết hợp với hàm XMLELEMENT để tạo bảng liệu XML Trong trường hợp này, ba số phần tử () ô bảng tạo nhận thuộc tính chỉnh cột ("align =" center"') Liệt kê cho thấy ghi trả lại truy vấn này, lần xuất hai dòng Bảng số kết xuất biến đổi sau chèn vào phần tử bảng XML Liệt kê Kiến thiết nút thuộc tính XML cho nút phần tử XML connect to sample select xmlserialize( content xmlelement( name "tr", xmlelement(name "td", xmlattributes('center' as "align"), e.empno), xmlelement(name "td", e.firstnme), xmlelement(name "td", e.lastname), xmlelement(name "td", xmlattributes('center' as "align"), e.phoneno), xmlelement(name "td", xmlattributes('center' as "align"), d.deptno), xmlelement(name "td", substr(d.deptname, 1, 24)) ) as clob(180) ) as "result" from employee e, department d where e.workdept = d.deptno and year(hiredate) < 1970; 000010CHRISTINEHAAS 3978A00 SPIFFY COMPUTER SERVICE connect reset Trong ví dụ này, hàm XMLELEMENT gọi hàm XMLATTRIBUTES để xác định thuộc tính chỉnh cột cho ba cột đầu Bảng kết xuất xếp Bảng Đoạn trích kết xuất xếp từ hàm XMLELEMENT EMPN FIRST_NAM LAST_NAM PHONEN DEPTN O E E O O DEPARTMENT SPIFFY 000010 CHRISTINE HAAS 3978 A00 COMPUTER SERVICE 000050 JOHN GEYER 6789 E01 SUPPORT SERVICES SPIFFY 000110 VINCENZO LUCCHESSI 3490 A00 COMPUTER SERVICE SPIFFY 000120 SEAN O'CONNELL 2167 A00 COMPUTER SERVICE 000200 DAVID BROWN 4501 D11 000220 JENNIFER LUTZ 0672 D11 MANUFACTURIN G SYSTEMS MANUFACTURIN G SYSTEMS XMLCONCAT Hàm XMLCONCAT ghép hai nhiều giá trị XML (các biểu thức kiểu liệu XML) XMLCONCAT hàm vô hướng, trả giá trị loại liệu XML đối số Liệt kê cho thấy ví dụ cách sử dụng hàm XMLCONCAT với hàm XMLELEMENT để tạo bảng liệu XML Trong trường hợp này, hai phần tử () ô bảng tạo nối Liệt kê cho thấy ghi trả lại nhờ truy vấn Bảng số kết xuất biến đổi sau chèn vào phần tử bảng XML Liệt kê Hàm XMLCONCAT sử dụng để ghép giá trị XML, chẳng hạn trường hợp này, hai nút phần tử XML connect to sample select xmlserialize( content xmlelement( name "tr", xmlconcat( xmlelement(name "td", firstnme), xmlelement(name "td", lastname) ) ) as clob(48) ) as "result" from employee order by lastname; BRUCEADAMSON connect reset Trong ví dụ này, hàm XMLELEMENT gọi hàm XMLCONCAT để ghép cặp nút phần tử XML lồng Bảng cho thấy kết xuất xếp Bảng Đoạn trích kết xuất xếp từ hàm XMLELEMENT FIRST_NAMELAST_NAME BRUCE ADAMSON DAVID BROWN JOHN GEYER JASON GOUNOT CHRISTINE HAAS EILEEN HENDERSON JAMES JEFFERSON SYBIL JOHNSON WILLIAM JONES SALLY KWAN WING LEE VINCENZO LUCCHESSI XMLAGG Hàm XMLAGG gộp giá trị XML thành mục xâu theo giá trị XML thu XMLAGG hàm (cột) gộp Liệt kê cho thấy ví dụ cách sử dụng hàm XMLAGG với hàm XMLELEMENT để tạo bảng liệu XML Trong trường hợp này, ba phần tử () ô bảng tạo gộp thể phần tử () hàng bảng Liệt kê cho thấy ghi thu từ truy vấn Bảng số kết xuất biến đổi sau chèn vào phần tử bảng XML Liệt kê Hàm XMLAGG sử dụng để gộp giá trị XML, trường hợp này, ba nút phần tử XML connect to sample select xmlserialize( content xmlelement( name "tr", xmlattributes(workdept as "id"), xmlagg( xmlelement(name "td", lastname) order by lastname ) ) as clob(72) ) as "result" from employee group by workdept having count(*) = 3; HAASLUCCHESSIO'CONNELL KWANNICHOLLSQUINTANA connect reset Trong ví dụ này, hàm XMLELEMENT gọi hàm XMLAGG để gộp nút phần tử XML lồng Bảng cho thấy kết xuất xếp Bảng Kết xuất xếp hàm XMLELEMENT DEPTNO A00 HAAS LUCCHESSI O'CONNELL C01 KWAN NICHOLLS QUINTANA XMLNAMESPACES Hàm XMLNAMESPACES kiến thiết khai báo không gian tên XML từ đối số Các khai báo nằm phạm vi phần tử hàm XMLELEMENT XMLFOREST tạo nên XMLNAMESPACES hàm vô hướng, trả giá trị kiểu XML Một khơng gian tên XML dùng để bổ nghĩa phần tử tên thuộc tính cách kết hợp với trình định danh tài ngun thơng dụng cụ thể (URI) Nó tập tên sử dụng tài liệu XML, loại phần tử tên thuộc tính Khơng gian tên XML đảm bảo phần tử thuộc tính có tên thơng dụng có phạm vi vượt tài liệu cho, thiết kế để tránh hiểu sai ứng dụng xử lý thẻ thuộc tính tương tự Liệt kê cho thấy ví dụ cách sử dụng hàm XMLNAMESPACES với hàm XMLELEMENT Trong trường hợp này, nút phần tử XML tên 'emp’, lồng ô bảng () hàng bảng (), có khơng gian tên mặc định thiết lập xâu rỗng, điều tương đương với việc khơng có khơng gian tên mặc định Liệt kê cho thấy hai ghi thu truy vấn Bảng số kết xuất biến đổi sau chèn vào phần tử bảng XML Liệt kê Hàm XMLNAMESPACES sử dụng để kiến thiết khai báo không gian tên XML connect to sample select xmlserialize( content xmlelement( name "tr", xmlelement( name "td", xmlelement( name "emp", xmlnamespaces( no default ), lastname ) ) ) as clob(48) ) as "result" from employee order by lastname; ADAMSON BROWN connect reset Trong thí dụ này, XMLELEMENT gọi hàm XMLNAMESPACES để kiến thiết không gian tên mặc định, mà thiết lập với xâu rỗng Bảng cho thấy đầu Bảng Trích đoạn đầu từ hàm XMLELEMENT EMP_NAME ADAMSON BROWN Tóm tắt Các hàm xuất SQL/XML lập sẵn UDB DB2 dùng để tạo tài liệu XML với nhãn từ liệu quan hệ Bài viết giới thiệu cho bạn số hàm xuất SQL/XML (các hàm gán, vô hướng gộp), cho bạn thấy ví dụ làm việc mà bạn tự chạy xây dựng theo Để tìm hiểu thêm hàm xuất SQL/XML, có thêm thơng tin chi tiết chủ đề đề cập viết này, bạn truy cập Trung tâm Thông tin DB2 ... xmlns="">BROWN Tóm tắt Các hàm xuất SQL/XML lập sẵn UDB DB2 dùng để tạo tài liệu XML với nhãn từ liệu quan hệ Bài viết giới thiệu cho bạn số hàm xuất SQL/XML (các hàm gán, vô hướng gộp), cho.. .DB2 UDB phiên 8.2 hỗ trợ bảy hàm xuất SQL/XML:  XMLSERIALIZE  XMLELEMENT  XMLFOREST  XMLATTRIBUTES  XMLCONCAT  XMLAGG  XMLNAMESPACES Các phần sau giới thiệu cho bạn hàm xuất Mặc... mà bạn tự chạy xây dựng theo Để tìm hiểu thêm hàm xuất SQL/XML, có thêm thông tin chi tiết chủ đề đề cập viết này, bạn truy cập Trung tâm Thông tin DB2

Ngày đăng: 07/08/2014, 09:23

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan