1. Trang chủ
  2. » Công Nghệ Thông Tin

Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ

74 973 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 74
Dung lượng 1,8 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mặc dù XML rất hiệu quả trong quá trình trao đổi, truy suất trên Internet, nhưng nó không thể có được những tính năng tuyệt vời của cơ sở dữ liệu quan hệ như: lưu trữ hiệu quả với dung l

Trang 1

LỜI CẢM ƠN

Lời đầu tiên, em xin chân thành cảm ơn Trường Đại học công nghệ thông tin

và truyền thông, Đại học Thái Nguyên đã tạo điều kiện thuận lợi cho phép em thực hiện hiện đề tài này

Đặc biệt em xin chân thành cảm ơn tới ThS.Hà Thị Thanh đã rất tận tình

định hướng và chỉ dẫn rất nhiệt tình trong thời gian vừa qua

Em cũng xin chân thành cảm ơn các thầy cô trong bộ môn đã tận tình giảng dạy, hướng dẫn cho chúng em những kiến thức cần thiết trong 5 năm đã học tập tại trường

Mặc dù em đã cố gắng nhưng với kiến thức còn hạn chế, trong quá trình làm

đề tài không tránh khỏi những thiếu sót Em hy vọng sẽ nhận được những ý kiến nhận xét, góp ý của các thầy cô giáo và bạn bè để em có thể thực hiện đề tài của mình được hoàn thiện hơn

Em xin chân thành cảm ơn!

Trang 2

LỜI CAM ĐOAN

Em xin cam đoan toàn bộ đề tài: “Chuyển đổi dữ liệu từ XML sang cơ sở

dữ liệu quan hệ”, là do bản thân tìm hiểu, nghiên cứu Không có sự sao chép nội

dung từ các đồ án khác Tất cả nội dung hoặc hình ảnh minh họa đều có nguồn gốc xuất xứ rõ ràng từ các tài liệu tham khảo ở nhiều nguồn khác nhau mà xây

dựng lên Ngoài ra còn có sự góp ý và định hướng của cô giáo Ths.Hà Thị

Trang 3

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

DANH MỤC HÌNH ẢNH 5

DANH MỤC CÁC BẢNG 7

DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT 8

MỞ ĐẦU 9

CHƯƠNG 1: TỔNG QUAN VỀ XML 12

1.1 Tổng Quan Về XML 12

1.1.1 Lịch sử phát triển của XML 12

1.1.2 Giới thiệu về XML 13

1.1.3 Cấu trúc tài liệu XML 14

1.1.4 Các thành phần cơ bản của tài liệu XML 16

1.1.5 Cấu trúc XML hợp khuôn dạng 20

1.1.6 Định nghĩa kiểu tài liệu DTD (Document Type Definition) 21

1.1.7 Mô hình DOM (Document Object Model) 23

1.2 Một số ứng dụng của XML 25

1.2.1 XML tách dữ liệu từ HTML: 25

1.2.2 XML đơn giản hóa việc chia sẻ dữ liệu: 26

1.2.3 XML đơn giản hóa việc vận chuyển dữ liệu: 26

1.2.4 XML làm cho dữ liệu của bạn khả dụng hơn: 26

1.2.5 XML đơn giản hóa việc thay đổi nền tảng: 26

1.2.6 XML dùng để tạo ngôn ngữ internet mới 26

1.2.7 Ứng dụng truy vấn dữ liệu từ file XML: Sử dụng LinQ 27

CHƯƠNG 2.XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ 30

2.1 Cơ sở dữ liệu quan hệ 30

Trang 4

2.1.1 Sơ lược về cơ sở dữ liệu 30

2.1.2 Thiết kế cơ sở dữ liệu quan hệ 34

2.2 XML có phải là cơ sở dữ liệu ? 42

2.3 So sánh dữ liệu XML và dữ liệu quan hệ: 43

2.4.Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ 44

2.4.1 Đặt vấn đề 44

2.4.2 Nội dung nghiên cứu 45

2.4.3 Kết luận 56

CHƯƠNG 3 57

PHÂN TÍCH THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH 57

3.1 Phân tích hệ thống 57

3.1.1 Mô tả bài toán 57

3.1.2 Tác nhân 57

3.1.3 Các USE CASE 57

3.1.4 Biểu đồ USE CASE 57

3.1.5 Kịch bản cho các UC 58

3.2 Chương trình 69

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 71

TÀI LIỆU THAM KHẢO 72

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 73

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 74

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1.a: Tim Berners-Lee Cha đẻ của WWW đã phát minh ra HTML năm 1990

12

Hình 1.b: GuTim Bray 13

Hình 1.c: Cấu trúc tài liệu XML 15

Hình 1.2.1 Giao diện chính của chương trình nhập liệu thông tin sinh viên 28

Hình 1.2.2.Kết quả của chương trình nhập liệu thông tin sinh viên 29

Hình 2.1 Một CSDL đơn giản 30

Hình 2.4.1.Thao tác gộp (Mô hình giản lược đồ thị) 48

Hình 2.4.2.File univ.dtd 51

Hình 2.4.3.Bảng univ 52

Hình 2.4.4 Bảng college 52

Hình 2.4.5 Bảng school 52

Hình 2.4.6 Bảng dep 52

Hình 2.4.7 Bảng Edge 53

Hình 2.4.8 Xây dựng cây DOM từ tài liệu XML 53

Hình 2.4.9 File univ.xml 54

Hình 2.4.10 Bảng Univ 55

Hình 2.4.11 Bảng College 55

Hình 2.4.12 Bảng Schools 55

Hình 2.4.13 Bảng dep 56

Hình 2.4.14 Bảng Edge 56

Hình 3.1.Biểu đồ use case 58

Hình 3.2 Biểu đồ trình tự của UC mở file 59

Trang 6

Hình 3.3 Biểu đồ cộng tác của UC mở file 59

Hình 3.4.Biểu đồ trình tự của UC thao tác nhanh 60

Hình 3.5 Biểu đồ cộng tác của UC thao tác nhanh 61

Hình 3.6 Biểu đồ trình tự của UC tạo cây 62

Hình 3.7 Biểu đồ cộng tác của UC tạo cây 62

Hình 3.8.Biểu đồ trình tự của UC Inlining 63

Hình 3.9 Biểu đồ cộng tác của UC Inlining 64

Hình 3.10 Biểu đồ trình tự của UC Sinh lược đồ quan hệ 65

Hình 3.11 Biểu đồ cộng tác của UC Sinh lược đồ quan hệ 65

Hình 3.12 Biểu đồ trình tự của UC thêm dữ liệu 66

Hình 3.13 Biểu đồ cộng tác của UC thêm dữ liệu 67

Hình 3.14 Biểu đồ trình tự của UC hiển thị dữ liệu 68

Hình 3.15 Biểu đồ cộng tác của UC hiển thị dữ liệu 68

Hình 3.16 Giao diện kết nối cơ sở dữ liệu 69

Hình 3.17 Giao diện chính của chương trình 69

Hình 3.18 Giao diện khi thực hiện thuật toán NewIniling 70

Hình 3.19 Giao diện sau khi thực hiện thuật toán XInsert 70

Trang 7

DANH MỤC CÁC BẢNG

Bảng 1:Bảng tham chiếu thực thể trong XML 21Bảng 2 Các nút trong mô hình DOM 24Bảng 2.3.a So sánh dữ liệu XML và dữ liệu quan hệ 44

Trang 8

DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT

Tên vi t t tết tắt ắt Ý nghĩa

API Application Programming Interface

CNTT Công ngh thông tinệ thông tin

CSDL C s d li uơ sở dữ liệu ở dữ liệu ữ liệu ệ thông tin

DBMS H qu n tr c s d li u_Database Managementệ thông tin ản trị cơ sở dữ liệu_Database Management ị cơ sở dữ liệu_Database Management ơ sở dữ liệu ở dữ liệu ữ liệu ệ thông tin

SystemRDBMS H qu n tr c s d li u quan h _Relationalệ thông tin ản trị cơ sở dữ liệu_Database Management ị cơ sở dữ liệu_Database Management ơ sở dữ liệu ở dữ liệu ữ liệu ệ thông tin ệ thông tin

Database Manegement System

DTD Document Type Definition

HTML HyperText Markup Language

XML eXtensible Markup Language

SQL Structured Query Language

SGML Standard Generalized Markup Language

Trang 9

MỞ ĐẦU

Ngày nay, Internet phát triển mạnh mẽ làm cho HTML (HyperText Markup Language - ngôn ngữ đánh dấu siêu văn bản) một ngôn ngữ lý tưởng để hiển thị trang Web được nhiều người biết đến Tuy vậy, HTML không thể phát triển

xa hơn nữa trong thế giới ảo, nó được đánh giá là khá tồi khi mô tả nội dung trang web dưới dạng dữ liệu để có thể thao tác dễ dàng được ở bất cứ thời điểm

và hoàn cảnh nào Điều này đã làm cho người ta suy nghĩ đến XML Vậy XML

là gì?

XML là ngôn ngữ lập trình tương đối mới, nhưng đang ngày càng trở nên phổdụng trong nhiều ứng dụng đa dạng XML xuất hiện cung cấp cho chúng ta một cách thức mô tả dữ liệu có cấu trúc mà bản thân tên gọi của nó đã nêu rõ

eXtensible Markup Language (ngôn ngữ tăng cường) Do đó, ở đâu có dữ liệu nhập/xuất, lưu trữ hoặc truyền từ nơi này đến nơi khác thì ở đó trở thành mảnh đất đầy tiềm năng thích hợp với các khả năng của XML Có lẽ nổi tiếng nhất vẫn

là các ứng dụng có liên quan đến web

Nhưng có nhiều ứng dụng khác không thuộc web vẫn thích hợp với XML Ví dụ: Để thay thế cho các dữ liệu truyền thống hoặc để chuyển giao thông tin tài chính giữa các doanh nghiệp,…Có thể nói, XML là một ngôn ngữ chung thống nhất cho toàn bộ dữ liệu trên web, giúp cho các nhà phát triển sức mạnh để đem lại mọi thông tin và dữ liệu có cấu trúc cần thiết từ bất cứ chương trình nào tới tận màn hình của người sử dụng

Mặc dù XML rất hiệu quả trong quá trình trao đổi, truy suất trên Internet, nhưng nó không thể có được những tính năng tuyệt vời của cơ sở dữ liệu quan

hệ như: lưu trữ hiệu quả với dung lượng cực lớn, sao chép dự phòng, phục hồi dữliệu, tối ưu hệ thống, Ngoài ra, số lượng ngày càng tăng của các tài liệu XML đòi hỏi sự cần thiết để lưu trữ và truy vấn tài liệu XML một cách hiệu quả Vì vậy, trong phạm vi của đề tài này, em sẽ trình bày “quá trình chuyển đổi dữ liệu XML sang dữ liệu quan hệ”.Em chọn cơ sở dữ liệu Microsoft SQL Server 2005

để lưu trữ dữ liệu trong quá trình thực hiện chuyển đổi Trước khi đi vào nội dung chính của đề tài, chúng tôi sẽ tìm hiểu một số khái niệm cơ bản về XML

Trang 10

cũng như XML DOM và cơ sở dữ liệu quan hệ cũng như đặc điểm nổi bật của cơ

và tài liệu người dùng với các định dạng khác nhau

Mặc dù XML rất hiệu quả trong quá trình trao đổi, truy xuất trên internet nhưng nó không thể có được những tính năng tuyệt vời của CSDL quan hệ như lưu trữ hiệu quả với dung lượng cực lớn, sao chép dự phòng, phục hồi dữ liệu, tối

ưu hệ thống, do đó nhu cầu chuyển đổi dữ liệu từ XML sang CSDL quan hệ là rất cần thiết khi lượng tài liệu XML ngày càng tăng , đồng thời được sự gợi ý của

giáo viên hướng dẫn, em đã chọn đề tài “Chuyển đổi dữ liệu từ XML sang cơ sở

dữ liệu quan hệ ” làm đồ án tốt nghiệp của mình.

2 Mục tiêu của đề tài

Đề tài tập chung nghiên cứu kiến thức tổng quan nhất về XML, một số ứng dụng của XML, nghiên cứu thuật toán chuyển đổi dữ liệu từ XML sang CSDL quan hệ

3 Nội dung chính của đề tài bao gồm các phần chính sau

Chương 1: Giới thiệu tổng quan về XML

Chương 2: XML và cơ sở dữ liệu quan hệ

Chương 3: Phân tích thiết kế và cài đặt chương trình

Trang 12

có cấu trúc tinh vi SGML là ngôn ngữ rất khó học và các công cụ để phát triển

Hình 1.a: Tim Berners-Lee Cha đẻ của WWW đã phát minh ra HTML năm 1990Mùa hè năm 1996, Jon Bosak ở Sun Microsystem khởi đầu nhóm cộng tác W3C SGML, được gọi là nhóm XML Mục đích của nhóm là đơn giản hoá SGML để nó dễ sử dụng như HTML, đồng thời lại mạnh mẽ và linh động Tim Bray và C.M Sperberg-McQueen viết hầu hết Specification (bản điều kiện kỹ thuật) nguyên thủy của XML Trước đó Bray đã có kinh nghiệm nhiều năm quản

lý dự án “New Oxford English Dictionary” Ông muốn XML hội tụ các điều

Trang 13

- Đơn giản đủ cho lập trình viên áp dụng

- Dễ cho Search Engine (Alta Vista, Yahoo, InfoSeek,…) phân loại

- Không giới hạn trong tiếng anh của nước Mỹ

Hình 1.b: GuTim BrayChính vì vậy phiên bản Specification nháp đầu tiên của XML được phát hành vào tháng 11 năm 1996 Tháng 7 năm 1997, Microsoft lần đầu tiên đưa ra một ápdụng thực sự của XML, Channel Definition Format (CDF), sử dụng để xuất bản các trang Web tới các vị khách đã đóng tiền đặt mua trước theo tháng Vào thời gian đó, CDF đã được tích hợp vào IE 4.0 Sau đó Microsoft và Inso

Corporation đã cùng hợp tác để xuất bản XSL (eXtensible Style Language) để làm Style Sheet diễn tả cách trình bày một trang XML

Tháng 1 năm 1998 Microsoft đã đưa ra một chương trình miễn phí tên

MSXSL để generate một trang HTML từ một cặp trang XML và XSL Sau này IE5.0 đã hỗ trợ việc hiển thị một trang XML đơn

Tháng 2 năm 1998, W3C đã phê chuẩn cho thi hành chính thức Version 1.0 của XML Specification

1.1.2 Giới thiệu về XML.

XML (viết tắt từ tiếng Anh eXtensible Markup Language:Ngôn ngữ đánh dấu

mở rộng) Là ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị,để tạo ra các ngôn ngữ đánh dấu khác Đây là một tập con đơn giản của SGML, có khả năng mô tả nhiều loại dữ liệu khác nhau Mục đích chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống được kết nối với Internet Các ngôn ngữ dựa trên XML(thí dụ RDF, RSS,

Trang 14

Phần mở đầu

MathML, XHTML, SVG, GML và Cxml) được định nghĩa theo cách thông thường, cho phép các chương trình sửa đổi và kiểm tra hợp lệ bằng các ngôn ngữ này mà không cần có hiểu biết trước về hình thức của chúng

1.1.3 Cấu trúc tài liệu XML

Tài liệu XML:

Một tài liệu HTML có thể tồn tại một số thẻ không đúng quy định (trình biên dịch sẽ bỏ qua những thẻ này) Tuy nhiên với một tài liệu XML thì điều này không thể xảy ra Khi xây dựng một tài liệu XML, nó phải tuân thủ theo một số quy luật nào đó Những tài liệu XML tuân thủ đúng những quy luật này được gọi

là well-formed (tạm dịch là định dạng đúng) Với một tài liệu không phải là well–formed, Internet Explorer sẽ thông báo lỗi khi nạp tài liệu này Một tài liệu XML well–formed chưa chắc là một tài liệu hợp lệ Một tài liệu XML được xem

là hợp lệ nếu nó đảm bảo những quy tắc đặc tả trong tài liệu Document Type Definition (DTD) hay giản đồ (schema) Một DTD hay schema sẽ định nghĩa mọithứ từ cấu trúc dữ liệu tới kiểu dữ liệu, những thuộc tính được yêu cầu, và những ràng buộc về thành phần và thuộc tính được kết hợp trong tài liệu Phương thức kiểm tra tài liệu này thường được sử dụng trong giao tiếp giữa ứng dụng – ứng dụng, đảm bảo dữ liệu trao đổi hợp lệ tránh dẫn tới những ảnh hưởng của dữ liệu không hợp lệ trên toàn hệ thống

Tài liệu XML có thể viết bằng trình soạn thảo thông thường (Notepad), hay các trình soạn thảo chuyên dụng của XML: XML Notepad, XMLWriter, XML Spy,

Cấu trúc của tài liệu XML:

Tài liệu XML chỉ chứa đựng dữ liệu và cách lưu trữ dữ liệu mà không hề đề cập tới cách thức trình bày dữ liệu Một tài liệu XML sẽ chứa những đặc tả về cấu trúc dữ liệu Mỗi cấu trúc gồm nhiều phần tử (element), mỗi phần tử được bắt đầu với một thẻ bắt đầu (Start–tag) và kết thúc với một thẻ kết thúc (End–tag) Giữa Start–tag và End–tag là nội dung của phần tử này Nội dung có thể baogồm dữ liệu văn bản hay có thể là một phần tử khác

Trang 15

Phần mở đầu

Phần nội dung

Mổ tả cấu trúc tài liệu

Hình 1.c: Cấu trúc tài liệu XMLMột tài liệu XML có thể được chia thành 2 thành phần chính, mỗi thành phần

có thể có các thành phần theo quy định khác nhau

Phần mở đầu (PROLOG) chứa các khai báo trong tài liệu XML như: khai báophiên bản sử dụng của XML, cách thức mã hóa dữ liệu, chỉ thị xử lý, định nghĩa kiểu tài liệu cho tài liệu DTD, các chú thích, các khoảng trắng

Chuẩn XML không bắt buộc phải khai báo phần mở đầu của XML Tuy nhiênW3C khuyến khích chúng ta nên sử dụng phần khai báo này, ít nhất cũng là phầnkhai báo phiên bản sử dụng của XML

Phần thân (BODY) của tài liệu chứa nội dung của dữ liệu bao gồm một hay nhiều thành phần (bắt buộc phải có ít nhất một thành phần), những thành phần này bao gồm các phần tử (element) Mỗi phần tử bao gồm một cặp thẻ (thẻ bắt đầu và thẻ kết thúc) Phần tử đầu tiên của tài liệu được coi là phần tử gốc (root element) Tất cả các tài liệu XML được gọi là hợp khuôn dạng nếu chứa đựng duy nhất một phần tử gốc Phần tử gốc chứa đựng tất cả các thành phần và các cặp thẻ khác trong tài liệu

1.1.4 Các thành phần cơ bản của tài liệu XML

Định dạng và dữ liệu kí tự:

Tài liệu XML được tạo thành từ thành phần định dạng và thành phần dữ liệu

kí tự Trong tài liệu XML, định dạng giúp phân biệt các thành phần khác nhau

Trang 16

thẻ bắt đầu, thẻ kết thúc, các phần tử thẻ rỗng, các tham chiếu thực thể, tham chiếu kí tự,lời chú thích, phân đoạn CDATA, khai báo kiểu tài liệu và chỉ thị xử

lý Tất cả các tài liệu còn lại trong tài liệu XML không phải định dạng đều được xem là dữ liệu kí tự

- Các khai báo XML:

Một tài liệu XML có thể bắt đầu khai báo cho biết tài liệu được viết theo định

dạng và đặc tả XML Nếu sử dụng khai báo XML, khai báo này phải được đặt ở dòng đầu tiên của tài liệu Không được khai báo XMl sau bất kỳ dòng nào khác Khai báo XML trong tài liệu được viết theo cấu trúc:

<?xml [các kiểu khai báo]?>

- Các khai báo trong XML gồm

Khai báo phiên bản (verion): Khai báo này cho biết phiên bản đặc tả XML

mà tài liệu sử dụng (khai báo này là tùy chọn nhưng W3C khuyến cáo nên sử dụng khai báo này)

Khai báo mã hóa (encoding): Bộ mã được sử dụng trong tài liệu trong tài

liệu XML mặc định là UTF-8 Ngoài ra có thể sử dụng các bộ mã khác như Unicode, UCS-2, USC-4, (khai báo này là tùy chọn)

Khai báo thực thể độc lập (standalone): Được đặt thuộc tính là “yes” nếu tài

liệu không tham chiếu đến các thực thể khác bên ngoài, ngược lại được đặt là

“no” (khai báo này là tùy chọn)

- Phần chú thích:

Chú thích trong XML tương tự với chú thích trong HTML Khi diễn dịch nội

dung tài liệu, các bộ phân tích thường bỏ qua những dòng chú thích

Chú thích trong XML được đặt trong cặp kí tự <! Nội dung chú thích !

>

Cần tuân theo một số quy tắc khi thêm dòng chú thích vào tài liệu XML : + chú thích không được đặt trước các khai báo

+ Không được đặt trước chú thích vào bên trong phần định dạng

+ Không dùng chuỗi bên trong chú thích

- Chỉ thị xử lý

Trang 17

Các chỉ thị xử lý được dùng để chỉ dẫn cho bộ phân tích cách xử lý tài liệu

XML trong quá trình phân tích Những chỉ thị này thường bắt đầu bằng dâu <? Kết thúc cũng bằng dấu ?> tương tự như phần khai báo

Ví dụ: Chỉ thị yêu cầu bộ phân tích kết hợp dữ liệu của XML với bảng định kiểu CSS:

<?xml-stylesheet?>

- Thẻ và các phần tử (element)

Cấu trúc tài liệu XML dựa trên các thành phần định dạng (markup) Những

thành phần này bao gồm các phần tử (element) Ngoại trừ các phần tử rỗng sẽ được định nghĩa bằng một thẻ Thẻ bắt đầu (còn gọi là thẻ mở) và bắt đầu bằng kí

tự < và kết thúc bằng kí tự > Thẻ kết thúc (còn gọi là thẻ đóng) bắt đầu bằng kí

tự </ và kết thúc bằng kí tự >

Tên thẻ có thể bắt đầu bằng kí tự, gạch chân “_” hoặc dấu hai chấm “:” Các

kí tự kế tiếp có thể là kí tự, kí số, gạch chân, gạch nối, dấu chấm,dấu hai chấm nhưng không được là khoẳng trắng

Mỗi phần tử trong cùng một tài liệu XML là duy nhất Bộ phân tích tài liệu XML phân biệt chữ hoa và chữ thường nên khi đặt tên cho các thẻ và thuộc tính cần phân biệt chữ hoa và chữ thường

Phần tử rỗng: Là phần tử chỉ có một thẻ duy nhất được đặt trong cặp dấu < /> Phần tử gốc (root element): Là phần tử chứa đựng tất cả các phần tử và các cặp thẻ khác trong tài liệu Phần tử gốc được xem là phần rất quan trọng trong cấu trúc XML

- Thuộc tính (attribute)

Thuộc tính của các thẻ trong tài liệu XML tương tự thuộc tính của các thẻ

HTML Thuộc tính được kết hợp theo cặp name – value Thuộc tính cho phép xác định thêm thông tin và thuộc tính của thẻ Thuộc tính được đặt trong thẻ mở

và thẻ rỗng Để gán giá trị cho thuộc tính thường dùng dấu “ =”

Thuộc tính luôn được gán giá trị kiểu text (do phần định dạng luôn là văn bản text) Trong XML, giá trị của thuộc tính phải đặt trong cặp dấu nháy kép “”

Trang 18

Tuy nhiên, nếu giá trị chuỗi truyền cho thuộc tính bao gồm luôn cả dấu nháy kép

ta có thể sử dụng dấu nháy đơn thay thế

- Phân đoạn CDATA

Phân đoạn CDATA cũng là một phần tử trong tài liệu XML nhưng chỉ gồm

một thẻ Thẻ này bắt đầu bằng <![CDATA và kết thúc bằng ]> Toàn bộ nội dungđược đặt trong phân đoạn CDATA sẽ không được trình phân tích coi như cấu trúc XML mà chúng chỉ được xem như là dữ liệu thuần túy

- Không gian tên (namespace)

XML cho phép tự định nghĩa và đặt tên cho các thẻ Nếu tài liệu XML chỉ

sử dụng cho mục đích nào đó và không cần phải kết hợp với các tài liệu XML khác thì điều này không thành vấn đề Nhưng một khi các ứng dụng phát triển, tập định nghĩa các thẻ XML cần sống chung và kết hợp với nhau thì đó là vấn đề

Để định nghĩa không gian tên cho các thẻ , ta đưa vào thuộc tính xmls:prefix vào gốc phần tử Trong đó prefix là tên miền hay không gian tên mà ta muốn chỉ

định, mỗi không gian tên có một định danh duy nhất (có thể là định danh URL hoặc URI) Sau đó áp dụng không gian tên này cho tất cả các thẻ trong tài liệu XML mà ta muốn chúng thuộc không gian tên đã định nghĩa theo cú pháp:

<prefix:TagName> đối với thẻ mở,

</prefix:TagName> đối với thẻ đóng.

Ví dụ 1.1: Cho một tài liệu XML chưa định nghĩa không gian tên như sau:

Trang 20

Hoang Van Thanh

- Đóng phần tử rỗng với chuỗi đóng /> Phần tử rỗng là phần tử chỉ có một thẻ Dấu kết của phần tử rỗng phải là /> nếu không tài liệu sẽ được coi là không hợp khuôn dạng

Trang 21

- Mọi phần tử trong tài liệu XML khác phần tử gốc (root) đều nằm giữa cặp thẻ gốc.

Bảng 1:Bảng tham chiếu thực thể trong XML

- Chỉ nên sử dụng 5 tham chiếu thực thể được định nghĩa trước trong XML Trong ngôn ngữ định dạng XML, một số kí tự nhận dạng đặc biệt như <,>, ’ , ” ,

và & không thể sử dụng trong tài liệu theo cách thể hiện dữ liệu thông thường Muốn sử dụng những kí hiệu này phải dùng tham chiếu thực thể được định nghĩa trước như bảng trên

- Bao giá trị thuộc tính bằng cặp dấu nháy Tất cả các thuộc tính được thể hiện

ở dạng chuỗi và phải bao giá trị gán cho thuộc tính bằng cặp nháy kép (“”) hoặc nháy đơn (‘’)

- Chỉ nên sử dụng kí tự < và & đối với thẻ mở và các thẻ thực thể

1.1.6 Định nghĩa kiểu tài liệu DTD (Document Type Definition)

Khi định nghĩa thẻ XML, ta tùy ý quyết định cách sử dụng chúng Ta có thể quyết định thẻ chỉ chứa nội dung là dữ liệu text thuần túy hoặc có thể chứa các phần tử con khác Tuy nhiên, để tài liệu rõ ràng chúng ta nên định nghĩa kiểu tài liệu mà mỗi phần tử sẽ biểu diễn

Một tài liệu XML được coi là hợp lệ và có giá trị khi toàn bộ các phần tử tringtài liệu được định nghĩa kiểu (type definition) mà nó sẽ chứa Việc định nghĩa

Trang 22

kiểu tài liệu (DTD – Document Type Definition) cần theo cú pháp quy định của

tổ chức XML W3C

Định nghĩa kiểu tài liệu DTD:

Sử dụng thẻ khai báo <!DOCTYPE> để bắt đầu định nghĩa cho các phần tử XML Mẫu khai báo như sau:<!DOCTYPE rootname [DTD]>

Trong đó : DTD là định nghĩa cho các phần tử trong tài liệu

Mỗi phần tử được định nghĩa theo cú pháp:

<!ELEMENT NAME CONTEN_MODEL>

NAME là tên của phần tử muốn định nghĩa;

CONTEN_MODEL có thể được đặt là EMTY hay ANY hoặc trộn lẫn cả hai nội dung (bao gồm dữ liệu có thể dùng phân tích hoặc các phần tử con khác)

Ví dụ 1.2: Khai báo và định nghĩa DTD trong tài liệu XML:

<?xml version=”1.0” standalone=”yes” encoding=”utf-8”?>

Trang 23

1.1.7 Mô hình DOM (Document Object Model)

Để xử lý tài liệu XML, W3C định nghĩa tài liệu theo mô hình hướng đối tượng DOM (Document Object Model Theo mô hình này tài liệu XML được tổ chức theo cấu trúc hình cây bao gồm các nút đối tượng, nội dung của mỗi nút (node), trên cây có thể chứa phần tử (element), dữ liệu (text), thuộc tính

(attribute),… và các nút con khác Cụ thể, trong mô hình XML có các loại nút sau đây:

Bảng 2 Các nút trong mô hình DOM.

Trang 24

Level 1: Tập trung vào kết hợp giữa tài liệu HTML và XML

Level 2: Hỗ trợ không gian tên XML, khung nhìn có lọc (filtered views) và các sự kiện DOM

Level 3: Nâng cao các khả năng của DOM với việc cho phép nạp, xử lý, lưu lại mô hình cho nội dung tài liệu

Ví dụ 1.4 : Cho một tài liệu XML sau:

Trang 25

- Nếu bạn cần hiển thị thông tin trong tài liệu HTML của bạn, nó sẽ mất rất

nhiều công việc để chỉnh sửa HTML mỗi khi thay đổi dữ liệu

- Với XML, dữ liệu có thể được lưu trữ trong các file XML riêng biệt Bằng cách này bạn có thể tập trung vào việc sử dụng HTML để bố trí và hiển thị, và chắc chắn rằng những thay đổi trong dữ liệu cở bản trong XML sẽ không có yêu cầu bất kỳ thay đổi nào với HTML

- Với một dòng mã Javascript, bạn có thể đọc được một file XML bên ngoài

và cập nhật nội dung dữ liệu vào trang web của bạn

1.2.2 XML đơn giản hóa việc chia sẻ dữ liệu:

Trong thế giới thực, các hệ thống máy tính và các cơ sở dữ liệu chứa dữ

liệu định dạng không tương thích Dữ liệu XML được lưu trữ ở dạng văn bản thuần Điều này cung cấp một phần mềm và phần cứng một cách độc lập với dữ liệu lưu trữ Điều này làm cho nó dễ dàng hơn trong việc tạo ra dữ liệu có thể chia sẻ bởi các ứng dụng khác nhau

1.2.3 XML đơn giản hóa việc vận chuyển dữ liệu:

Trang 26

Một trong những thách thức tốn thời gian cho các nhà phát triển là việc trao đổi các dữ liệu giữa các hệ thống không tương thích trên internet Trao đổi dữ liệu bằng XML làm giảm đáng kể độ phức tạp này, kể từ khi các dữ lieeujj có thểđược đọc bởi các ứng dụng không tương thích khác nhau.

1.2.4 XML làm cho dữ liệu của bạn khả dụng hơn:

Các ứng dụng khác nhau có thể truy cập dữ liệu của bạn, không chỉ trong các trang HTML mà còn từ các nguồn dữ liệu XML

Dữ liệu XML được lưu trữ trong định dạng văn bản Chính điều này làm cho

nó dễ dàng hơn khi mở rộng hoặc nâng cấp lên hệ điều hành mới, ứng dụng mới, hoặc các trình duyệt mới mà không làm mất dữ liệu

1.2.5 XML đơn giản hóa việc thay đổi nền tảng:

Khi nâng cấp lên hệ thống mới (phần cứng hay nền tảng phần mềm) một phầnlớn dữ liệu phải được thay đổi, và phần dữ liệu không tương thích thường bị mất

Dữ liệu XML được lưu trữ trong định dạng văn bản Chính điều này làm cho

nó dễ dàng hơn khi mở rộng hoặc nâng cấp lên hệ điều hành mới, ứng dụng mới, hoặc các trình duyệt mới mà không làm mất dữ liệu

1.2.6 XML dùng để tạo ngôn ngữ internet mới.

WAP (Wireless Application Protocol) và WML (Wireless Markup Language)

là ngôn ngữ đánh dấu cho thiết bị cầm tay

RSS (Really Simple Syndication Frameword) và OWL (The Web Ontology Language) để mô tả tài nguyên và ontology

SMIL (Synchronized Multimedia Integration Language) để mô tả đa phương tiện cho web

Trang 27

Tương lai chúng ta có thể đọc,, ghi cơ sở dữ liệu trong XML (giống như một trình xử lý văn bản) mà không cần bất kỳ tiện ích chuyển đổi trung gian như hiệnnay.

1.2.7 Ứng dụng truy vấn dữ liệu từ file XML: Sử dụng LinQ

LinQ to XML là gì ?

LINQ to XML cung cấp một giao diện lập trình XML.

LINQ to XML sử dụng những ngôn ngữ mới nhất của Net Language

Framework và được nâng cấp, thiết kế lại với giao diện lập trình XML DOM.XML đã được sử dụng rộng rãi để định dạng dữ liệu trong một loạt các ngữ cảnh ( các trang web, trong các tập tin cấu hình, trong các tập tin Word, và trong

cơ sở dữ liệu )

LINQ to XML có cấu trúc truy vấn tương tự SQL Nhà phát triển trung bình

có thể viết các truy vấn ngắn gọn, mạnh mẽ, viết mã ít hơn nhưng có ý nghĩa nhiều hơn Họ có thể sử dụng các biểu thức tuy vấn dữ liệu các lĩnh vực tại một thời điểm

LINQ to XML giống như DOM ở chỗ nó chuyển các tài liệu XML vào bộ nhớ Bạn có thể truy vấn và sửa đổi các tài liệu, và sau khi bạn chỉnh sửa nó, bạn

có thể lưu nó bào một tập tin hoặc xuất nó ra Tuy nhiên, LINQ to XML khác DOM: Nó cung cấp mô hình đối tượng mới đơn giản hơn và để thao tác hơn để làm việc, và đó là tận dụng các cải tiến ngôn ngữ trong Visual C# 2008

Khả năng sử dụng kết quả truy vấn là tham số cho đối tượng Xelement và Xattribute cho phép một phương pháp mạnh mẽ để tạo ra cây XML Phương pháp này, được gọi là functional construction, cho phép các nhà phát triển để dễ dàng chuyển đổi cây XML từ một hình dạng này sang hình dạng khác

Sử dụng LINQ to XML có thể:

- Load XML từ nhiều file hoặc luồng

- Xuất XML ra file hoặc luồng

- Truy vấn cấy XML bằng những truy vấn LINQ

- Thao tác cây XML trong bộ nhớ

- Biến đổi cây XML từ dạng này sang dạng khác

Trang 28

Chương trình Demo Nhập Liệu thông tin sinh viên:

Hình 1.2.1 Giao diện chính của chương trình nhập liệu thông tin sinh viên

Hình 1.2.2.Kết quả của chương trình nhập liệu thông tin sinh viên

Trang 29

CHƯƠNG 2.XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ

2.1 Cơ sở dữ liệu quan hệ

2.1.1 Sơ lược về cơ sở dữ liệu

Khái niệm dữ liệu thường hẹp hơn khái niệm thông tin Thông tin luôn mang

ý nghĩa và gồm nhiều giá trị dữ liệu

Vậy, một cơ sở dữ liệu (Database _ viết tắt là CSDL) là một tập hợp các thông tin có quan hệ với nhau về các hoạt động (mua bán, tuyển sinh, khám chữa bệnh, …) của một tổ chức cụ thể được lưu trữ trên các thiết bị lưu trữ và được các chương trình ứng dụng khai thác cho việc xử lý, tìm kiếm, tra cứu, sửa đổi,

bổ xung hay loại bỏ dữ liệu

Ví dụ: Trong quản lý thư viện có các dữ liệu thông tin về sách, độc giả, mượntrả, … phục vụ cho chương trình ứng dụng quản lý thư viện Trường học có các

dữ liệu thông tin về sinh viên, giáo viên,… phục vụ cho các chương trình quản lýđào tạo

Một CSDL đơn giản:

Trang 30

Vì vậy, một CSDL là một tập dữ liệu được tổ chức sao cho dễ dàng truy cập, quản lý và cập nhật

Phân loại CSDL:

CSDL được phân thành nhiều loại khác nhau:

- CSDL dạng file: dữ liệu được lưu trữ dưới dạng các file có thể là text, ascii,

*.dbf Tiêu biểu cho CSDL dạng file là Foxpro

- CSDL quan hệ: dữ liệu được lưu trong các bảng dữ liệu gọi là các thực thể, giữa các thực thể này có mối quan hệ với nhau gọi là các quan hệ, mỗi quan hệ

có các thuộc tính, trong đó có một thuộc tính là khoá chính Các hệ quản trị hỗ trợ CSDL quan hệ như: SQL Server, Ocracle, MySQL,…Chúng ta sẽ tìm hiểu cơbản CSDL quan hệ trong những phần tiếp theo

- CSDL hướng đối tượng: dữ liệu cũng được lưu trữ trong các bảng dữ liệu nhưng các bảng có bổ sung thêm các tính năng hướng đối tượng như lưu trữ thêmcác hành vi, nhằm thể hiện hành vi của đối tượng Mỗi bảng xem như một lớp dữliệu, một dòng dữ liệu trong bảng là một đối tượng Các hệ quản trị có hỗ trợ cơ

sở dữ liệu quan hệ như: MS SQL server, Oracle, Postgres

- CSDL bán cấu trúc: dữ liệu được lưu dưới dạng XML, với định dạng này thông tin mô tả về đối tượng thể hiện trong các tag Đây là CSDL có nhiều ưu điểm do lưu trữ được hầu hết các loại dữ liệu khác nhau nên cơ sở dữ liệu bán cấu trúc là hướng mới trong nghiên cứu và ứng dụng

Các đặc trưng của các hệ thống file

- Mỗi chương trình ứng dụng có một file lưu trữ dữ liệu riêng biệt Ví dụ: Phòng quản lý sinh viên, sử dụng hệ thống quản lý danh sách sinh viên, lưu trữ

Trang 31

thông tin cá nhân của sinh viên Phòng đào tạo dùng hệ thống quản lý điểm theo dõi thông tin về học tập của sinh viên Hai chương trình có các file dữ liệu riêng

- Trong hệ thống này, một nhóm các file được lưu trữ trên một máy tính và cóthể được truy cập bởi một điều hành viên

- Nhược điểm của các hệ thống file:

+ Dư thừa và không nhất quán dữ liệu

- Các ưu điểm của các hệ thống CSDL:

+ Giảm bớt sự dư thừa dữ liệu

+ Nhất quán dữ liệu

+ Dữ liệu lưu trữ có thể được chia sẻ

+ Có thể thiết lập các luật lên dữ liệu

+ Toàn vẹn dữ liệu

+ Bảo mật dữ liệu

Mô hình cơ sở dữ liệu (Database Model)

Một mô hình cơ sở dữ liệu là hệ hình thức toán học gồm có 2 phần:

- Một hệ thống ký hiệu để mô tả dữ liệu

- Một tập hợp các phép toán thao tác trên dữ liệu đó

Trang 32

- Mô hình hướng đối tượng

Hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management

System_ Viết tắt là RDBMS):

Một hệ thống quản lý cơ sở dữ liệu (Database Management System_ viết tắt

là DBMS) là hệ thống phần mềm cho phép định nghĩa, xây dựng và bảo trì

CSDL Toàn bộ các thao tác truy cập, cập nhật CSDL của người dùng đều do DBMS điều khiển Một số DBMS hiện nay: Foxpro, Access, Ocracle,… với các phiên bản khác nhau Có hai đặc điểm phân biệt một DBMS với các hệ thống lập trình khác:

- Khả năng quản lý những dữ liệu cố định: Điều này khẳng định có một

CSDL tồn tại thường xuyên và nội dung của CSDL này là những dữ liệu được DBMS truy suất và quản lý

- Khả năng truy suất có hiệu quả một số lượng lớn dữ liệu: Điều này phân

biệt DBMS với các hệ thống quản lý tập tin cùng quản lý dữ liệu cố định nhưng nói chung không cho phép truy suất nhanh chóng những thành phần tùy ý của dữ liệu

DBMS hỗ trợ ít nhất một mô hình dữ liệu , nhờ đó người sử dụng có thể xem được dữ liệu

DBMS hỗ trợ một số ngôn ngữ bậc cao cho phép người sử dụng định nghĩa các cấu trúc dữ liệu, truy suất dữ liệu và thao tác dữ liệu

DBMS quản lý các giao dịch, nghĩa là cho phép nhiều người sử dụng truy suất đồng thời và chính xác đến một CSDL

DBMS điều khiển quá trình truy suất, là khả năng giới hạn các quá trình truy suất dữ liệu của những người không được phép và khả năng kiểm tra độ tin cậy của dữ liệu

DBMS có khả năng tự thích ứng là khả năng tự phục hồi lại dữ liệu do sự cố của hệ thống mà làm mất dữ liệu

Các lợi ích phổ biến của DBMS:

- Lưu trữ dữ liệu

- Định nghĩa dữ liệu

Trang 33

- Thao tác trên dữ liệu

- Bảo mật và toàn vẹn dữ liệu

- Khôi phục dữ liệu

Truy cập đồng thời và điều khiển đa truy cập

Các ngôn ngữ truy xuất CSDL và các giao diện lập trình ứng dụng

Hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System _ RDBMS) là một loại DBMS lưu trữ thông tin dưới dạng các bảng được tạo quan hệ RDBMS được dựa vào mô hình quan hệ

2.1.2 Thiết kế cơ sở dữ liệu quan hệ

Khi thiết kế một CSDL quan hệ thường đòi hỏi phải chọn một lược đồ quan

hệ Vì vậy cần thiết phải nghiên cứu các tính chất cơ bản cũng như các thuật toán

để có thể nhận được những tập lược đồ phù hợp Trọng tâm của việc thiết kế CSDL là các phụ thuộc dữ liệu, tức là các mối quan hệ ràng buộc có thể giữa các giá trị hiện hữu của các lược đồ Vậy làm thế nào để thiết kế một CSDL tốt ?Phụ thuộc hàm :

Phụ thuộc hàm ký hiệu là FD

Ví dụ: Xét lược đồ CSDL với 2 bảng

1) Emps (ENO, ENAME, SALARY)

2) Managers (ENO)

3) Depts (DNO, DNAME)

4) Oders (ONO, ODATE)

5) Suppliers (SNO, SNAME, SADDR)

Trang 34

6) Supplies (SNO, INO, PRICE)

7) Customers (CNO, CNAME, CADDR, BALANCE)

8) Items (INO, INAME)

9) Work-in (ENO, DNO)

10) Manages (ENO, DNO)

11) Carries (INO, DNO)

12) Includes (ONO, INO, QUANTITY)

13) Placed-by (ONO, CNO)

- Một số phụ thuộc hàm cơ bản, nhất là những phụ thuộc hàm khẳng định rằng một khoá xác định được tất cả các thuộc tính của lược đồ quan hệ:

Trong bảng Suppliers: SNO → SNAME, SNO → SADDR

Trong bảng Supplies: SNO INO → PRICE

Trong Customers: CNO → CNAME CADDR BALANCE

- Một số phụ thuộc hàm tầm thường:

SNAME →SNAME SADDR→SADDR SNAME SADDR → SADDR

- Một số phụ thuộc hàm khác:

SNO INO→SADDR SNAME INAME

Hệ tiên đề cho phụ thuộc hàm:

Gọi F là tất cả các phụ thuộc hàm đối với lược đồ quan hệ R và X→Y là một phụ thuộc hàm với X, Y ⊆U Ta nói rằng X→Y được suy diễn logic từ F

Ví dụ: F = {A→B, B→C} thì A→C được suy diễn từ F

Gọi F+ là bao đóng (Closure) của F, tức là tất cả các phụ thuộc hàm được suy diễn logic từ F Nếu F = F+ thì F là họ đầy đủ của các phụ thuộc hàm

Để xác định khoá của một lược đồ quan hệ và hiểu được các phép suy diễn logic cho các phụ thuộc hàm cần tính được F+ từ F, hoặc ít nhất phải khẳng định được X→Y có thuộc F+ hay không Do đó đòi hỏi phải có những quy tắc suy diễncho biết làm sao để có thể suy ra một hay nhiều phụ thuộc hàm từ các phụ thuộc hàm khác.Armstrong đã đưa ra những quy tắc này năm 1974 và được gọi là tiên

đề Armstrong

Hệ tiên đề Armstrong:

Trang 35

Cho R là lược đồ quan hệ với U ={ A1,A2,,…,An} là tập các thuộc tính của

nó và X, Y, Z, W ⊆ U Hệ tiên đề Armstrong bao gồm:

- A1 (Phản xạ): Nếu Y ⊆ X thì X→Y

Quy tắc này đưa ra những phụ thuộc tầm thường là những phụ thuộc hàm mà

vế trái chứa vế phải Sử dụng quy tắc này chỉ phụ thuộc vào U, không phải vào F

- A2 (tăng trưởng): Nếu Z ⊆ U, và X→Y thì XZ→YZ

Trong đó ký hiệu XZ thay cho X Z và X→Y có thể phụ thuộc F hoặc được suy diễn từ F

- A3 (bắc cầu): Nếu X→Y và Y→Z thì X→Z

Ví dụ: Cho lược đồ quan hệ ABCD với các phụ thuộc hàm A→C, B→D Chứng

minh AB→ABCD

Thật vậy, ta có:

A→C (Giả thiết)

AB→ABC (luật tăng trưởng)

Và B→D (giả thiết)

ABC→ABCD (luật tăng trưởng)

Vậy AB→ABCD (luật bắc cầu)

Tính đúng đắn của hệ tiên đề Armstrong :

Bổ đề 4.1:

Hệ tiên đề Armstrong là đúng Có nghĩa là F là tập phụ thuộc hàm đúng trên quan hệ R Nếu X→Y là một phụ thuộc hàm được suy diễn từ F nhờ hệ tiên đề Armstrong thì X→Y là đúng trên quan hệ R

Từ hệ tiên đề Armstrong suy ra một số luật sau:

Bổ đề 4.2 :

a) Nếu X→Y và X→Z thì X →YZ

b) Luật tựa bắc cầu: Nếu X→Y, WY→Z thì XW→Z

c) Luật tách: Nếu X→Y và Z ⊆ Y thì X→Z

Bao đóng của tập thuộc tính:

Gọi F là tập các phụ thuộc hàm trên tập thuộc tính U, X ⊆ U X+ là bao đóng

Trang 36

của X (đối với F) được định nghĩa như sau:

Thuật toán 4.1: Tính bao đóng của tập các thuộc tính đối với một tập các phụ

Xi+1 = Xi  A sao cho (Y→Z)  F, A  Z và Y ⊆ Xi

Bởi vì X = X0 ⊆ …⊆ U, U là hữu hạn nên sẽ tồn tại một chỉ số i mà Xi = Xi+1 Khi đó X+ = Xi

Ví dụ: Cho F là tập 8 phụ thuộc hàm sau:

AB→C D →EG ACD→B

C→A BE→C CE→AG

BC→D CG→BD

Và X = BD Tính X+

Giải:

Áp dụng thuật toán 4.1:

Trang 37

Đặt X0 = BD

Muốn tính X1, hãy chọn các phụ thuộc hàm có vế trái là con của BD (vế trái

B, D hoặc BD) và kết nạp các vế phải của chúng vào X0 Ở đây chỉ có

D→EG Khi đó có X1 = BDEG

Tương tự tìm các phụ thuộc hàm có vế trái là con X1 (Có D→EG, BE→C) Khi đó có:

X2 = BCDEG, tiếp tục ta sẽ có:

X3 = X4 = ABCDEG Và cuối cùng:

(X)+=(BD)+ =ABCDEG

Khoá của lược đồ quan hệ :

Các mối liên hệ được tượng trưng bằng dữ liệu trong các bảng Để thiết lập một mối liên hệ giữa hai bảng, bạn cần có dữ liệu trong một bảng cho phép bạn tìm các hàng được tạo trong một bảng khác Đó là nơi mà các khoá (key) được thực thi và các RDBMS chủ yếu làm việc với hai loại khoá: Khoá chính (Primarykey) và khoá ngoại (Foreign key)

Định nghĩa :

Khoá cho tập thực thể đó là tập các thuộc tính xác định duy nhất một thực thể.Cho lược đồ quan hệ R, với các thuộc tính U = { A1,A2,,…,An} và các phụ thuộc hàm F, X ⊆ U Ta nói X là một khoá của R nếu:

X→U  F+, nghĩa là X xác định hàm tất cả các thuộc tính (các phụ thuộc hàm này thuộc F hoặc được suy diễn logic từ F) Không có  ≠ Y ⊂ X mà Y→U  F+

Các thuộc tính thuộc một khoá nào đó gọi là thuộc tính khoá Còn các thuộc tính

không nằm trong một khoá nào cả gọi là thuộc tính không khoá (thuộc tính thứ cấp)

Thuật toán tìm khóa

Thuật toán 4.2 :

Vào: Lược đồ quan hệ R với tập thuộc tính U và tập phụ thuộc hàm F

Ngày đăng: 20/04/2017, 22:19

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1].Hồ Thuần, Hồ Cẩm Hà (2004), Các cơ sở lý thuyết và thực hành (tập 1), NXB Giáo Dục Sách, tạp chí
Tiêu đề: Các cơ sở lý thuyết và thực hành
Tác giả: Hồ Thuần, Hồ Cẩm Hà
Nhà XB: NXB Giáo Dục
Năm: 2004
[2].Lê Tiến Vương (2000), Nhập môn cơ sở dữ liệu quan hệ, NXB Thống Kê [3].Nguyễn Phương Lan (2001), XML nền tảng và ứng dụng, NXB Giáo Dục Sách, tạp chí
Tiêu đề: Nhập môn cơ sở dữ liệu quan hệ, "NXB Thống Kê[3].Nguyễn Phương Lan (2001), "XML nền tảng và ứng dụng
Tác giả: Lê Tiến Vương (2000), Nhập môn cơ sở dữ liệu quan hệ, NXB Thống Kê [3].Nguyễn Phương Lan
Nhà XB: NXB Thống Kê[3].Nguyễn Phương Lan (2001)
Năm: 2001
[4].Nguyễn tiến, Đặng Xuân Hường, Nguyễn Văn Hoài, Nguyễn Tuấn Ngọc (2001), Nhập môn XML thực hành và ứng dụng, NXB Thống Kê Sách, tạp chí
Tiêu đề: Nhập môn XML thực hành và ứng dụng
Tác giả: Nguyễn tiến, Đặng Xuân Hường, Nguyễn Văn Hoài, Nguyễn Tuấn Ngọc
Nhà XB: NXB Thống Kê
Năm: 2001
[5].Mustafa Atay, Yezhou Sun, Dapeng Liu, Shiyong Lu, Farshad Fotouhi, “Mapping XML Data to Relational Data: A DOM-BASED APPROACH”, Department of Computer Science Wayne State Unversity, Detroit, MI 48202 Sách, tạp chí
Tiêu đề: Mapping XML Data to Relational Data: A DOM-BASED APPROACH
[6].ShiYoung Lu, Yezhou Sun, Mustafa Atay, Farshad Fotouhi:”A New Inlining Algorithm for Mapping XML DTDs to Relational Schemas”. Department Of Computer Science Wayne State University, Detroit, MI 48202 Sách, tạp chí
Tiêu đề: A New "Inlining Algorithm for Mapping XML DTDs to Relational Schemas
[7].John Wiley &amp; Sons Ltd, Object-OrientedAnalysis and DesignUnderstanding System Developmentwith UML 2.0, The Atrium, Southern Gate, Chichester,West Sussex PO19 8SQ, England Khác
[8].PGS.TS.Đặng Văn Đức, Phân tích thiết kế hướng đối tượng, NXB Thống kê Khác
[9].Terr Quatrani, Visual Modeling with Rational Rose 2002 and UML, Publisher: Addison Wesley, pub date: October 09,2002 Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Một CSDL đơn giản - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 2.1. Một CSDL đơn giản (Trang 28)
Hình 2.4.3.Bảng univ - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 2.4.3. Bảng univ (Trang 50)
Hình 2.4.7. Bảng Edge - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 2.4.7. Bảng Edge (Trang 51)
Hình 2.4.9. File univ.xml - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 2.4.9. File univ.xml (Trang 52)
Hình 2.4.10. Bảng Univ - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 2.4.10. Bảng Univ (Trang 53)
Hình 2.4.14. Bảng Edge - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 2.4.14. Bảng Edge (Trang 54)
Hình 3.2. Biểu đồ trình tự của UC mở file - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 3.2. Biểu đồ trình tự của UC mở file (Trang 57)
Hình 3.3. Biểu đồ cộng tác của UC mở file - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 3.3. Biểu đồ cộng tác của UC mở file (Trang 57)
Hình 3.4.Biểu đồ trình tự của UC thao tác nhanh - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 3.4. Biểu đồ trình tự của UC thao tác nhanh (Trang 58)
Hình 3.5. Biểu đồ cộng tác của UC thao tác nhanh - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 3.5. Biểu đồ cộng tác của UC thao tác nhanh (Trang 59)
Hình 3.8.Biểu đồ trình tự của UC Inlining - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 3.8. Biểu đồ trình tự của UC Inlining (Trang 61)
Hình 3.9. Biểu đồ cộng tác của UC Inlining - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 3.9. Biểu đồ cộng tác của UC Inlining (Trang 62)
Hình 3.12. Biểu đồ trình tự của UC thêm dữ liệu - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 3.12. Biểu đồ trình tự của UC thêm dữ liệu (Trang 64)
Hình 3.19. Giao diện sau khi thực hiện thuật toán XInsert - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 3.19. Giao diện sau khi thực hiện thuật toán XInsert (Trang 68)
Hình 3.18. Giao diện khi thực hiện thuật toán NewIniling - Chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ
Hình 3.18. Giao diện khi thực hiện thuật toán NewIniling (Trang 68)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w