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

bài giảng về cơ sở dữ liệu nâng cao

45 691 1
Tài liệu đã được kiểm tra trùng lặp

Đ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 45
Dung lượng 550,88 KB

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

Nội dung

Nội dung chủ yếu: Giới thiệu về các hệ quản trị dữ liệu; Các mô hình mạng, mô hình phân cấp; Điều khiển tươngtranh trong hệ quản trị cơ sở dữ liệu; An toàn và xử lý sai sót; Mô hình cơ s

Trang 1

TRƯỜNG ĐẠI HỌC HÀNG HẢI

KHO A CÔNG NGH Ệ THÔNG TIN

BÀI GIẢNG

CƠ SỞ DỮ LIỆU NÂNG CAO

Biên soạn: Th.S Nguyễn Trung Đức

Hải Phòng – 2008

Trang 2

http://www.ebook.edu.vn 1

BỘ GIAO THÔNG VẬN TẢI

TRƯỜNG ĐẠI HỌC HÀNG HẢI

BỘ MÔN: HỆ THỐNG THÔNG TIN

KHOA: CÔNG NGHỆ THÔNG TIN

BÀI GIẢNG

CƠ SỞ DỮ LIỆU NÂNG CAO

TÊN HỌC PHẦN : CƠ SỞ DỮ LIỆU NÂNG CAO

MÃ HỌC PHẦN : 17406

TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY

DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN

HẢI PHÒNG - 2008

Trang 3

http://www.ebook.edu.vn 2

Tên học phần: Cơ sở dữ liệu nâng cao Loại học phần: 2

Bộ môn phụ trách giảng dạy: Hệ thống Thông tin Khoa phụ trách: CNTT.

TS tiết Lý thuyết Thực hành/Xemina Tự học Bài tập lớn Đồ án môn học

Điều kiện tiên quyết:

Sinh viên phải học và thi đạt các học phần sau mới được đăng ký học học phần này:

Cơ sở dữ liệu

Mục tiêu của học phần:

Cung cấp kiến thức nâng cao về mô hình cơ sở dữ liệu quan hệ, các phương pháp thiết kế cơ

sở dữ liệu khác nhau

Nội dung chủ yếu:

Giới thiệu về các hệ quản trị dữ liệu; Các mô hình mạng, mô hình phân cấp; Điều khiển tươngtranh trong hệ quản trị cơ sở dữ liệu; An toàn và xử lý sai sót; Mô hình cơ sở dữ liệu hướng đối

tượng; Mô hình cơ sở dữ liệu phân tán

Nội dung chi tiết:

PHÂN PHỐI SỐ TIẾT

1.3 Lịch sử của các hệ quản trị dữ liệu

Chương 2 Mô hình mạng, mô hình phân cấp 3 3

3.2 Trừu tượng hoá trong thiết kế CSDL

3.3 Các thuộc tính tương xứng giữa các lớp

5.2 Các điều khiển an toàn dữ liệu

5.2.1 Điều khiển luồng thông tin

Trang 4

http://www.ebook.edu.vn 3

PHÂN PHỐI SỐ TIẾT

TÊN CHƯƠNG MỤC TS LT TH BT KT

5.2.2 Điều khiển suy diễn

5.2.3 Điều khiển truy nhập

Chương 6 Đánh giá câu hỏi 3 2 1

6.1 Phân tích câu hỏi

6.1.1 Phân tích cú pháp

6.1.2 Phân tích ngữ nghĩa

6.2 Cấu trúc đại số câu hỏi

6.2.1 Cây đại số quan hệ

6.2.2 Các luật biến đổi cây đại số quan hệ

6.2.3 Các bước tối ưu cây đại số quan hệ

6.3 Phân rã câu hỏi

Chương 7 Cơ sở dữ liệu hướng đối tượng 12 5 6 1

7.1 Giới thiệu về hướng đối tượng

7.1.1 Các khái niệm hướng đối tượng

7.1.2 Mô hình hoá việc phân tích hướng đối tượng

7.1.3 Mô hình hóa dữ liệu

7.2 Nguyên tác của các mô hình hướng đối tượng

7.2.1 Mô hình hoá các đối tượng

7.4 Đại số với các đối tượng phức tạp

7.4.1 Mở rộng đại số quan hệ theo đường dẫn và các

8.6 Khôi phục sai sót trong CSDL phân tán

Nhiệm vụ của sinh viên:

Tham dự các buổi học lý thuyết và thực hành, làm các bài tập được giao, làm các bài kiểm tragiữa kỳ và bài thi kết thúc học phần theo đúng quy định

Trang 5

http://www.ebook.edu.vn 4

Tài liệu học tập:

1 Nguyễn Xuân Huy, Giáo trình về cơ sở dữ liệu, Đại học Quốc Gia Hà Nội, 2000.

2 Nguyễn Xuân Huy-Lê Hoài Bắc, Bài tập cơ sở dữ liệu, Nhà xuất bản Thống kê, 2003.

3 Phạm Hữu Khang, Đoàn Thiện Ngân, Quản trị SQL Server 2000, Nhà xuất bản Thống kê,

2004

Hình thức và tiêu chuẩn đánh giá sinh viên:

- Hình thức thi: thi viết

- Tiêu chuẩn đánh giá sinh viên: dựa trên thái độ tham dự các buổi học lý thuyết và thực hành,kết quả làm các bài tập được giao, các bài kiểm tra giữa kỳ và bài thi kết thúc học phần

Thang điểm: Thang điểm chữ A,B,C,D,F.

Điểm đánh giá học phần: Z=0,3X+0,7Y

Bài giảng này là tài liệu chính thức và thống nhất của Bộ môn Hệ thống Thông tin,

Khoa Công nghệ Thông tin và được dùng để giảng dạy cho sinh viên

Ngày phê duyệt: / /

Trưởng Bộ môn

Trang 6

http://www.ebook.edu.vn 5

MỤC LỤC

Chương 1 Hệ quản trị cơ sở dữ liệu 7

1.1 Quan niệm về CSDL 7

1.2 Các khả năng của một hệ quản trị cơ sở dữ liệu 7

Chương 2 Cơ sở dữ liệu hướng đối tượng 9

2.1 Nhu cầu về hệ thống cơ sở dữ liệu hướng đối tượng 9

2.1.1 Các đối tượng phức tạp 9

2.1.2 Quản lý các tri thức 9

2.1.3 Quản trị các dữ liệu phân tán 10

2.1.4 Nhu cầu về hệ thống cơ sở dữ liệu hướng đối tượng 10

2.2 Khái niệm về hướng đối tượng 11

2.2.1 Đối tượng 12

2.2.2 Lớp đối tượng 12

2.2.3 Cá thể 13

2.2.4 Kế thừa 13

2.3 Cơ sở dữ liệu hướng đối tượng 13

2.4 Thiết kế cơ sở dữ liệu hướng đối tượng 14

2.4.1 Phân lớp 14

2.4.2 Tổng quát hóa và đặc biệt hóa 14

2.4.3 Gộp 15

2.5 Xây dựng cơ sở dữ liệu hướng đối tượng 15

Chương 3 Cơ sở dữ liệu phân tán 17

3.1 Các phương pháp phân tán dữ liệu 17

3.1.1 Khái niệm về phân tán dữ liệu 17

3.1.1.1 Các lý do phân mảnh 17

3.1.1.2 Các kiểu phân mảnh 17

3.1.1.3 Mức độ phân mảnh 19

3.1.1.4 Quy tắc phân mảnh đúng đắn 19

3.1.1.5 Các kiểu cấp phát 19

3.1.1.6 Các yêu cầu thông tin 19

3.1.2 Phân mảnh ngang 20

3.1.2.1 Yêu cầu thông tin của phân mảnh ngang 20

3.1.2.2 Phân mảnh ngang nguyên thủy 21

3.1.2.3 Phân mảnh ngang dẫn xuất 23

3.1.3 Phân mảnh dọc 24

3.1.4 Cấp phát 24

3.2 Kiểm soát dữ liệu ngữ nghĩa 26

3.2.1 Quản lý khung nhìn 26

3.2.1.1 Khung nhìn trong quản lý tập trung 26

3.2.1.2 Cập nhật qua các khung nhìn 26

3.2.1.3 Khung nhìn trong cơ sở dữ liệu phân tán 27

3.2.2 An toàn dữ liệu 27

3.2.2.1 Kiểm soát cấp quyền tập trung 27

3.2.2.2 Kiểm soát cấp quyền phân tán 28

3.3 Quản lý giao dịch và điểu khiền đồng thời phân tán 28

3.3.1 Các khái niệm cơ bản về giao dịch 28

3.3.1.1 Tính nguyên tử 29

3.3.1.2 Mục dữ liệu 29

Trang 7

http://www.ebook.edu.vn 6

3.3.1.3 Khóa 30

3.3.1.4 Kiểm soát hoạt động đồng thời bằng khóa 30

3.3.1.5 Khóa sống (livelock) 31

3.3.1.6 Khóa “cứng” (deadlock) 31

3.3.1.7 Tính khả tuần tự của lịch biểu 32

3.3.1.8 Bộ xếp lịch 33

3.3.1.9 Nghi thức 33

3.3.2 Mô hình giao dịch đơn giản 33

3.3.2.1 Ý nghĩa của giao dịch – hàm đặc trưng 33

3.3.2.2 Kiểm tra tính khả tuần tự bằng đồ thị có hướng 35

3.3.3 Nghi thức khóa 2 pha 35

3.3.4 Mô hình khóa đọc và khóa ghi 36

3.3.4.1 Ý nghĩa của giao dịch với khóa đọc và khóa ghi 36

3.3.4.2 Đồ thị tuần tự hóa trong các giao dịch Rlock và Wlock 36

Chương 4 Hệ trợ giúp ra quyết định 38

4.1 Giới thiệu về hệ trợ giúp ra quyết định 38

4.2 Thiết kế cơ sở dữ liệu cho hệ trợ giúp ra quyết định 39

4.2.1 Thiết kế logic 39

4.2.2 Thiết kế vật lý 40

4.3 Kho dữ liệu và kho dữ liệu chuyên đề 40

4.3.1 Kho dữ liệu 41

4.3.2 Kho dữ liệu chuyên đề 41

4.3.3 Các lược đồ về chiều 42

4.4 Xử lý phân tích trực tuyến 43

4.4.1 Giới thiệu 43

4.4.2 Bảng chéo 43

4.4.3 Cơ sở dữ liệu nhiều chiều 44

4.5 Khai phá dữ liệu 44

Trang 8

http://www.ebook.edu.vn 7

Chương 1 Hệ quản trị cơ sở dữ liệu

1.1 Quan niệm về Cơ sở dữ liệu

- Quản lý nguồn nhân lực…

Hệ quản trị cơ sở dữ liệu là gì?

Định nghĩa: Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS) là một hệ thống

phần mềm cho phép tạo lập CSDL và điều khiển mọi truy nhập đối với CSDL đó

Hệ cơ sở dữ liệu là gì?

Hệ CSDL là một hệ thống bao gồm 4 thành phần:

- CSDL hợp nhất: CSDL của hệ có hai tính chất tối thiểu hóa dư thừa và được chia sẻ

- Những người sử dụng: Người sử dụng của hệ là bất kỳ một người nào có nhu cầu truy nhậpvào CSDL, bao gồm tất cả những người sử dụng cuối, những người viết chương trình ứng dụng vànhững người điều khiển toàn bộ hệ thống hay còn gọi là người quản trị CSDL

- Phần mềm quản trị CSDL

- Phần cứng của hệ bao gồm các thiết bị nhớ thứ cấp được sử dụng để lưu trữ CSDL

1.2 Các khả năng của một hệ quản trị CSDL.

Có hai khả năng cho phép phân biệt các hệ quản trị CSDL với các kiểu hệ thống lập trình khác:

- Khả năng quản lý dữ liệu tồn tại lâu dài;

- Khả năng truy nhập các khối lượng dữ liệu lớn một cách hiệu quả

Đặc điểm thứ nhất chỉ ra rằng có một CSDL tồn tại trong một thời gian d ài, nội dung của CSDL

này là các dữ liệu mà một hệ quản trị CSDL truy nhập và quản lý Đặc điểm thứ hai phân biệt một

hệ quản trị với một hệ thống xử lý tệp cũng quản lý dữ liệu tồn tại lâu dài nhưng nói chung khôngcung cấp các truy nhập nhanh chóng đến các bộ phận dữ liệu tùy ý

Các khả năng của một hệ quản trị CSDL hầu hết là cần thiết khi khối lượng dữ liệu cần lưu trữ

là rất lớn, bởi vì các khối lượng dữ liệu nhỏ thì các kỹ thuật truy nhập đơn giản, chẳng hạn quét tuần

tự các dữ liệu là thích hợp

Khi xem xét hai đặc điểm trên của một hệ quản trị CSDL là cơ bản, còn một số các khả năng

khác mà có thể thấy trong hầu hết các hệ quản trị CSDL thương mại, đó là:

- Hỗ trợ ít nhất một mô hình dữ liệu hay một sự trừu tượng toán học mà qua đó người sử dụng

có thể quan sát dữ liệu

Trang 9

http://www.ebook.edu.vn 8

- Đảm bảo tính độc lập dữ liệu hay sự bất biến của các chương trình ứng dụng đối với các thay

đổi về cấu trúc trong mô hình dữ liệu

- Hỗ trợ các ngôn ngữ cấp cao nhất định cho phép người sử dụng định nghĩa cấu trúc của dữliệu, truy nhập dữ liệu và thao tác dữ liệu

- Quản trị giao dịch, có nghĩa là khả năng cung cấp các truy cập đồng thời, đúng đắn đối vớiCSDL từ nhiều người sử dụng tại cùng một thời điểm

- Điều khiển truy cập, có nghĩa là khả năng hạn chế truy nhập đến dữ liệu bởi những người sửdụng không được cấp phép và khả năng kiểm tra tính đúng đắn của dữ liệu

- Phục hồi dữ liệu, có nghĩa là khả năng phụ hồi, không làm mất mát dữ liệu đối với các lỗi của

hệ thống

Trang 10

http://www.ebook.edu.vn 9

Chương 2 Cơ sở dữ liệu hướng đối tượng

2.1 Nhu cầu về hệ thống CSDL hướng đối tượng

Nhìn chung hệ quản trị CSDL quan hệ được sử dụng nhiều nhưng chưa đáp ứng được hết cácyêu cầu của thực thế Bên cạnh mô hình quan hệ, mô hình mạng và phân cấp vẫn tồn tại Một sốhạn chế của hệ quản trị CSDL quan hệ

2.1.1 Các đối tượng phức tạp

Một cách hình thức, một đối tượng nhằm xác định một cấu trúc phức tạp Ví dụ: Các đối tượng

có cấu trúc phức tạp thường thấy là một siêu văn bản, một lược đồ, bức ảnh hay chương trình Sựphức tạp của các đối tượng này thể hiện qua: - Cấu trúc của đối tượng; - Mô hình hóa các đối tượng;

- Ngôn ngữ hỏi trên các đối tượng

Bình thường, CSDL quan hệ xử lý các loại dữ liệu quen thuộc như số, chữ, ngày tháng, logic.Với các loại dữ liệu này, chưa thể thể hiện các loại dữ liệu định tính hay một danh sách

Chính vì vậy người ta đòi hỏi mô hình hóa các đối tượng phức tạp và xử lý chúng trong hệ quảntrị nhờ ngôn ngữ chương trình Các đối tượng phức tạp được coi như các kí tự, các dữ liệu phức

Trong chương trình, chúng được mô tả theo các kiểu đặc biệt Giải pháp này đụng chạm đến các

khái niệm cũng quan trọng khác là hiện tượng dư thừa mã khi mô tả các đối tượng phức tạp trong

chương trình ứng dụng, đụng chạm đến sự phụ thuộc chương trình/dữ liệu Như vậy việc xử lý các

dữ liệu phức, có kích thước lớn theo giải pháp đó là không hiệu quả

Hơn nữa, do cấu trúc dữ liệu hiện tại là quá đơn giản, không thể dùng cho mô hình hóa các đốitượng phức tạp, thí dụ đối tượng trong hệ thống phân cấp hay đồ thị

Ví dụ 2.1 Một đối tượng phức tạp, chẳng hạn trong CAD, thường được phân rã và đặt trong cácquan hệ nhỏ; chính vì vậy mà thông tin ngữ nghĩa sẵn có trong một vấn đề bị chia nhỏ ra, phân tán

dưới dạng các giá trị trong các quan hệ Điều này khiến người sử dụng phải nhìn thế giới của bài

toán theo cách nhìn của CSDL quan hệ Để có thể khôi phục các ngữ nghĩa ban đầu, không tránh

được việc yêu cầu các phép kết nối quan hệ, là phép toán tốn kém tài nguyên để thực hiện

Ngoài việc mô hình hóa, việc truy vấn CSDL thông qua ngôn ngữ cũng cần phải xem xét Khó

có thể có ngôn ngữ lý tưởng trên các đối tượng phức tạp Cũng có thể sử dụng các ngôn ngữ lậptrình để giải quyết nhưng sẽ gặp khó khăn về sự khác biệt giữa kiểu dữ liệu và cách khai thác dữliệu của ngôn ngữ lập trình và ngôn ngữ CSDL Ngôn ngữ truy vấn CSDL thì dựa trên cơ sở tậphợp, trong khi ngôn ngữ lập trình dựa trên các thủ tục

Các ứng dụng về CSDL được nhìn nhận theo hai khía cạnh:

- Khía cạnh tĩnh: thể hiện qua các dữ liệu

- Khía cạnh động: thể hiện qua các phép xử lý tác động lên dữ liệu

Người ta thấy những đối tượng được hệ quản trị CSDL quan hệ xử lý đặc biệt là dữ liệu tĩnh

Phần tác động của chúng, tức các hoạt động, được mô tả riêng biệt thông qua các chương trình ứngdụng tác động lên các dữ liệu Người lập trình phải biết cấu trúc quan hệ của các đối tượng, bởi lẽ

hệ quản trị CSDL quan hệ không đáp ứng những nhu cầu về các đối tượng động

2.1.2 Quản lý các tri thức

Trang 11

http://www.ebook.edu.vn 10

Một quan hệ được tổ chức như một tập các n-bộ, thể hiện những sự kiện Một hệ quản trịCSDL quan hệ cho phép xử lý các sự kiện, các tri thức dưới dạng tổng quát và trừu tượng

Người ta sử dụng tri thức này theo hai khía cạnh, ứng với hai cách suy luận:

- Đưa ra sự kiện mới, dựa trên các sự kiện và các tri thức đã biết

- Sử dụng để trả lời các câu hỏi cần đến suy luận

Do vậy việc quản lý các tri thức trong CSDL là nhu cầu thực tế, nhất là đối với các ứng dụngcần đến các kiến thức chuyên gia

Hệ quản trị CSDL sử dụng các điều kiện toàn vẹn Điều kiện ràng buộc dưới dạng các tri thứccần giới thiệu loại dữ liệu đặc biệt là tri thức trong cả các chức năng quản trị và ngôn ngữ người sửdụng Khi đưa tri thức vào ngôn ngữ hỏi dữ liệu hay ngôn ngữ chương trình người ta cần giải quyết:

- Tri thức được mã hóa trong chương trình ứng dụng thường hay mắc nhược điểm là mô tả dữliệu trùng lặp

- Việc quản lý mối liên hệ giữa những người sử dụng có dùng tri thức khó có thể tốt như việcquản lý trong trường hợp chỉ sử dụng các dữ liệu định lượng

- Việc suy luận với khối lượng lớn các thông tin như các sự kiện và tri thức trong hệ quản trịCSDL có thể nặng nề, dẫn đến việc làm mất tính hiệu quả của toàn bộ hệ thống

2.1.3 Quản trị các dữ liệu phân tán

Một hệ quản trị CSDL thông thường được tổ chức như một phần mềm cổ điển và được cài đặttrên một máy tính tập trung Hiện nay môi trường tin học phục vụ các công tác đa dạng với các đối

tượng phức tạp hơn, khiến người ta phải dùng đến hệ thống không tập trung và xử lý song song.Như vậy cần có công cụ khác là hệ quản trị CSDL phân tán

Hệ phân tán tạo lập do việc tập hợp các máy nối nhau theo mạng truyền thông d ùng cho mộtcông việc tổng thể và được quản lý trên địa bàn rộng lớn Yêu cầu đặt ra ở đây là quản trị và xử lýnhững dữ liệu phân tán tại các máy độc lập Các trạm độc lập ấy đã có các hệ quản trị, nhưng khônghoàn toàn giống nhau

Để khai thác dữ liệu theo hệ thống quản trị CSDL phân tán, người ta không thể không thay đổi

hệ quản trị cũ Ít ra cũng phải mở rộng hệ quản trị CSDL tập trung Hệ thống phân tán cũng đòi hỏicác chức năng xử lý song song

Các hệ thống với các chức năng xử lý song song được thiết lập để khai thác các khả năng xử lýsong song của máy đa bộ xử lý Đi đôi với các thiết bị cho phép xử lý dữ liệu một cách song song,cũng có các ngôn ngữ bậc cao cho phép mô tả dữ liệu phân tán và mô tả song song các chức năng

xử lý

Nhược điểm của các hệ quản trị CSDL thế hệ hai đòi hỏi đưa ra các hệ thống tiên tiến Đó là cácCSDL hướng đối tượng, CSDL suy diễn và CSDL phân tán

2.1.4 Nhu cầu về hệ thống CSDL hướng đối tượng

Các thí dụ về CSDL thường lấy từ lĩnh vực xử lý dữ liệu truyền thống Một ứng dụng xử lý dữliệu có đặc trưng là dùng các tệp dữ liệu, xử lý dữ liệu tệp để đáp ứng các yêu cầu Các công nghệCSDL quan hệ, mạng hay phân cấp đều thể hiện các tiếp cận khác nhau nhằm tích hợp các tệp dữliệu để đáp ứng nhu cầu ứng dụng Các điểm mạnh của CSDL quan hệ đã khiến chúng chiếm ưu thếtrên thị trường CSDL Tuy nhiên việc tăng tính khái quát, trừu tượng của các kiểu dữ liệu do máy

xử lý lại là điểm yếu của công nghệ quan hệ Trước khi đề cập vấn đề hướng đối tượng trong

Trang 12

http://www.ebook.edu.vn 11

CSDL, bên cạnh các hạn chế của CSDL quan hệ, người ta còn thấy các hạn chế nêu trên về hệthống CSDL nói chung, về phạm vi ngữ nghĩa, về cấu trúc dữ liệu, về tính chủ động và tính toànvẹn dữ liệu

1 Phạm vi ngữ nghĩa: Lý thuyết quan hệ chỉ hỗ trợ một phần các khái niệm ngữ nghĩa Nhiềukhái niệm về ngữ nghĩa không thể hiện qua mô hình quan hệ được

2 Cấu trúc dữ liệu: Các hệ thống quan hệ bị hạn chế bớt về cấu trúc dữ liệu Trong hệ thốngquan hệ các dữ liệu được tổ chức thành bảng gồm các thuộc tính đơn Nhiều kiểu thông tin khôngphù hợp với cách thể hiện này

3 Tính thụ động của dữ liệu: Trong hệ thống quan hệ, dữ liệu hầu hết là thụ động Các chươngtrình ứng dụng có vai trò kích hoạt các dữ liệu này, để dữ liệu trở nên linh động Trong mô hình

hướng đối tượng, người ta có thể biết được hành vi cũng như cấu trúc dữ liệu

4 Toàn vẹn ngữ nghĩa: Đảm bảo tính toàn vẹn ngữ nghĩa là có thể giữ được tính bền vững củangữ nghĩa CSDL dưới tác động của các chương trình Hệ thống quan hệ quản lý hành vi của dữ liệu

theo các chương trình ứng dụng Cùng một dữ liệu có thể mang các hành vi khác nhau, nên dữ liệu

cần có ý nghĩa khác nhau tùy theo chương trình sử dụng, dễ gây nên tình trạng vi phạm tính toànvẹn dữ liệu Những tình huống kém khả năng như vậy của CSDL quan hệ sẽ được CSDL hướng đối

tượng khắc phục, nhất là đối với các đối tượng dữ liệu phức tạp và có khối lượng lớn các thông tin

ngữ nghĩa Các lĩnh vực điển hình cần đến CSDL hướng đối tượng là:

- CSDL đa phương tiện, cần lưu trữ khối lượng lớn các tín hiệu âm thanh, hình ảnh và văn bản;cần liên kết nhiều kiểu dữ liệu

- Các hệ thống thông tin địa lý, cần xử lý nhiều loại dữ liệu thống kê, bản đồ; các dữ liệu đượcthu thập từ nhiều vùng khác nhau

- Các CSDL phục vụ thiết kế gồm các sơ đồ, nhiều thành phần dữ liệu phức tạp liên kết nhau.Một thiết kế đòi hỏi xử lý qua nhiều giai đoạn, nhiều thế hệ

2.2 Khái niệm về hướng đối tượng

Để thấy quan điểm về hướng đối tượng, hãy xét một vật trong thế giới thực là chiếc ghế Ghế là

một phần tử, hay là một thể hiện của lớp rộng hơn gọi là đồ đạc Một tập các thuộc tính liên kết với

đối tượng trong lớp đồ đạc, chẳng hạn giá thành, kích thước, trọng lượng, vị trí và mầu sắc Nhữngđiều này được áp dụng mỗi khi người ta nói về cái bàn hay cái ghế, tủ… Bởi vì ghế là thành viên

của lớp đồ đạc, nó thừa kế tất cả các thuộc tính đã xác định cho lớp

Mỗi đối tượng trong lớp đồ đạc có thể được xử lý theo nhiều cách Mỗi phép xử lý này sẽ thay

đổi một hay nhiều thuộc tính của đối tượng và chúng được gọi là dịch vụ hay phương pháp trên đốitượng

Các đối tượng sẽ bao bọc:

- Dữ liệu thông qua giá trị thuộc tính

- Các phép toán như các hoạt động có tác dụng thay đổi giá trị thuộc tính

- Các đối tượng khác, như là các đối tượng phức tạp

- Các hằng số, như các giá trị mặc định

- Các thông tin liên quan

Trang 13

http://www.ebook.edu.vn 12

Việc bao bọc thông tin của các đối tượng có nghĩa là tất cả thông tin này được thu gọn lại

dưới một tên và có thể được dùng như một đặc tả hay một thành phần chương trình

Định nghĩa 2.1 Đối tượng là một thực thể có vai trò xác định rõ ràng trong lĩnh vực ứng dụng,

có trạng thái, hành vi và được xác định tên

Ví dụ về các đối tượng thuộc lớp Người Chúng liên lạc với nhau thông qua thông báo Thôngbáo là dạng các thao tác áp dụng lên đối tượng Thao tác trong môi trường hướng đối tượng đượcgọi là phương pháp Chẳng hạn phương pháp kết hôn tác động lên đối tượng để biết đối tượng nàykết hôn với ai

Định nghĩa 2.2 Trạng thái bao gồm tính chất của đối tượng, như là thuộc tính và các mối quan

hệ, và những giá trị gán cho các tính chất đó

Định nghĩa 2.3 Phép toán là một hàm số hay một dịch vụ mà tất cả các thể hiện của lớp đều

chấp nhận

Định nghĩa 2.4 Phương pháp là việc thực hiện của một phép toán.

Hành vi và cấu trúc của một đối tượng trong môi trường lập trình hướng đối tượng hoàn toàn dolớp đối tượng xác định Lớp là khái niệm cơ bản trong tiếp cận hướng đối tượng

Định nghĩa 2.5 Hành vi là thể hiện cách thức tác động của một một đối tượng.

hơn Người ta không xử lý trực tiếp các giá trị thuộc tính của đối tượng mà xử lý thông qua cácphương pháp liên kết với lớp đối tượng

2 Phương pháp gắn với lớp đối tượng: Các thông báo chuyển đến lớp đối tượng nhờ phương

pháp gắn với lớp đối tượng Chúng thường có dạng các phép toán, các hàm với các tham số Các

đối tượng trong một lớp chỉ có thể được truy cập thông qua các phương pháp Tại mức giao diện,

phần hiện rõ là tên phương pháp và các tham số cần cho phương pháp này

Định nghĩa 2.6 Lớp đối tượng là tập các đối tượng có chung cấu trúc và hành vi.

Trang 14

http://www.ebook.edu.vn 13

Định nghĩa 2.7 Sơ đồ lớp cho biết cấu trúc tĩnh của mô hình hướng đối tượng, đó là các lớp

đối tượng, cấu trúc bên trong của chúng, và mối quan hệ mà chúng tham gia

Miền riêng của lớp đối tượng là phần xác định lớp, nhưng không hiện ra cho đối tượng khácthấy Miền này có thể gồm các thông tin chi tiết về cấu trúc của lớp đối tượng Trong chương trình

người ta có thể cài đặt che giấu các giá trị, ngay cả các liên kết cũng bị che giấu, cũng như không

thấy được các thông báo Việc bảo vệ thông tin làm việc bên trong cùng với các giá trị đối tượng

trước các sử dụng thông thường này được gọi là che dấu thông tin

Một khái niệm quan trọng trọng trong OOP là bao bọc, có nghĩa mọi vấn đề về đối tượng đều

được nhận biết thông qua định nghĩa lớp đối tượng Người ta truy cập khái niệm nhờ giao diện lớp

và xác định các hành vi thông qua việc xác định lớp

Định nghĩa 2.8 Sơ đồ đối tượng là đồ thị gồm các thể hiện của đối tượng, tương thích với sơ đồ

lớp

Định nghĩa 2.9 Bao gói, hay bao bọc là kĩ thuật che giấu, làm ẩn những chi tiết về cài đặt bên

trong của đối tượng đối với các truy cập từ bên ngoài

2.2.3 Cá thể

Cá thể hóa là quá trình khẳng định sự tồn tại của các đối tượng trong môi trường hướng đối

tượng, bằng việc xác định lớp của chúng Mỗi đối tượng là một cá thể của lớp; thường được dùng

với thuật ngữ thể hiện của lớp

2.2.4 Kế thừa

Khái niệm kế thừa là khái niệm quan trọng trong tiếp cận hướng đối tượng Người ta thườngdụng thuật ngữ này khi chỉ định lớp đối tượng này tiếp thụ, thừa kế các thuộc tính của lớp đối tượngkhác Tuy nhiên mỗi lớp con có thể mạng một số thuộc tính hay phương pháp riêng

Định nghĩa 2.l0 Kế thừa là tính chất cho phép các lớp con kế thừa những thuộc tính, phép toán

của lớp cha

Việc kế thừa nhiều lần xẩy ra khi một lớp kế thừa từ nhiều lớp

2.3 CSDL hướng đối tượng

Dù có nhiều ngôn ngữ hướng đối tượng, đa số CSDL hướng đối tượng dựa trên C++ Lựa chọnnày là do tính hiệu quả và thông dụng của C++

Thực tế CSDL hướng đối tượng có các ưu điểm:

- Cho phép xét các liên kết đối tượng dưới dạng các phép lưu trữ với các đối tượng

- Các đối tượng được phép dùng chung cho nhiều người sử dụng

- Khả năng phát triển kho tri thức bằng cách thêm các đối tượng mới và các phép xử lý kèmtheo

- Phát triển hệ quản trị CSDL dựa trên việc xử lý các đối tượng phức tạp, thiết kế giao diện

chương trình, mô tả đối tượng động và trừu tượng

Hệ quản trị CSDL hướng đối tượng là hệ quản trị cho phép lưu trữ và chia sẻ các đối tượng vớinhiều ứng dụng Hệ thống hướng đối tượng là sự mở rộng có ý nghĩa của lập trình hướng đối tượng

Trong môi trường OOP các đối tượng được coi như các biến chương trình, chỉ tồn tại với vòng đời

của chương trình đã tạo ra và sử dụng đối tượng Còn trong hệ thống CSDL hướng đối tượng, các

đối tượng là bền vững hơn Thuật ngữ bền vững được dùng với nghĩa đối tượng tồn tại không lệ

Trang 15

http://www.ebook.edu.vn 14

thuộc vào vòng đời của chương trình tạo ra nó Chương trình khác có thể truy cập hay hủy bỏ đối

tượng này Hệ thống CSDL hướng đối tượng có các nét đặc trưng sau:

- Ngôn ngữ CSDL có khả năng mô tả lớp đối tượng, tao sinh, lưu trữ và xóa đối tượng

- Các đối tượng cho phép chương trình ứng dụng truy cập Mỗi đối tượng trong kho các đối

tượng có tên duy nhất OID Khái niệm OID khác với khái niệm khóa chính trong cơ sở dữ liêu quan

hệ Khóa chính là tập các thuộc tính xác định duy nhất bộ dữ liệu, mang giá trị có thể thay đổi được.Trong hệ thống hướng đối tượng, OID thường là chuỗi 64, 128bit hoặc cao hơn và mang giá trị

không thay đổi Một đối tượng cũng có thể có các thuộc tính mang vai trò như khóa chính trong

CSDL quan hệ Điều này hoàn toàn phụ thuộc vào việc xác định lớp Việc gán OID hoàn toàn do hệquản trị CSDL hướng đối tượng thực hiện

Kho đối tượng là nơi chứa dữ liệu tạo nên CSDL hướng đối tượng Hệ quản trị CSDL hướngđối tượng cần có các chức năng cơ bản như hệ quản trị CSDL bình thường, như điều khiển tương

tranh, an toàn dữ liệu, toàn vẹn dữ liệu… Thực ra, hệ quản trị CSDL hướng đối tượng hoạt động

như hệ quản trị thường, với sự tham giá của phần mềm hướng đối tượng để truy cập các đối tượng

2.4 Thiết kế CSDL hướng đối tượng

Để xác định rõ việc thực hiện CSDL hướng đối tượng theo các dạng tiếp cần, trước hết cần xácđịnh cách thức thiết kế một hệ thống hướng đối tượng

Một CSDL hướng đối tượng gồm các đối tượng; tất cả các thứ thuộc về lớp Để xây dựng môhình khái niệm cho CSDL hướng đối tượng, người ta cần xác định tập các lớp đối tượng

Lớp đối tượng được xác định nhờ các thuộc tính và phương thức thức Người ta cũng phải xác

định sự tương tác giữa các lớp Khái niệm về lớp cũng tương tự như kiểu dữ liệu đã giới thiệu trướcđây

2.4.1 Phân lớp

Quá trình phân lớp liên quan đến việc định tên đối tượng với các thuộc tính, hành vi tương tự

nhau và nhóm các đối tượng vào cùng một lớp Theo thí dụ về sơ đồ người ta xác định sơ đồ với các

thuộc tính tên, ngày tạo, hình vẽ Các phép toán chung là lưu trữ tìm kiếm, vẽ

Trong đoạn chương trình trên, danh sách các trường và các kiểu dữ liệu đơn giản dùng cho các

sơ đồ được liệt kê trong mục thuộc tính Tiếp theo là các phương thức, có tên và các tham số Có

một số phương thức như tạo mới, xóa… áp dụng cho tất cả các đối tượng trong CSDL

Tất cả các định nghĩa về giao diện lớp đối tượng cần có phép toán tạo mới và hủy bỏ đối tượng.Quá trình phân lớp sẽ tạo ra lớp của các đối tượng có các thuộc tính, phương thức chung, và một vài

đối tượng có thuộc tính và phương thức riêng Lúc đó người ta cần đến khái niệm tổng quát hóa và

chuyên biệt hóa

2.4.2 Tổng quát hóa và đặc biệt hóa

Tổng quát hóa là quá trình xác định lớp đối tượng mang các thuộc tính tương tự và theo sự

tương tự này người ta có thể trừu tượng hóa để được lớp cao hơn, hay lớp cha Chẳng hạn ban đầungười ta xác định lớp hình tam giác, hình vuông, hình chữ nhật, và hình tròn rồi trừu tượng hóa

thành lớp cao hơn về sơ đồ, gồm các thuộc tính chung của tất cả các sơ đồ

Định nghĩa 2.11 Lớp trừu tượng là lớp không có thể hiện trực tiếp, nhưng các thành phân sau

nó có thể có thể hiện trực tiếp

Định nghĩa 2.12 Lớp cụ thể là lớp có thể có các thể hiện trực tiếp.

Trang 16

http://www.ebook.edu.vn 15

Chuyên biệt hóa là quá trịnh ngược lại với tổng quát hóa Bắt đầu từ lớp sơ đồ, người ta có thể

xác định lớp con để phân biệt các loại sơ đồ khác nhau; mỗi lớp con chia sẻ thuộc tính và phương

thức chung trong lớp sơ đồ nhưng có các thuộc tính và phương thức dùng riêng

Người ta dùng cây phân cấp để thể hiện quá trình tổng quát hóa Phân cấp nả rất có ý nghĩa

trong hệ thống hướng đối tượng, để chỉ ra dãy các thừa kế Khi mô tả các lớp, người ta cần chỉ ra sựtham gia của lớp vào dãy kế thừa này

Hai định nghĩa lớp đối tượng này đều tham chiếu đến lớp đối tượng cha bằng câu lệnh kế thừa

Lớp tam giác thừa kế tất cả các thuộc tính và phương thức của sơ đồ Các thuộc tính bổ sung cũng

được mô tả ngay Phương thức tạo mới được mô tả lại, tính đến các đặc trưng riêng của hình tamgiác Phương thức Diện tích cũng là phương thức dùng riêng cho hình tam giác Còn lớp đối tượng

Hình đều cạnh thì thừa kết tính chất củ lớp Tam giác Điều này có nghĩa nó thừa kết các tính chấtcủa lớp tam giác và lớp so đồ Lớp đối tượng này cũng có thuộc tính riêng Người ta mô tả lại các

phương thức để phù hợp với loại hình này

2.4.3 Gộp

Gộp là quá trình liên kết các lớp đối tượng với nhau để tạo lên một lớp gộp Chẳng hạn CSDLngân hàng gồm khách hàng, tài khoản, chi nhánh và mối quan hệ giữa chúng Khi thực hiện CSDLnày theo kĩ thuật quan hệ, người ta tạo các các quan hệ tách biệt đối với mỗi thực thể và dùng kháiniệm khóa ngoài để thể hiện mối quan hệ 1-n Người ta cũng dùng quan hệ khác có khóa ngoài đểthể hiện quan hệ m-n giữa khách hàng và tài khoản Để thiết lập khung nhìn về tất cả thông tin liên

quan đến một tài khoản nào đó, người ta cần nối 4 bảng cơ sở

Trong CSDL hướng đối tượng người ta giải quyết vấn đề này nhở lớp đối tượng gộp Lớp đăng

ký được tạo, liên kết các đối tượng kiểu khác hàng, tài khoản, và chi nhánh Mỗi đối tượng đăng ký

sẽ liên kết một khách hàng với một tài khoản, có thuộc tính đặc biệt cho biết thời gian thực hiện

đăng ký này

2.5 Xây dựng CSDL hướng đối tượng

Một số điều liên quan đến lược đồ CSDL hướng đối tượng xuất hiện khi phân lớp đối tượng,tổng quát hóa, đặc biệt hóa và gộp Các vấn đề này xảy ra song song Người ta không trình bày quátrình chuyển từ mô hình thực thể E/R sang mô hình hướng đối tượng bởi lẽ không có điểm tương tựgiữa một bên là thực thể và mối quan hệ, một bên là lớp đối tượng Hơn nữa, mô hình E/R hầu như

hướng dữ liệu chứ không cho biết về hành vi của thực thể khi dựa vào hạng của quan hệ mà thực

Trang 17

http://www.ebook.edu.vn 25

- Chi phí nhỏ nhất: Hàm chi phí gồm có chi phí lưu mỗi mảnh Fi tại vị trí Sj, chi phí vấn tin Fi

tại vị trí Sj, chi phí cập nhật Fi tại tất cả mọi vị trí chứa nó và chi phí truyền dữ liệu Vì thế bài toáncấp phát cố gắng tìm một lược đồ cấp phát với hàm chi phí tổ hợp thấp nhất

- Hiệu quả: Chiến lược cấp phát được thiết kế nhằm duy trì một hiệu quả lớn nhất đó là hạ thấpthời gian đáp ứng và tăng tối đa lưu lượng hệ thống tại mỗi vị trí

Nói chung bài toán cấp phát tổng quát là bài toán phức tạp, vì thế các nghiên cứu đều tập trungtìm ra các giải thuật heuristic tốt để có thể có được các lời giải tối ưu Để phân biệt bài toán cấpphát tập tin truyền thống với cấp phát mảnh trong các thiết kế CSDL phân tán, chúng ta gọi b ài toánthứ nhất là bài toán cấp phát tập tin, và bài toán sau là bài toán cấp phát CSDL

Hiện không có một mô hình heuristic tổng quát nào nhận một tập các mảnh và sinh ra một chiến

lược cấp phát gần tối ưu ứng với các loại ràng buộc Các mô hình đã được phát triển chỉ mới đưa ra

một số giả thiết đơn giản hóa và dễ áp dụng cho một số cách đặt vấn đề cụ thể

Thông tin cho cấp phát:

Thông tin về CSDL:

Để thực hiện phân mảnh ngang, chúng ta đã định nghĩa độ tuyển hội sơ cấp Bây giờ chúng ta

cần mở rộng định nghĩa đó cho các mảnh và định nghĩa độ tuyển của một mảnh Fjứng với câu vấn

tin qi Đây là số lượng các bộ của Fj cần được truy xuất để xử lý qi Giá trị này được ký hiệu làSeli(Fj)

Một loại thông tin khác trên các mảnh là kích thước của chúng Kích thước một mảnh Fj được

cho bởi: size(Fj) = card(Fj) * Length(Fj)

Thông tin về ứng dụng:

Phần lớn các thông tin có liên quan đến ứng dụng đều đã được biên dịch trong khi thực hiệnphân mảnh nhưng cung cần một số ít nữa cho mô hình cấp phát Hai số liệu quan trọng là số truyxuất đọc do câu vấn tin qi thực hiện trên mảnh Fj trong mỗi lần chạy của nó – ký hiệu là RRij Và

sau

- uij = 1 nếu vấn tin qi có cập nhật mảnh Fj, ngược lại sẽ bằng 0

- rij = 1 nếu vần tin qi cần đọc mảnh Fj, ngược lại sẽ băng 0

Một vectơ O gồm các giá trị 0(i) cũng được định nghĩa, với 0(i) đặc tả vị trí đưa ra câu vấn tin

qi Cuối cúng để định nghĩa ràng buộc thời gian đáp ứng, thời gian đáp ứng tối đa được phép củamỗi ứng dụng cũng cần phải được đặc tả

Thông tin về vị trí:

Với mỗi vị trí chúng ta cần biết về khả năng lưu trữ và xử lý của nó Hiển nhiên là những giá trịnày có thể được tính bằng các hàm thích hợp hoặc bằng các phương pháp đánh giá đơn giản Chi

phí LPCj là chi phí xử lý một đơn vị công việc tại vị trí Sj Đơn vị công việc cần phải giống với đơn

vị của RR và UR

Thông tin về mạng:

Trang 18

http://www.ebook.edu.vn 17

Chương 3 Cơ sở dữ liệu phân tán

Thiết kế hệ thống thông tin có CSDL phân tán bao gồm:

- Phân tán và chọn những vị trí đặt dữ liệu;

- Các chương trình ứng dụng tại các điểm;

- Thiết kế tổ chức khai thác hệ thống đó trên nền mạng

3.1 Các phương pháp phân tán dữ liệu

3.1.1 Khái niệm về phân tán dữ liệu

Khi thiết kế các hệ thống CSDL phân tán người ta thường tập trung xoay quanh các câu hỏi?

- Tại sao lại cần phải phân mảnh?

- Làm thế nào để thực hiện phân mảnh?

- Phân mảnh nên thực hiện đến mức độ nào?

- Có cách gì kiểm tra tính đúng đắn của việc phân mảnh?

- Các mảnh sẽ được cấp phát trên mạng như thế nào?

- Những thông tin nào sẽ cần thiết cho việc phân mảnh và cấp phát?

3.1.1.1 Các lý do phân mảnh

Trước tiên việc phân tán dữ liệu được thực hiện trên cơ sở cấp phát các tập tin cho các nút trên

một mạng máy tính Các nút mạng thường nằm ở các vị trí địa lý khác nhau trải rộng trên một diệntích lớn Do vậy để tối ưu việc khai thác thông tin thì dữ liệu không thể để tập trung mà phải phântán trên các nút của mạng

Hơn nữa một quan hệ không phải là một đơn vị truy xuất dữ liệu tốt nhất Ví dụ như, nếu ứng

dụng được thực hiện trên một bộ phận nhỏ các dữ liệu của quan hệ mà quan hệ đó nằm tại các vị tríkhác nhau thì có thể gây ra những truy xuất thừa và hơn thế việc nhân bản các quan hệ làm tốnkhông gian bộ nhớ Do vậy phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lý như một

đơn vị sẽ cho phép thực hiện nhiều giao dịch đồng thời Một câu truy vấn ban đầu có thể được chia

ra thành một tập các truy vấn con, các truy vấn này có thể được thực hiện song song trên các mảnh

sẽ giúp cải thiện tốc độ hoạt động của hệ thống

Tuy nhiên chúng ta cũng sẽ gặp những rắc rối của việc phân mảnh, ví dụ nếu các ứng dụng cónhững xung đột sẽ ngăn cản hoặc gây khó khăn cho việc truy xuất dữ liệu Phân rã các mảnh nói

chung làm tăng chi phí trong việc truy xuất dữ liệu Một vấn đề nữa liên quan đến việc kiểm soát

ngữ nghĩa và tính toàn vẹn dữ liệu

3.1.1.2 Các kiểu phân mảnh

Thể hiện của các quan hệ chính là các bảng, vì thế vấn đề là tìm những cách khác nhau để chiamột bảng thành nhiều bảng nhỏ hơn Rõ ràng có hai phương pháp khác nhau: Chia bảng theo chiềudọc và chia bảng theo chiều ngang Chia dọc ta được các quan hệ con mà mỗi quan hệ chứa một tậpcon các thuộc tính của quan hệ gốc – gọi là phân mảnh dọc Chia ngang một quan hệ ta được cácquan hệ con mà mỗi quan hệ chứa một số bộ của quan hệ gốc - gọi là phân mảnh ngang

Trang 19

DuAn(MaDuAn, Ten, KinhPhi, ViTri);

NhanVien(MaNV, Ten, ChucVu);

TrachNhiem(MaNV, MaDuAn, TrachNhiem, ThoiGianTG);

Luong(ChucVu, Luong)

Hình 3.1 Dữ liệu của các bảng

Người ta có thể chia ngang quan hệ DuAn Thành các quan hệ con DuAn1, DuAn2 DuAn1 chứa

những thông tin về các dự án có ngân sách dưới 200000$, còn DuAn2 lưu các thông tin về các dự

án có ngân sách trên 200000$

Hình 3.2 Phân mảnh ngang quan hệ DuAn

DuAn1

DuAn2

Ngoài ra cũng có thể phân mảnh dọc quan hệ DuAn thành hai quan hệ DuAn3, DuAn4 DuAn3chỉ chứa thông tin về ngân sách của các dự án, còn DuAn4 lưu thông tin về tên và vị trí dự án Điềucần lưu ý là khóa của quan hệ DuAn phải xuất hiện trong cả hai mảnh

Hình 3.3 Phân mảnh dọc quan hệ DuAn

Trang 20

http://www.ebook.edu.vn 19

3.1.1.4 Quy tắc phân mảnh đúng đắn

Chúng ta sẽ phải tuân thủ ba qui tắc trong khi phân mảnh mà chúng sẽ đảm bảo CSDL không có

thay đổi nào về mặt ngữ nghĩa sau khi phân mảnh

dữ liệu có trong R phải có mặt trong một hoặc nhiều mảnh Ri

2 Tính tái thiết được: Nếu một quan hệ R được phân mảnh thành R1, R2,…, RN thì cần phải

R =Ri, i = 1 N

Toán tử thay đổi tùy theo từng loại phân mảnh; thông thường khi phân mảnh ngang thì làphép toán hợp còn phân mảnh dọc là phép toán kết nối

3 Tính tách biệt: Nếu quan hệ R được phân mảnh ngang thành các mảnh R1, R2,…, RN và mục

dữ liệu ti nằm trong mảnh ri, thì nó sẽ không nằm trong các mảnh Rk với k j Tiêu chuẩn này đảmbảo rằng các mảnh ngang sẽ tách biệt với nhau Nếu quan hệ được phân mảnh dọc, các thuộc tínhkhóa chính phải được lặp lại trong mỗi mảnh Vì thế trong trường hợp phân mảnh dọc, tính tách biệtchỉ được định nghĩa trên các trường không phải là khóa chính của một quan hệ

3.1.1.6 Các yêu cầu thông tin

Một điều cần lưu ý trong việc thiết kế phân tán là quá nhiều yếu tố có ảnh hưởng đến một thiết

kế tối ưu Tổ chức logic của CSDL, vị trí các ứng dụng, đặc tính truy xuất của các ứng dụng đến

Trang 21

http://www.ebook.edu.vn 20

CSDL, và các đặc tính của hệ thống máy tính tại mỗi vị trí đều có ảnh hưởng đến các quyết định

phân tán

3.1.2 Phân mảnh ngang

Trong phần ngày chúng ta sẽ bàn đến hai chiến lược phân mảnh:

- Phân mảnh ngang nguyên thủy: Phân mảnh ngang nguyên thủy của một quan hệ được thựchiện dựa trên các vị từ được định nghĩa trên quan hệ đó

- Phân mảnh ngang dẫn xuất: Là phân mảnh một quan hệ dựa vào các vị từ được định nghĩa trênmột quan hệ khác

3.1.2.1 Yêu cầu thông tin của phân mảnh ngang.

1 Thông tin về CSDL

Thông tin về CSDL là lược đồ toàn cục và các quan hệ gốc Trong ngữ cảnh này chúng ta cầnbiết được các quan hệ sẽ kết lại với nhau bằng phép kết nối hay phép tính khác Để thể hiện ng ười

ta thường dụng mô hình thực thể để biểu diễn các quan hệ với các mỗi liên kết giữa chúng

Thông tin định lượng cần có là lực lượng của mỗi quan hệ R, đó là số bộ có trong R được ký

hiệu là card(R)

2 Thông tin về ứng dụng

Để phân tán ngoài thông tin định lượng Card(R) ta còn cần thông tin định tính cơ bản gồm các

vị từ được dùng trong các câu vấn tin Lượng thông tin này phụ thuộc vào bài toán cụ thể

dom(Ai) Một vị từ đơn giản P được định nghĩa trên R có dạng:

P: Ai <giá trị>

Trong đó  {=, <, <=, >=, >, <>}, Ailà một thuộc tính, <giá trị> dom(Ai)

định được tập tất cả các vị từ đơn giản trên R

Ví dụ: Với hình 3.1 các vị từ đơn giản của quan hệ DuAn:

P1: Ten = “Bảo trì”

P2: KinhPhi <= 200000

Trong các bài toán thức tế các câu vấn tin thường chứa nhiều vị từ phức tạp hơn, là tổ hợp củacác vị từ đơn giản Ví dụ vị từ hội sơ cấp của các vị từ đơn giản Bởi một biểu thức boolean luôn cóthê biến đổi được thành dạng chuẩn hội cho nên chúng ta sử dụng hội sơ cấp để biểu diễn các vị từphức tạp

dom(Ai) Pr = {p1, p2,…, pt} Tập các vị từ hội sơ cấp M = {m1, m2,…, mk} được định nghĩa như

sau:

mi = p’j với 1 j t

Trong đó p’j = pj hoặc p’j =pj

Lưu ý: Phép lấy phủ định một vị từ không phải lúc nào cũng thực hiện được

Theo những thông tin định tính về các ứng dụng chúng ta cần biết hai tập dữ liệu:

Trang 22

http://www.ebook.edu.vn 37

Bây giờ ta giả sử rằng T4 là một giao dịch nhận khóa đọc A trước khi T1 khóa ghi A Nếu T1

xuất hiện trước T4 trong lịch biểu tuần tự thì T4 đọc một giá trị của A có chứa hàm f, còn trong lịch

biểu S, giá trị được đọc bởi T4 không chứa f Vì vậy, T4 phải thực hiện trước T1 trong một lịch biểutuần tự tương đương với S Suy luận duy nhất không thê thực hiện được là nếu trong S hai giao dịchcùng nhần khóa đọc một mục A theo một thứ tự nào đó thì những giao dịch này phải xuất hiện theothứ tự đó trong một lịch biểu tuần tự Đúng ra thứ tự tương đối này là của các khóa đọc không tạo ra

sẹ khác biệt nào trên các giá trị được tạo ra bởi các giao dịch thực hiện đồng thời

Thuật toán 3.4 Kiểm tra tính khả tuần tự của các lịch biểu với các khóa đọc/ghi

Vào: Một lịch biểu S cho một tập các giao dịch T1, T2,…, TN

Ra: Khẳng định S có khả tuần tự hay không, nếu được sẽ đưa ra một lịch biểu tuần tự tương

Nếu G có chu trình thi S là bất khả tuần tự, ngược lại thì một sắp xếp topo của G là thứ tự tuần

tự cho các giao dịch này

Ngày đăng: 06/07/2014, 07:11

HÌNH ẢNH LIÊN QUAN

4.3.3. Đồ thị về thứ tự thực hiện các giao tác - bài giảng về cơ sở dữ liệu nâng cao
4.3.3. Đồ thị về thứ tự thực hiện các giao tác (Trang 3)
Hình chữ nhật Hình tam giác Hình tròn - bài giảng về cơ sở dữ liệu nâng cao
Hình ch ữ nhật Hình tam giác Hình tròn (Trang 16)
Hình 3.1. Dữ liệu của các bảng - bài giảng về cơ sở dữ liệu nâng cao
Hình 3.1. Dữ liệu của các bảng (Trang 19)
Hình 3.2. Phân mảnh ngang quan hệ DuAn DuAn1 - bài giảng về cơ sở dữ liệu nâng cao
Hình 3.2. Phân mảnh ngang quan hệ DuAn DuAn1 (Trang 19)
Hình sau trình bày một lịch biểu của những giao dịch này và tác dụng của chúng trên các mục A, B, và C. - bài giảng về cơ sở dữ liệu nâng cao
Hình sau trình bày một lịch biểu của những giao dịch này và tác dụng của chúng trên các mục A, B, và C (Trang 35)
Hình 4.1. Kiến trúc tổng quan của kho dữ liệu - bài giảng về cơ sở dữ liệu nâng cao
Hình 4.1. Kiến trúc tổng quan của kho dữ liệu (Trang 41)
4.4.2. Bảng chéo - bài giảng về cơ sở dữ liệu nâng cao
4.4.2. Bảng chéo (Trang 44)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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