Lập trình với XML cho DB2, Phần 2: Phát huy sự hỗ trợ của cơ sở dữ liệu cho XML
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Lập trình với XML cho DB2, Phần 2: Phát huy sự hỗ trợ của cơ sở dữ liệu cho XML Lập trình với XML cho DB2, Phần 2: Phát huy sự hỗ trợ của cơ sở dữ liệu cho XML trong kiến trúc ứng dụng của bạnHardeep Singh, Kiến trúc sư các công nghệ nâng cao, IBMTóm tắt: Hãy tìm hiểu cách môi trường lưu trữ và truy vấn XML mới của DB2®phiên bản 9 cho các hệ điều hành Linux®, UNIX® và Windows® làm việc trongmô hình dữ liệu XML được mô tả trong Phần 1 của loạt bài này. Phần 2 tập trungvào cách làm thế nào để khai thác sự hỗ trợ đã cải tiến của cơ sở dữ liệu cho XMLtrong kiến trúc ứng dụng của bạn.Giới thiệuVị thế của XML trong cơ sở dữ liệu đã thay đổi trong vài năm qua, từ một côngnhân tạm thời thành một công dân hạng nhất. Nó không còn phải biến hình nhândạng để phù hợp với thế giới dữ liệu quan hệ. Nó duy trì các di sản phân cấp củanó một cách tự hào, ngay cả khi khai thác sức mạnh và sự ổn định của thế giới cơsở dữ liệu quan hệ. Thực vậy, một số láng giềng cơ sở dữ liệu quan hệ của nó phảicó các kỹ thuật thích nghi, làm cho mình giống với XML để khai thác sự phongphú của mô hình XML phân cấp.Bài viết này giới thiệu cách môi trường lưu trữ và truy vấn XML mới làm việctrong mô hình dữ liệu XML từ phần 1. Nó cho thấy rằng một khi bạn thích ứngvới kiến trúc phát triển ứng dụng dựa trên XML mới, thì các lược đồ cơ sở dữ liệucủa bạn trở nên đơn giản hơn nhiều và tự nhiên hơn như thế nào. Nó cũng cho thấycách truy vấn dữ liệu XML trong cơ sở dữ liệu không khác với cách truy vấn dữliệu trong ứng dụng. Cuối cùng, nó cho bạn thấy cách kết hợp các dữ liệu quan hệvới các dữ liệu XML để có được những điểm tốt nhất của cả hai thế giới đó.Các khái niệm cơ bản về cơ sở dữ liệu XMLMặc dù hầu hết các cơ sở dữ liệu quan hệ chính đều có một số hỗ trợ cho XML,nhưng sự hỗ trợ của pureXML DB2 cho XML là mạnh mẽ và hiệu quả hơn nhiều,làm cho nó trở thành một cơ sở dữ liệu lý tưởng để thử nghiệm mô hình lập trìnhXML. Trong bài này tôi tập trung vào cách để khai thác sự hỗ trợ đã cải tiến nàycủa cơ sở dữ liệu cho XML trong kiến trúc ứng dụng của bạn.DB2 cho phép bạn lưu trữ, truy vấn, thao tác và xuất bản: Dữ liệu quan hệ bằng SQL Dữ liệu quan hệ như XML bằng SQL/XML Dữ liệu XML bằng Xquery Dữ liệu lai (Dữ liệu quan hệ & XML) bằng SQL/XML và Xquery Hình 1. Lưu trữ lai của DB2Lưu trữ XML trong cơ sở dữ liệuƯu điểm chính của sự hỗ trợ XML trong cơ sở dữ liệu quan hệ là bạn có thể ghilưu được cả dữ liệu quan hệ và dữ liệu XML trong cùng một bảng. Và mặc dù vềnội tại bên trong XML được lưu trữ dưới dạng (dạng cây) phân cấp, nhưng về mặtlogic, trong bảng cơ sở dữ liệu nó dường như được lưu trữ trong chỉ một cột đơn(như một CLOB hay BLOB).Từ các đối tượng dữ liệu trong phần 1, bạn thấy rằng có hai bảng với ít nhất haicột mỗi bảng.Liệt kê 1. Các bảngCREATE TABLE CUSTOMER_TABLE (CUSTOMERID CHARACTER (12) NOT NULL,CUSTXML XML NOT NULL ,CONSTRAINT CC1183665042494 PRIMARY KEY ( CUSTOMERID) )CREATE TABLE PURCHASE_TABLE (CUSTOMERID CHARACTER (12) NOT NULL ,ITEMXML XML NOT NULL ,CONSTRAINT CC1183665244645 FOREIGN KEY(CUSTOMERID) REFERENCES CUSTOME R_TABLE (CUSTOMERID)ON DELETE CASCADE ON UPDATE NO ACTIONENFORCED ENABLE QUERY OPTIMIZATION )Từ các mệnh đề trên, rõ ràng rằng bằng cách lưu trữ một đối tượng dữ liệu củaứng dụng dưới dạng XML, thì các lược đồ quan hệ đơn giản hóa rất nhiều. Hơnnữa, việc cơ sở hạ tầng vẫn là quan hệ cho phép các dữ liệu XML sử dụng đượccác khả năng đã được minh chứng của các cơ sở dữ liệu quan hệ, ví dụ như cáctriggers, các ràng buộc và các mối quan hệ khóa ngoài.Vì rằng về mặt lôgic thì cột XML tỏ ra giống như cột VARCHAR, CLOB, hoặcBLOB, nên các câu lệnh INSERT cũng tương tự.insert into CUSTOMER_TABLE values(hardeep,)Hoặc nếu bạn chèn vào từ một chương trình Java:Liệt kê 2. Chèn vào từ một chương trình JavaString insertsql= insert into PURCHASE_TABLE values(?,?);PreparedStatement iStmt=connection.prepareStatement(insertsql);File inputfile= new File(filename); //filename is the path of the XML filelong filesize=inputfile.length();BufferedReader in = new BufferedReader(new FileReader(inputfile));iStmt.setCharacterStream(1,in,(int)filesize);int rc= iStmt.executeUpdate();Để hiểu rõ hơn về lưu trữ lai, bạn hãy nhìn vào khung nhìn về cách dữ liệu XMLdường như về lôgic được lưu giữ như thế nào trong cơ sở dữ liệu quan hệ.Ghi chú: Ngay cả khi công nghệ lưu trữ vật lý cho XML có thể khác nhau vớitừng nhà cung cấp cơ sở dữ liệu quan hệ khác nhau, thì khung nhìn lôgic là nhưnhau.Hình 2. Khung nhìn lôgic lưu trữ lai của DB2Truy vấn XMLKhi mở rộng mô hình lược đồ cơ sở dữ liệu thì bạn có thể thấy các bảng quan hệvà các cột. Nếu bạn đào sâu vào một cột XML, thì lược đồ chuyển từ mô hìnhquan hệ sang mô hình phân cấp cho XML. Bây giờ, nếu bạn bỏ qua thực tế là cóhai lược đồ: lược đồ quan ...
Tìm kiếm theo từ khóa liên quan:
quản trị dữ liệu lập trình XML ngôn ngữ SQL data base hệ quản trị lưu trữ dữ liệu bộ nhớTài liệu có liên quan:
-
Đáp án đề thi học kỳ 2 môn cơ sở dữ liệu
3 trang 340 1 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG XÂY DỰNG HỆ THỐNG ĐẶT VÉ TÀU ONLINE
43 trang 311 2 0 -
8 trang 299 0 0
-
6 trang 213 0 0
-
Hướng dẫn tạo file ghost và bung ghost
12 trang 161 0 0 -
Giáo trình Nhập môn cơ sở dữ liệu: Phần 2 - Trần Thành Trai
145 trang 104 0 0 -
Hướng dẫn sử dụng Mapinfo Professional-Phần cơ bản
57 trang 101 0 0 -
150 trang 79 0 0
-
Phát triển Java 2.0: Phân tích dữ liệu lớn bằng MapReduce của Hadoop
12 trang 77 0 0 -
Giáo trình Điện toán đám mây (Xuất bản lần thứ hai): Phần 1
64 trang 75 0 0
Tài liệu mới:
-
Đề thi KSCL môn Sinh học lớp 12 năm 2017-2018 - Sở GD&ĐT Quảng Nam - Mã đề 420
6 trang 0 0 0 -
Đề thi KSCL môn Sinh học lớp 12 năm 2017-2018 - Sở GD&ĐT Quảng Nam - Mã đề 419
6 trang 0 0 0 -
Đề thi KSCL môn Sinh học lớp 12 năm 2017-2018 - Sở GD&ĐT Quảng Nam - Mã đề 424
6 trang 0 0 0 -
Đề kiểm tra 1 tiết học kì 2 môn Tiếng Anh lớp 7 năm 2019-2020 - THCS Hòa Trung
2 trang 0 0 0 -
Đề kiểm tra 1 tiết môn Tiếng Anh lớp 7
8 trang 0 0 0 -
Đề kiểm tra 1 tiết môn Tiếng Anh lớp 7 năm 2019-2020 có đáp án - DTNT Bù Gia Mập
4 trang 1 0 0 -
Đề kiểm tra 1 tiết học kì 2 môn Tiếng Anh lớp 7 có đáp án - THCS Rời Kơi
4 trang 0 0 0 -
ĐỀ THI THỬ ĐẠI HỌC LẦN II NĂM HỌC 2012 - 2013 MÔN VẬT LÝ - TRƯỜNG THPT ĐẶNG THÚC HỨA
6 trang 1 0 0 -
Đề thi giữa học kì 2 môn Toán lớp 7 năm 2022-2023 có đáp án - Trường PTDTNT THCS Hiệp Đức
4 trang 1 0 0 -
Đề thi học kì 2 môn Toán lớp 8 năm 2023-2024 có đáp án - Trường TH&THCS Phước Hiệp, Phước Sơn
3 trang 0 0 0