Tên duy nhất

Một phần của tài liệu Tích hợp các hệ thống cơ sở dữ liệu quan hệ và XML (Trang 44 - 47)

Tên của quan hệ được yêu cầu là duy nhất trong phạm vi toàn bộ lược đồ quan hệ, tương tự đối với tên của một kiểu phần tử XML là duy nhất trong DTD. Tuy nhiên, XML cho phép những kiểu phần tử có tên trùng nhau bằng việc sử dụng không gian tên khác nhau. Vì vậy, tên giống nhau có thể xuất hiện trong những kiểu phần tử hợp được định nghĩa trên cơ sở của những miền hợp thành khác nhau mà không có sự xung đột. Ví dụ, có hai miền hợp thành có thể bao gồm cùng một kiểu phần tử với tên address nhưng những miền khác không có xung đột. Tên của một thuộc tính XML được định nghĩa trong một DTD và một lược đồ XML có thể là duy nhất trong kiểu phần tử của nó, điều này tương tự với tên của thuộc tính CSDL quan hệ, cái có thể là duy nhất trong quan hệ của nó.

2.1.4. Các giá trị rỗng và các giá trị mặc định

Tương tự như CSDL quan hệ, XML cho phép biểu diễn những giá trị rỗng cũng như những giá trị mặc định. Trong CSDL quan hệ, nội dung của những giá trị rỗng chỉ được định nghĩa cho các thuộc tính, Tuy nhiên, XML xác nhận giá trị cho cả các thuộc tính và cả các phần tử. Trong DTD, những giá trị mặc định có thể được cập nhật chỉ tới những thuộc tính XML, Trong khi lược đồ XML xác nhận những giá trị mặc định cho các kiểu phần tử.

Về các thuộc tính XML, được gọi là sự công bố mặc định trong một DTD yêu cầu định rõ cho mỗi thuộc tính với một trong những ràng buộc dưới đây:

#REQUYRED, nghĩa là một giá trị được yêu cầu là không rỗng (NOT NULL) trong CSDL quan hệ.

#IMPLIED, biểu thị giá trị tuỳ ý của thuộc tính, biểu thị bằng cách bỏ đi giá trị NOT NULL của CSDL quan hệ, chý ý là trong trường hợp không có giá trị được cung cấp cho mỗi thuộc tính XML tại mức minh hoạ, tên của thuộc tính cũng bị bỏ qua trong tài liệu XML.

#FIXED <ConstValue>, định nghĩa một hệ số giá trị, điều này không thể trong CSDL quan hệ.

<DefaultValue>, xác định một giá trị mặc định tương tự như mệnh đề mặc định trong CSDL quan hệ.

Trong một tài liệu XML, một phần tử có thể bị bỏ quên hoặc không được chỉ rõ trong cả DTD và lược đồ XML theo nghĩa các yếu tố ràng buộc trong một tập hợp. Khi những kiểu phần tử có thể là hợp thành của nhiều hơn một kiểu hợp thành, mỗi cái xảy ra trong nó như kiểu phần tử hợp thành có thể đưa ra số các yếu tố trong một tập hợp khác.

Các kí hiệu số các yếu tố trong một tập hợp cho DTD là „?‟ (0 hoặc 1), „*‟ (0 hoặc nhiều hơn), „+‟ (một hoặc nhiều hơn), và không có biểu tượng thì được hiểu chính xác là 1. Trong lược đồ XML, số các yếu tố trong một tập hợp được chỉ ra bởi nhiều chi tiết hơn bằng việc sử dụng các thuộc tính minOccurs

maxOccurs.

Số các yếu tố

trong một tập hợp UML DTD

XML Schema

minOccurs max Occurs

0 hoặc 1 0..1 ? 0 1 (mặc định)

Chính xác 1 1 Mặc định 1 (mặc định) 1 (mặc định)

0 hoặc 1 0..*, * * 0 Không giới

hạn

1 hoặc 0 1..* + 1 (mặc định) Không giới

hạn Số các yếu tố trong một tập hợp tuỳ ý,

ví dụ, 3 đến 5

3..5 Không được hỗ trợ

3 5

Hình 2.4: So sánh - số các yếu tố trong một tập hợp

Điều này nhấn mạnh là có một sự khác nhau về ngữ nghĩa giữa thẻ bắt đầu trực tiếp theo sau bằng một thẻ kết thúc. Vấn đề trước làm hợp nhất một trong ba sự khác nhau được chỉ ra trong DTD và lược đồ XML:

(1) Một phần tử được chỉ ra như một kiểu phần tử rỗng

(2) Một phần tử được chỉ ra như một kiểu phần tử nguyên tử, cái có giá trị là một chuỗi rỗng.

(3) Một kiểu phần tử được chỉ ra như một kiểu phần tử hợp thành, nhưng trong tài liệu XML đặc biệt, không tồn tại kiểu phần tử hợp thành.

2.1.5. Quan hệ

Trong CSDL, các quan hệ có thể được biểu diễn giữa các quan hệ theo nghĩa khóa ngoại lai. Số các bộ tham gia trong các quan hệ có thể được biểu diễn bởi định nghĩa cho khóa ngoại lai như NOT NULL và UNIQUE. Như vậy, số các yếu tố trong một tập hợp khác nhau có thể được xác nhận như là minh họa trong hình 2.4. DTDs cho phép có hai cách lựa chọn với những quan hệ đặc biệt giữa những kiểu phần tử gồm những thuộc tính IDREF(s) và những kiểu phần tử hợp thành. Kiểu của những thuộc tính IDREF(s) đưa ra một số loại khóa ngoại lai tham chiếu kiểu của những thuộc tính ID. Sự phân biệt giữa những thuộc tính IDREF và IDREFS liên quan tới số các phần tử trong một tập hợp của chúng, trong trường hợp đó giá trị đơn có trước và sau đó là giá trị đa.

Database DTD XML Shema

Nội dung Khoá ngoại lai Tuộc tính IDREF (S) Kiểu phần tử hợp thành Keyref (thêm vào các nội dung DTD) Kiểu phần tử hợp thành

Các tham gia Các quan hệ (tuples) Các kiểu phần tử Kiểu các tham gia Tuples của một quan hệ nào đó Nó thì không bắt buộc các phần tử tham gia Các phần tử tham gia bị hạn chế bởi kiểu phần tử hợp thành Các phần tử của một kiểu phần tử nào đó Các phần tử tham gia bị hạn chế bởi kiểu phần tử hợp thành và thuyết tiến hoá của nó Số các yếu tố trong tập hợp (0..1):*, 1:*, (0..1):(0..1), 1:(0..1) *:(0..1), *:1, *.*, *:(1..*) 1:1, 1:*, 1:(1..*), 1:(0..1) Giống như trong CSDL quan hệ 1: giá trị tuỳ ý

Lược đồ XML cung cấp nội dung của keyref , cái tương ứng với các khoá ngoại lai của CSDL quan hệ, điều này nghĩa là sự kết hợp kiểu phần tử/ thuộc tính quyết định tham chiếu tương ứng với sự kết hợp kiểu phần tử/ thuộc tính xây dựng khóa. Về các quan hệ, cái được thực hiện bởi những kiểu phần tử hợp thành, đặc biệt số các yếu tố trong một tập hợp của những kiểu phần tử hợp thành có thể là những giá trị tùy ý như đã đề cập. Hơn nữa, những phần tử tham gia không chỉ có các phần tử hợp thành như yêu cầu khi sử dụng DTD, nhưng cũng có thể là những phần tử được điều khiển tử những kiểu phần tử hợp thành này.

Một phần của tài liệu Tích hợp các hệ thống cơ sở dữ liệu quan hệ và XML (Trang 44 - 47)