Tải bản đầy đủ (.ppt) (66 trang)

slide cơ sở dữ liệu chương (9) cơ sở dữ liệu xml

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 (298.73 KB, 66 trang )

21/10/14
Cơ sở dữ liệu XML 1
Chương 9
Chương 9
CƠ SỞ DỮ LIỆU XML
CƠ SỞ DỮ LIỆU XML
21/10/14
Cơ sở dữ liệu XML
2
Nội dung trình bày

XML là gì?

Sự khác biệt giữa XML và HTML

XML được sử dụng như thế nào?

Cú pháp cho XML

Các khái niệm cho XML: element, attribute, namespace, XML
parser, XML Encoding, CDATA, PCDATA, XML Encoding

XML và các cơ sở dữ liệu.

XML DTD và XML Schemas
21/10/14
Cơ sở dữ liệu XML
3
XML là gì?

XML(Extensible Markup Language) ra đời 2/1998



XML là ngôn ngữ có kiến trúc gần giống như HTML

XML thiết kế dùng để mô tả dữ liệu

Người dùng tự định nghĩa các thẻ (tag)

XML dùng DTD(Document Type Definition) hoặc
XML Schemas để mô tả dữ liệu
21/10/14
Cơ sở dữ liệu XML
4
Sự khác biệt giữ XML và HTML

XML ra đời không phải là sự thay thế cho HTML

XML dùng để mô tả dữ liệu – HTML dùng để biểu
diễn dữ liệu

XML quan tâm đến dữ liệu lưu trữ là gì? – HTML
quan tâm đến việc hiển thị dữ liệu như thế nào

Cách qui định lưu dữ liệu trên file XML nghiêm ngặt
hơn HTML
21/10/14
Cơ sở dữ liệu XML
5
XML được sử dụng như thế nào?

Có thể tách rời dữ liệu


Dùng để chuyển đổi dữ liệu

XML và B2B(Business to Busines)

Dùng để chia sẻ dữ liệu

Dùng để lưu trữ dữ liệu

Có thể làm cho dữ liệu trở nên hữu ích hơn
21/10/14
Cơ sở dữ liệu XML
6
Cú pháp của XML

Các qui định cú pháp của XML rất đơn giản nhưng rất nghiêm
ngặt

Tất cả các tài liệu của XML phải có một nút gốc(Root Element)

Mỗi một thành phần (element) bắt buộc phải có thẻ đóng (</>)

Ghi chú sử dụng thẻ <! … >
<root>
<child>
<subchild> ….</subchild>
</child>
</root>
21/10/14
Cơ sở dữ liệu XML

7

Các thẻ đóng mở của XML có phân biệt chữ hoa và chữ
thường (</letter> # </Letter>)

Tất cả các thành phần của XML phải lồng nhau một cách
chính xác:
Ví dụ : <b><i>… </i></b> : đúng
<b><i>… </b></i> : sai

Giá trị của thuộc tính (attribute) phải được để trong cặp dấu
ngoặc kép

Trong giá trị các khoảng trắng vẫn không bị cắt bỏ
Cú pháp cho XML (tt)
21/10/14
Cơ sở dữ liệu XML
8
Cú pháp cho XML
<? xml version =“1.0” encoding =“ISO-8859-1”?>
<note>
<to> Tove </to>
<from> Jani </from>
<heading> Reminder <heading>
<body> Don’t forget me this weekend! </body>
</note>
Ví dụ trên định nghĩa một thành phần gốc là note, trong đó có 4
thành phần con là: to, from, heading, body
21/10/14
Cơ sở dữ liệu XML

9

Thành phần(Element)
-
Các thành phần được đặt tên theo luật.
-
Các thành phần có thể mở rộng và có sự liên hệ với nhau
My first XML
Introduction to XML
+ What is HTML
+ What is XML
XML Syntax
+ Elements must have a closing tag
+ Elements must be properly
nested
Các khái niệm của XML
<book>
<title> My first XML </title>
<prod id = “33-657” medid =“paper” </prod>
<chapter> Introduction to XML
<para> What is HTML </para>
<para> What is XML </para>
</chapter>
<chapter> XML Syntax
<para> Elements must have a closing tag </para>
<para> Elements must be properly nested </para>
</chapter>
</book>
21/10/14
Cơ sở dữ liệu XML

10

Thuộc tính(attribute)
-
Các thuộc tính được sử dụng để mô tả thông tin cho các
thành phần.
Ví dụ:
<person>
<sex>female</sex>
<firstname> Anna</firstname>
<lastname> Smith</lastname>
</person>
Các khái niệm của XML
<person sex = “female”>
<firstname> Anna</firstname>
<lastname> Smith</lastname>
</person>
21/10/14
Cơ sở dữ liệu XML
11

Namspace: cung cấp phương pháp tránh đụng độ tên các thành phần

XML Parser: dùng để phân tích cấu trúc XML khi đọc – sửa đổi, tạo – xử
lý.

XML Encoding:chuyển các ký tự sang dạng chuẩn unicode để cho bộ
phân tích XML hiểu khi gặp ký tự lạ.

CDATA:Các dữ liệu văn bản trong đoạn này không bị phân tích bởi bộ phân

tích XML

PCDATA:Nội dung trong phần này đơn giản ở dạng văn bản thô, ngoài tính
chất mô tả văn bản chúng không có hỗ trợ nào thêm, tất cả dữ liệu trong phần
này đều lưu dưới dạng text.
Các khái niệm của XML
21/10/14
Cơ sở dữ liệu XML
12

XML có phải là một cơ sở dữ liệu?

Liệu XML có gần gũi hơn một cơ sở dữ liệu?

Sự lựa chọn giữa một CSDL bình thường và CSDL thuần
XML (native XML database)

Data-centric documents

Document-centric documents

Mối quan hệ giữa dữ liệu, tài liệu và cơ sở dữ liệu.

Đánh giá các kiểu cơ sở dữ liệu dùng lưu trữ dữ liệu XML
XML VÀ CƠ SỞ DỮ LIỆU
21/10/14
Cơ sở dữ liệu XML
13

Ưu điểm của XML:

-
Tự nó mô tả cấu trúc và tên của loại dữ liệu.
-
Dễ dàng di chuyển
-
Có thể mô tả dưới cấu trúc dạng cây hoặc đồ thị

Khuyết điểm của XML:
-
Dài dòng
-
Truy xuất dữ liệu chậm
XML có phải là một cơ sở dữ liệu?
21/10/14
Cơ sở dữ liệu XML
14
XML có gần gũi hơn một CSDL?

Một số điểm XML giống với CSDL:
-
Có khả năng lưu trữ
-
Có các lược đồ (DTDs, XML Schemas, Relaxng,…)
-
Ngôn ngữ truy vấn(XQuery, XPath, XQL, XML-QL,
QUILT…)
-
Hỗ trợ lập trình giao diện
21/10/14
Cơ sở dữ liệu XML

15
XML có gần gũi như một CSDL

Một số vấn đề XML chưa hỗ trợ như một CSDL:
-
Lưu trữ hiệu quả
-
Tạo chỉ mục hiệu quả
-
Bảo mật dữ liệu
-
Quản lý giao tác và tính toàn vẹn dữ liệu
-
Truy cập đa người dùng
-
Triggers
-
Truy vấn thông qua nhiều tài liệu
21/10/14
Cơ sở dữ liệu XML
16
XML có gần gũi như một CSDL

Câu trả lời “là một phần nào”
=> Kết luận: XML không phù hợp cho môi trường đa
người dùng , tính toàn vẹn dữ liệu được yêu cầu
nghiêm ngặt
21/10/14
Cơ sở dữ liệu XML
17

Câu hỏi đặt ra:

Chúng ta có một dữ liệu nguồn cần đưa ra ngoài?

Chúng ta tìm một nơi để lưu trữ các website của mình?

Một ứng dụng e-commerce sử dụng một CSDL mà XML chỉ
được xem là dữ liệu chuyển đổi?


=> trả lời chính xác cho các câu hỏi => lựa chọn đúng đắn một
loại csdl để lưu dữ liệu
Sự lựa chọn giữa một CSDL bình
thường và một CSDL thuần XML
21/10/14
Cơ sở dữ liệu XML
18

Là các loại tài liệu sử dụng XML như dữ liệu chuyển đổi

Được thiết kế cho việc sử dụng của các hệ thống

Không quan trọng cho ứng dụng hoặc CSDL có lưu trữ tài liệu
dạng XML

Không phù hợp với dữ liệu có cấu trúc theo qui tắc, dữ liệu ở
mức ít thô

Nội dung thể hiện ít hoặc không trộn lẫn nhau.


Ví dụ: các hóa đơn bán hàng, lịch bay,…
Data - centric Documents
21/10/14
Cơ sở dữ liệu XML
19

Là các loại tài liệu sử dụng XML để lưu dữ liệu

Được thiết kế cho việc sử dụng của con người

Đặc tính: ít hoặc không theo qui tắc, dữ liệu thô, có sự trộn
lẫn giữa các nội dung

Thường được viết thủ công hay một vài các chuẩn khác
như: RTF, PDF, hoặc SGML và rồi được chuyển sang XML

Ví dụ: Sách, email, quảng cáo, và hầu hết các tài liệu được
viết bằng XHTML
Document – Centric Documents
21/10/14
Cơ sở dữ liệu XML
20
=> Trong thực tế khó có thể phân biệt được giữa data và
document – centric documents.

Theo luật truyền thống:
-
Cần lưu dữ liệu dạng dữ liệu bình thường -> CSDL truyền
thống: CSDL quan hệ, CSDL hướng đối tượng, CSDL phân
cấp

-
Cần lưu trữ dữ liệu dạng tài liệu -> CSDL thuần XML hoặc
một hệ thống quản lý văn bản

Tuy nhiên
-
Cần lưu dữ liệu dạng dữ liệu + dữ liệu bán cấu trúc ->
CSDL thuần XML
-
Cần lưu trữ dữ liệu dạng tài liệu + đặc tính XML ít được chỉ
ra -> CSDL truyền thống
Mối quan hệ giữa dữ liệu, tài liệu
và cơ sở dữ liệu
21/10/14
Cơ sở dữ liệu XML
21

Sử dụng hệ thống file:
-
Không hỗ trợ cho việc liên kết các thành phần của cấu trúc
cây => việc lưu trữ những liên kết về cấu trúc và ngữ nghĩa
của nó rất phức tạp
-
Không thể thực thi được những yêu cầu rút trích dữ liệu phức
tạp
=> Việc lưu trữ dữ liệu trên XML là không hiệu quả.

Sử dụng CSDL quan hệ:
-
Csdl quan hệ xây dựng dựa trên cấu trúc bảng -> không phù

hợp cho cấu trúc phân cấp và kết nối tự nhiên trong nội dung
của XML
Đánh giá các kiểu cơ sơ dữ liệu
lưu trữ dữ liệu XML
21/10/14
Cơ sở dữ liệu XML
22
Đánh giá các kiểu cơ sở dữ liệu lưu
trữ dữ liệu XML
-
Cố gắng lưu trữ trong CSDL quan hệ cho phù hợp bằng
các bảng dữ liệu và các mối quan hệ => phá vỡ cấu trúc
đối tượng và ngữ nghĩa của XML, phải chịu sự trùng lắp
trong thiết kế dữ liệu,…
-
Không hỗ trợ lock ở mức lược đồ, đối tượng chỉ hỗ trợ
lock ở mức dòng => truy xuất đồng thời và theo bậc
thang sẽ gặp khó khăn.
21/10/14
Cơ sở dữ liệu XML
23
Đánh giá các kiểu cơ sở dữ liệu lưu
trữ dữ liệu XML
-
Nặng nề trong việc xử lý nhúng và đáp ứng các yêu
cầu phức tạp của cấu trúc XML đưa ra.
=>CSDL quan hệ là lựa chọn thông minh trong nhiều ứng dụng
khác, nhưng nó không phù hợp và không hiệu quả cho việc
lưu trữ dữ liệu phân cấp của XML.
21/10/14

Cơ sở dữ liệu XML
24
Đánh giá các kiểu cơ sở dữ liệu lưu
trữ dữ liệu XML

CSDL hướng đối tượng
-
Được thiết kế bằng các chuẩn riêng của chúng.
-
Các đối tượng chứa dữ liệu, phương thức, mối liên hệ
và các ngữ cảnh riêng của chúng => lý tưởng cho việc
tạo và quản lý các cây phân cấp của XML.
21/10/14
Cơ sở dữ liệu XML
25
Đánh giá các kiểu cơ sở dữ liệu lưu
trữ dữ liệu XML
-
Mô hình csdl đối tượng có định hướng phân cấp và có
chứa các liên kết theo chiều ngang => giảm sự tính toán
và tăng khả năng thực hiện
-
Được thiết kế một cách mềm dẻo, quản lý lock tốt =>
giải quyết đụng độ khi có nhiều người sử dụng truy cập
tốt.
=> CSDL đối tượng phù hợp trong việc lưu trữ dữ liệu
XML

×