1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bảng câu vấn tin trên các quan hệ và xử lý câu vấn tin trên bảng

73 5 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 73
Dung lượng 1,84 MB

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

Nội dung

NGÔ HUY THẮNGBẢNG CÂU VẤN TIN TRÊN CÁC QUAN HỆ VÀ XỬ LÝ CÂU VẤN TIN TRÊN BẢNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên, năm 2012 Số hóa bởi Trung tâm Học liệu – Đại học Thái N

Trang 1

NGÔ HUY THẮNG

BẢNG CÂU VẤN TIN TRÊN CÁC QUAN HỆ

VÀ XỬ LÝ CÂU VẤN TIN TRÊN BẢNG

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên, năm 2012

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 2

LỜI CẢM ƠN

Những kiến thức căn bản trong luận văn này là kết quả của quá trình tự nghiên cứu trong quá trình công tác và hai năm học Thạc sỹ (2010 - 2012) tại Trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên Dưới sự giảng dạy, đào tạo và dìu dắt trực tiếp của các thầy cô trong trường và Viện Công nghệ thông tin Việt Nam

Tôi xin bày tỏ lời cảm ơn chân thành tới các thầy cô trong Khoa Công nghệ thông tin, Phòng Đào tạo, Phòng Công tác học sinh sinh viên, Phòng Đào tạo sau đại học Trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên, đã tạo điều kiện thuận lợi cho tôi trong thời gian học tập tại trường

Tôi xin bày tỏ lòng biết ơn chân thành, lời cảm ơn sâu sắc nhất đối với

thầy giáo PGS.TS Lê Huy Thập đã trực tiếp hướng dẫn, định hướng cho tôi

giải quyết các vấn đề trong luận văn

Tôi cũng xin cảm ơn đến các anh chị đồng nghiệp ở Sở Thông tin và Truyền thông tỉnh Bắc Kạn, người thân, bạn bè và các bạn đồng môn lớp cao học CH 9A, đã ủng hộ và giúp đỡ tôi trong quá trình làm luận văn tốt nghiệp

Thái Nguyên, ngày 15 tháng 8 năm 2012

Học viên

Ngô Huy Thắng

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 3

LỜI CAM ĐOAN

Với mục đích nghiên cứu, tìm hiểu để nâng cao kiến thức và trình độ chuyên môn để áp dụng trong các bài toán cụ thể trong tương lai nên tôi đã làm luận văn này một cách nghiêm túc và hoàn toàn trung thực Nội dung luận văn do tự tôi tìm hiểu và hoàn thành

Trong luận văn, tôi có sử dụng tài liệu tham khảo của một số tác giả trong và ngoài nước để hoàn thành luận văn được nêu ở phần tài liệu tham khảo

Tôi xin cam đoan và chịu trách nhiệm về nội dung, sự trung thực trong luận văn tốt nghiệp Thạc sỹ của mình

Thái Nguyên, Ngày 15 tháng 8 năm 2012

Trang 4

1.1.1 Những vấn đề mà CSDL cần phải giải quyết ……… ……… 12

1.1.2 Ðịnh nghĩa Hệ thống cơ sở dữ liệu (Database Systems) … 13

1.1.3 Cơ sở dữ liệu quan hệ và lược đồ cơ sở dữ liệu quan hệ …. 14 1.2.Các loại câu vấn tin SQL ……… 17 1.3.Phương pháp chuyển câu vấn tin SQL sang câu vấn tin đại số quan hệ AQL 19

1.3.1 Ngôn ngữ truy vấn đại số quan hệ (AQL) ……….…… 20 1.3.2 Các phép biến đổi tương đương trong đại số quan hệ …… … 22

1.3.3 Thuật toánchuyển câu vấn tin SQL sang câu vấn tin đại số quan hệ AQL 25

1.4.Kết luận chương 1 ……….……… 32 CHƯƠNG II: PHƯƠNG PHÁP TÁCH GỘP CÁC HÀNG – CỘT 33 2.1 Phương pháp chuyển câu vấn tin đại số quan hệ sang bảng …… 34

2.1.1 Mục tiêu của xử lý vấn tin ……….………… 35

2.1.2 Mô tả đặc trưng của xử lý vấn tin ………… ……… 35 2.2 Định nghĩa và cách thể hiện câu truy vấn bằng bảng … … 37

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 5

2.2.1 Cách thể hiện bảng vấn tin đại số quan hệ ………… ……… 38

2.2.2 Độ phức tạp của phép toán đại số quan hệ ……… …… 40

2.3 Phương pháp tách gộp hàng trong bảng vấn tin ……… …… 40

2.3.1.Kỹ thuật Gộp các hàng – cột ……… ………… 41

2.3.2 Kỹ thuật Tách các hàng – cột ……….……… 44

2.3 Kết luận chương 2 ……… 51

CHƯƠNG III: ỨNG DỤNG GIẢI BÀI TOÁN CỤ THỂ ……….…… 52

3.1 Cách tính tải trên hàng và các phân hoạch của bảng vấn tin …… 52

3.1.1 Phân hoạch bảng vấn tin……….……… 53

3.1.2 Cách tính tải trên hàng ……….……….… 53

3.2 Phương pháp tìm Cell có chi phí truyền thông lớn …….………… 56

3.3 Thuật toán tạo ra bảng vấn tin tiền xử lý ……….… ……… 58

3.4 Ví dụ minh họa ……….……….……… 61

3.4.1 Cây tối ưu cho truy vấn dạng ống có cân bằng tải ………… 61

3.4.2 Thuật toán chia công việc ……… 61

3.4.3 Mở rộng thuật toán nhát cắt cục bộ cho bài toán POM …… 62

3.5.Kết luận chương 3 ……… 68

KẾT LUẬN ……… ……… 69

HƯỚNG PHÁT TRIỂN ……… 70

TÀI LIỆU THAM KHẢO ……… 71

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 7

BẢNG CÁC CHỮ VIẾT TẮT

SQL Structured Query Language – Ngôn ngữ truy vấn dữ liệu

CSDL Cơ sở dữ liệu

HQTCSDL Databasemanagement system - Hệ quản trị Cơ Sở Dữ Liệu

AQL Algebraic Query Language (Ngôn ngữ vấn tin đại số)

POT Pipeline Operator Tree – Cây toán tử dạng ống

POM Pipeline Operator Matrix – Ma trận toán tử dạng ống

Trang 8

DANH MỤC HÌNH VẼ

Hình 1.1 Mô hình xử lí thông tin ……… 11

Hình 1.2 Mô hình hệ thống cơ sở dữ liệu ……… 13

Hình 1.3 Cây đại số quan hệ ví dụ ……… 31

Hình 2.1 Gộp hai đỉnh i và j thành đỉnh m ……… 43

Hình 2.2 Tách hai đỉnh i và j ……… 46

Hình 2.3 Cắt các cạnh của cây toán tử ……… 50

Hình 2.4 Gộp các đỉnh của cây toán tử ……… 50

Hình 3.1 Cây toán tử tổng quát ……… 59

Hình 3.2 Cây toán tử đã được tiền xử lí ………. 60

Hình 3.3 Thuật toán nhát cắt cục bộ ……… 64

Hình 3.4 Cây toán tử gốc ……… ……… 65

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 9

DANH MỤC BẢNG BIỂU

Bảng 1.1 Bảng quan hệ NHANVIEN ……….….……… 15

Bảng 1.2 Bảng quan hệ DONVI ……….……… 16

Bảng 1.3 Bảng quan hệ DONVI_DIADIEM ……….………… 16

Bảng 1.4 Bảng quan hệ DUAN ……… ……… 16

Bảng 1.5 Bảng quan hệ NHANVIEN_DUAN …… ……… 17

Bảng 2.1 Bảng vấn tin dạng đại số quan hệ ……… 39

Bảng 2.2 Toán tử Collapse (i,j) gốc ……… 42

Bảng 2.3 Toán tử Collapse (i,j) sau khi gộp i,j ……… 42

Bảng 2.4 POM dữ liệu ………. 43

Bảng 2.5 POM sau khi gộp ……… 44

Bảng 2.6 Toán tử cut(i,j) gốc ……… 45

Bảng 2.7.Toán tử cut(i,j) sau khi gộp i,j ……… 45

Bảng 2.8 Dữ liệu POM ……… 46

Bảng 2.9 POM 1 ……… 47

Bảng 2.9a POM 1,1 ………. 47

Bảng 2.9b POM 1,2 ……… ……… 47

Bảng 2.10 POM 4 ………. 47

Bảng 2.11 Ma trận Ip truy vấn ……… 48

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 10

Bảng 2.12 Ma trận Ip truy vấn mảnh F1 ……… 48

Bảng 2.13 Ma trận Ip truy vấn mảnh F2 ………. 48

Bảng 2.14 Ma trận Ip truy vấn mảnh F3 ……… 49

Bảng 2.15 Ma trận Ip truy vấn lớp mảnh F1 ……… 49

Bảng 2.16 Ma trận Ip truy vấn lớp mảnh F2 ……… 49

Bảng 2.17 Ma trận Ip truy vấn lớp mảnh F3 ……… 49

Bảng 3.1 Bảng truy vấn Ip với các phép toán đại số quan hệ …… 54

Bảng 3.2 Các t i và cell ij của Ip ……… 55

Bảng 3.3 Ma trận Ip tương ứng với cây toán tử gốc ……… 58

Bảng 3.4 Gộp các cạnh có trọng số lớn đã qua tiền xử lí ………… 60

Bảng 3.5 Ip truy vấn tương ứng với cây toán tử gốc ………… ……… 65

Bảng 3.6 Phân hoạch F1 ………… ……… 66

Bảng 3.7 Phân hoạch F2 ………… ……… 66

Bảng 3.8 Phân hoạch F3 ………… ……… 67

Bảng 3.9 Phân hoạch F4 ………… ……… 67

Bảng 3.10 Phân hoạch F5 ………… ……….……… 67

Bảng 3.11 Phân hoạch F6 ………… ……… 68

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 11

MỞ ĐẦU

Để thể hiện câu vấn tin SQL bằng bảng trước hết chúng ta chuyển nó sang câu vấn tin đại số quan hệ, sau đó thể hiện câu vấn tin này bằng một bảng gọi là bảng truy vấn Các tiêu đề hàng và cột sẽ là tên các quan hệ cơ sở, các quan hệ trung gian hoặc kết qủa thực hiện câu vấn tin Các Cell sẽ là các toán tử để thực hiện các phép toán đại số quan hệ nhằm sinh ra các quan hệ trung gian Cùng với tiêu đề hàng và cột ta sẽ gán một trọng số nào đó - là chi phí xử lý phép toán trên quan hệ đó; các Cell cũng được gán trọng số là chi phí chuyển số liệu từ toán tử nằm trên hàng đến toán tử nằm trên cột Minh họa xử lý câu vấn tin bằng bảng truy vấn sẽ được thực hiện cho việc tìm cây toán tử tiền xử lý Tức là phân chia các toán tử cho các bộ xử lý để thời gian trả lời truy vấn nhỏ nhất

Nội dung của luận văn gồm 3 chương:

Chương I: Tổng quan về cơ sở dữ liệu quan hệ Trong chương này

cung cấp các kiến thức lý thuyết cơ bản những khái niệm về CSDL quan hệ, các loại câu vấn tin và phương pháp chuyển đổi câu vấn tin SQL sang câu vấn tin đại số quan hệ

Chương II: Phương pháp tách – gộp hàng, cột trong bảng vấn tin

Với những nội dung chính như: Phương pháp chuyển câu vấn tin đại số quan

hệ sang bảng và phương pháp tách gộp hàng, cột trong bảng vấn tin

Chương III: Ứng dụng giải một số bài toán thực tế Dựa vào những

cơ sở lý thuyết đã nghiên cứu, một số bài toán đã được ứng dụng giải quyết như: Cách tính tải trên hàng và các phân hoạch của bảng vấn tin, phương pháp tìm ô có chi phí truyền thông lớn và thuật toán tạo ra bảng vấn tin tiền xử lý

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 12

CHƯƠNG I:

TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU QUAN HỆ 1.1.Khái quát về cơ sở dữ liệu

Ðịnh nghĩa Dữ liệu: Dữ liệu là các sự kiện, văn bản, đồ họa, hình ảnh,

âm thanh và các đoạn phim video có ý nghĩa trong môi trường người dùng

Ðịnh nghĩa thông tin: Thông tin là dữ liệu được xử lý theo các cách để

làm tăng hiểu biết của người đang sử dụng dữ liệu này

Thông thường đối với việc thiết kế xây dựng một hệ thống tin quản lý, chúng ta cần xử lý một hệ thống các file dữ liệu Mỗi file này có cấu trúc bản ghi khác nhau nhưng về nội dung có quan hệ với nhau tạo thành một cơ sở dữ

liệu (Database _ viết tắt CSDL)

Cơ Sở Dữ Liệu là tập hợp thông tin (dữ liệu) có tổ chức nhằm thỏa mãn

một hay nhiều mục đích quản lý thông tin của con người Hệ các chương trình

nhằm quản lý khai thác dữ liệu này là Hệ quản trị Cơ Sở Dữ Liệu (viết tắt HQTCSDL, Database management system) (ví dụ Access, SQL server,

Oracle ) Hệ thống thông tin gồm bộ phận xử lý thông tin, kênh thông tin vào ra.(Xem hình 1.1)

Hình 1.1 Mô hình xử lý thông tin

Ưu điểm của cơ sở dữ liệu: Giảm sự trùng lắp thông tin xuống mức thấp

nhất và do đó bảo đảm được tính nhất quán và toàn vẹn dữ liệu Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau Khả năng chia sẻ thông tin cho nhiều người sử dụng

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 13

1.1.1.Những vấn đề mà CSDL cần phải giải quyết

Tính chủ quyền của dữ liệu: Tính chủ quyền của dữ liệu được thể hiện ở

phương diện an toàn dữ liệu, khả năng biểu diễn các mối liên hệ ngữ nghĩa của dữ liệu và tính chính xác của dữ liệu Điều này có nghĩa là người khai thác CSDL phải có nhiệm vụ cập nhật các thông tin mới nhất của CSDL

Tính bảo mật và quyền khai thác thông tin của người sử dụng: Do có

nhiều người được phép khai thác dữ liệu một cách đồng thời, nên cần thiết phải

có một cơ chế bảo mật và phân quyền hạn khai thác CSDL Các hệ điều hành nhiều người sử dụng hay hệ điều hành mạng cục bộ đều có cung cấp cơ chế này

Tranh chấp dữ liệu: Nhiều người được phép truy nhập cùng một lúc vào

tài nguyên dữ liệu của CSDL với những mục đích khác nhau, do đó cần thiết phải có một cơ chế ưu tiên khi truy nhập dữ liệu Cơ chế ưu tiên có thể được

thực hiện bằng việc cấp quyền ưu tiên cho từng người khai thác

Đảm bảo an toàn dữ liệu khi có sự cố: Việc quản lý dữ liệu tập trung có

thể làm tăng khả năng mất mát hoặc sai lệch thông tin khi có sự cố như mất điện đột xuất, hay một phần đĩa lưu trữ CSDL bị hư hỏng,… một số hệ điều hành mạng có cung cấp dịch vụ sao lưu ảnh đĩa cứng, tự động kiểm tra và khắc phục lỗi khi có sự cố Tuy nhiên, bên cạnh dịch vụ của hệ điều hành, để đảm bảo CSDL luôn ổn định, một CSDL nhất thiết phải có một cơ chế khôi

phục dữ liệu khi có các sự cố bất ngờ xảy ra

Các đối tượng sử dụng CSDL: Những người sử dụng CSDL không

chuyên về lĩnh vực tin học và CSDL Các chuyên viên CSDL biết khai thác CSDL, những người này có thể xây dựng các ứng dụng khác nhau, phục vụ cho các mục đích khác nhau trên CSDL

Những người quản trị CSDL, đó là những người hiểu biết về tin học, về các hệ quản trị CSDL và hệ thống máy tính Họ là người tổ chức CSDL, do

đó họ phải nắm rõ các vấn đề kỹ thuật về CSDL để có thể phục hồi CSDL khi

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 14

có sự cố Họ là những người cấp quyền hạn khai thác CSDL, do vậy họ có thể giải quyết được các vấn đề tranh chấp dữ liệu nếu có

1.1.2 Ðịnh nghĩa Hệ thống cơ sở dữ liệu (Database Systems)

Hệ thống cơ sở dữ liệu là hệ thống thông tin, cho phép người ta dùng chung các dữ liệu có trong hệ thống

Để giải quyết tốt những vấn đề mà cách tổ chức CSDL đặt ra như đã nói

ở trên, cần thiết phải có những phần mềm chuyên dùng để khai thác chúng Những phần mềm này được gọi là các hệ quản trị CSDL Các hệ quản trị CSDL có nhiệm vụ hỗ trợ cho các nhà phân tích thiết kế CSDL cũng như những người khai thác CSDL Hiện nay trên thị trường phần mềm đã có những hệ quản trị CSDL hỗ trợ được nhiều tiện ích như: MS Access, Visual

Foxpro, SQL Server, Oracle,…(Xem hình 1.2)

Hình 1.2 Mô hình hệ thống cơ sở dữ liệu Mỗi hệ quản trị CSDL đều được cài đặt dựa trên một mô hình dữ liệu cụ thể Dù là dựa trên mô hình dữ liệu nào, một hệ quản trị CSDL cũng phải hội

đủ các yếu tố sau:

Ngôn ngữ hỏi

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 15

Ngôn ngữ mô tả dữ liệu: Cho phép khai báo cấu trúc của CSDL, khai báo

các mối liên hệ của dữ liệu và các quy tắc quản lý áp đặt lên các dữ liệu đó

Ngôn ngữ thao tác dữ liệu: Cho phép người sử dụng có thể cập nhật dữ liệu (thêm/sửa/xoá)

Ngôn ngữ truy vấn dữ liệu: Cho phép người khai thác sử dụng để truy

vấn các thông tin cần thiết trong CSDL

Ngôn ngữ quản lý dữ liệu: Cho phép những người quản trị hệ thống thay

đổi cấu trúc của các bảng dữ liệu, khai báo bảo mật thông tin và cấp quyền hạn khai thác CSDL cho người sử dụng.,…

Từ điển dữ liệu: Dùng để mô tả các ánh xạ liên kết, ghi nhận các thành

phần cấu trúc của CSDL, các chương trình ứng dụng, mật mã, quyền hạn sử dụng,…

Cơ chế giải quyết vấn đề tranh chấp dữ liệu: Mỗi hệ quản trị CSDL

cũng có thể cài đặt một cơ chế riêng để giải quyết các vấn đề này Một số cơ chế thường dùng sau đây:

- Cấp quyền ưu tiên cho từng người sử dụng;

- Đánh dấu yêu cầu truy xuất dữ liệu, phân chia thời gian, người nào có yêu cầu trước thì có quyền truy xuất dữ liệu trước,…

Hệ quản trị CSDL cũng phải có cơ chế sao lưu (Backup) và phục hồi (Recovery) dữ liệu khi có sự cố xảy ra Điều này có thể thực hiện sau một thời

gian nhất định hệ quản trị CSDL sẽ tự động tạo ra một bản sao CSDL, cách này hơi tốn kém, nhất là đối với CSDL lớn

Hệ quản trị CSDL phải cung cấp một giao diện thân thiện, dễ sử dụng

1.1.3.Cơ sở dữ liệu quan hệ và lược đồ cơ sở dữ liệu quan hệ

Một cơ sở dữ liệu quan hệ thường gồm nhiều quan hệ với các bộ giá trị trong các quan hệ được liên kết với nhau theo nhiều cách Một lược đồ cơ sở

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 16

dữ liệu quan hệ S là một tập hợp các lược đồ quan hệ S = {R1, R2,…, Rn} và một tập các ràng buộc toàn vẹn

Một trạng thái cơ sở dữ liệu quan hệ (hoặc một cơ sở dữ liệu quan hệ) R

của S là một tập hợp các trạng thái quan hệ:

R = {r1, r2, …, rn}

sao cho mỗi ri là một trạng thái của Ri và sao cho các trạng thái quan hệ rithoả mãn các ràng buộc toàn vẹn chỉ ra trong tập các ràng buộc toàn vẹn

Ví dụ: Trình bày một lược đồ cơ sở dữ liệu CONGTY như sau:

NHANVIEN(MaNV, TenNV, NgaySinh, DiaChi, GioiTinh, Luong, MaDV) DONVI(MaDV, TenDV, Ngay_Bat_Dau)

DONVI_DIADIEM(MaDV, Dia_Diem_DV)

DUAN(MaDA, TenDA, Dia_Diem_DA, MaDV)

NHANVIEN_DUAN(MaNV, MaDA, ThoiGian_LV)

Và cơ sở dữ liệu CONGTY bao gồm các bảng:

MaNV TenNV NgaySinh DiaChi GioiTinh Luong MaDV

NV0001 Lê Duy 19/09/1980 Bắc Kạn Nam 5.000 DV02

Trang 17

MaDV TenDV Ngay_Bat_Dau

Bảng 1.3 Bảng quan hệ DONVI_DIADIEM

DA001 Đào tạo Thái Nguyên DV02 DA002 Quản lý Bắc Kạn DV03 DA003 Xây dựng HT Bắc Kạn DV03 DA004 Lập trình PHP Thái Nguyên DV02 DA005 Thiết kế Web Hà Nội DV01 DA006 Lập trình Java Hà Nội DV01 DA007 Lập trình ASP Thái Nguyên DV02

DA 008 Lập trình NET Thái Nguyên DV02

Bảng 1.4 Bảng quan hệ DUAN

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 18

MaNV MaDA ThoiGian_LV

NV0001 DA001 100 NV0002 DA002 80 NV0003 DA003 110 NV0004 DA008 200 NV005 DA007 90 NV006 DA005 150 NV007 DA006 230

Bảng 1.5 Bảng quan hệ NHANVIEN_DUAN

Trong một lược đồ cơ sở dữ liệu quan hệ, các thuộc tính biểu diễn cùng

một khái niệm thế giới thực có thể (hoặc không) có cùng tên như nhau trong

các quan hệ khác nhau Ngược lại, các thuộc tính biểu diễn các khái niệm khác nhau có thể có tên như nhau trong các quan hệ khác nhau

1.2 Các loại câu vấn tin SQL

Câu lệnh tạo cơ sở dữ liệu

Cú pháp của câu lệnh CREATE DATABASE

Create Database Ten_CSDL

Sau câu lệnh này, một CSDL có tên là Ten_CSDL được tạo ra

Câu lệnh tạo bảng dữ liệu

Câu lệnh tạo quan hệ có cú pháp như sau

CREATE TABLE Ten_Quanhe

( ten_cot ten_thuoc_tinh_cot cac_rang_buoc [, ] )

Ràng buộc PRIMARY KEY được sử dụng để định nghĩa khoá chính của bảng FOREIGN KEY là khóa ngoại, nó là khóa chính của bảng được quan hệ FOREIGN KEY có thể tham chiếu vào PRIMARY KEY hay cột có ràng buộc duy nhất

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 19

Sửa bảng (ALTER TABLE)

Cú pháp của câu lệnh ALTER TABLE như sau:

ALTER TABLE Ten_Bang

ADD đinh_nghia_cot | ALTER COLUMN ten_cot kieu_du_lieu [NULL

|NOT NULL] DROP COLUMN ten_cot | ADD CONSTRAINT ten_rang_buoc đinh_nghia_rang_buoc DROP CONSTRAINT ten_rang_buoc

Xóa bảng (DROP TABLE)

Khi một bảng không còn cần thiết, ta có thể xoá nó ra khỏi cơ sở dữ liệu bằng câu lệnh DROP TABLE Câu lệnh này cũng đồng thời xoá tất cả những

ràng buộc, chỉ mục, trigger liên quan đến bảng đó Câu lệnh có cú pháp như sau:

DROP TABLE Ten_Bang

Sau câu lệnh này, bảng có tên là Ten_Bang sẽ bị xóa khỏi CSDL

Thêm bản ghi mới (INSERT)

Để bổ sung một dòng dữ liệu mới vào bảng, ta sử dụng câu lệnh

INSERT với cú pháp như sau:

INSERT TABLE Ten_Bang[(danh_sach_cot)]VALUES (danh_sach_gia_tri)

Thêm một tập các dòng dữ liệu vào bảng

Cú pháp câu lệnh INSERT có dạng như sau:

INSERT INTO Ten_Bang (danh_sach_cot)] câu_lệnh_SELECT

Cập nhật bản ghi (UPDATE)

Câu lệnh UPDATE trong SQL được sử dụng để cập nhật dữ liệu trong

các bảng Câu lệnh này có cú pháp như sau:

Trang 20

[Where dieu_kien]

Xoá bản ghi (DELETE)

Để xoá dữ liệu trong một bảng, ta sử dụng câu lệnh DELETE Cú pháp của câu lệnh này như sau:

DELETE FROM Ten_Bang

[FROM danh_sach_bang]

[WHERE dieu_kien]

Sau lệnh này, dữ liệu sẽ bị xóa trong bảng Ten_Bang theo danh sách và

điều kiện xóa trong mệnh đề FROM và WHERE

Truy vấn cơ sở dữ liệu (SELECT)

Cú pháp chung của câu lệnh SELECT có dạng:

SELECT [ALL | DISTINCT][TOP n] danh_sach_chon

[COMPUTE danh_sach_ham_gop [BY danh_sach_cot]]

Câu lệnh SELECT được sử dụng để tác động lên các bảng dữ liệu và kết quả của câu lệnh cũng được hiển thị dưới dạng bảng, tức là một tập hợp các dòng và các

cột (ngoại trừ trường hợp sử dụng câu lệnh SELECT với mệnh đề COMPUTE)

1.3 Phương pháp chuyển câu vấn tin SQL sang câu vấn tin đại số quan hệ AQL

Từ câu vấn tin SQL, chúng ta chuyển sang câu vấn tin đại số quan hệ bằng cách sử dụng các phép toán đại số quan hệ AQL như: phép chiếu, phép

chọn và phép kết nối

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 21

Nhiệm vụ chính của xử lý vấn tin là biến đổi câu vấn tin cấp cao (ở dạng phép tính quan hệ) thành câu vấn tin cấp thấp hơn (dạng đại số quan hệ) Câu

vấn tin phải đạt được cả tính đúng lẫn tính hiệu quả

Một biến đổi được xem là đúng đắn, nếu câu vấn tin cấp thấp có cùng ngữ nghĩa với câu vấn tin gốc – tức là cả hai cùng cho ra một kết quả Có nhiều cách để biến đổi tương đương một câu vấn tin dạng phép tính quan hệ thành đại số quan hệ Do có nhiều cách biến đổi như vậy, nên có nhiều chiến lược thực thi câu vấn tin cùng sử dụng tài nguyên Cần phải chọn một chiến lược hạ thấp nhất việc sử dụng tài nguyên

Ví dụ: Cho một quan hệ CONGTY bao gồm

NhanVien(MaNV, TenNV, Ghi_Chu)

DuAn(MaDA,TenDA, Ngan_Sach, Vi_Tri)

NhanVien_DuAn(MaNV, MaDA , Chuc_Vu , Thoi_Gian)

Câu vấn tin “ Cho biết tên các nhân viên đang là người quản lý dự án”

Câu truy vấn SQL:

SELECT TenNV

FROM NhanVien, NhanVien_DuAn

WHERE NhanVien.MaNV = NhanVien_DuAn.MaNV

AND NhanVien_DuAn.Chuc_Vu = “Quản lý dự án”

Câu truy vấn AQL tương ứng với SQL trên là:

πTenNV(σChuc_Vu=”Quản lý dự án” ∧ NhanVien.MaNV=NhanVien_DuAn.MaNV (NhanVien × NhanVien_DuAn)) hoặc

πTenNV(NhanVien ⋈MaNV(σChuc_Vu=”Quản lý dự án”(NhanVien_DuAn)))

1.3.1 Ngôn ngữ truy vấn đại số quan hệ (AQL)

Gọi r là quan hệ trên tập thuộc tính R={ A1,….,An} Ta luôn giả thiết

rằng quan hệ r là tập hữu hạn các bộ Đối với các phép hợp (ký hiệu ) phép

giao (ký hiệu ), phép trừ (ký hiệu -) hai quan hệ tham gia phải khả hợp

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 22

AQL (Algebraic Query Language) là ngôn ngữ truy vấn đại số quan

hệ Để truy vấn dữ liệu, thay vì sử dụng câu truy vấn SQL thông thường, câu truy vấn AQL sử dụng các phép toán đại số quan hệ để truy vấn dữ liệu thông qua các phép toán trên các mảnh con như: Phép chọn, phép chiếu, phép kết nối trên cây toán tử và các phép hợp, phép giao, phép trừ,

phép Tích Đềcác,… trên bảng Ip (Isomorphous) truy vấn Cụ thể chúng ta

tham khảo một số phép toán đại số quan hệ như dưới đây:

Giả sử r là quan hệ n ngôi trên tập thuộc tính R = {Al, ,An} và giả sử t

là một bộ của r, AR Ký hiệu t[A] là giá trị của bộ t tại thuộc tính A Như vậy nếu X = {Bl, ,Bm} thì t[X]=(t[Bl],t[B2],; ,t[Bm])

Gọi X là một tập con của tập thuộc tính R = {Al, ,An} Phép chiếu π

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 23

trên tập X của quan hệ r được định nghĩa như sau:

πx(r)={t[x] | t  r}

Phép chọn (Selection)

Phép chọn dùng để tạo một tập con các bộ trong quan hệ r thoả mãn biểu thức F nào đó Các phép toán trong biểu thức F là <, =, >, <=, >= và ≠ cùng với các phép toán logic là  (và),  (hoặc), ¬ (phủ định) định nghĩa phép chọn

σ như sau:

σ F(r) = {t  r | F(t) = T.} (trong đó T = TRUE (đúng))

1.3.2 Các phép biến đổi tương đương trong đại số quan hệ

Xét r,s và T là những quan hệ, E là mệnh đề logic, với quan hệ r được định nghĩa trên các thuộc tính {A1 , A2,…, An} và quan hệ s được định nghĩa trên các thuộc tính {B1 ,B2 ,…, Bn } và X là tập thuộc tính

- Tính giao hoán của phép toán hai ngôi

Tích Đềcác của hai quan hệ r và s có tính giao hoán: r × s = s × r

Nối của hai quan hệ có tính giao hoán: r ⋈ s = s ⋈ r

Quy tắc này áp dụng được cho phép hợp nhưng không áp dụng cho phép tập hợp hay nối nửa

- Tính kết hợp của các phép toán hai ngôi

Tích Đềcác và nối là phép toán có tính kết hợp

(r × s) × T ⟺ r × (s × T)

(r ⋈ s) ⋈ T ⟺ r ⋈ (s ⋈ T)

- Tính lũy đẳng của các phép toán đơn ngôi

Nhiều phép chiếu liên tiếp trên cùng một quan hệ có thể được nhóm lại, ngược lại một phép chiếu trên nhiều thuộc tính có thể được tách ra thành nhiều phép chiếu liên tiếp nhau Nếu r được định nghĩa trên tập thuộc tính A

và A’ ⊆ A, A” ⊆ A’ thì: (r.(A’)).A” =r.A”

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 24

Nhiều phép chọn liên tiếp theo thứ tự p1, p2,… pk trên cùng một quan hệ

r, trong đó pi là một vị từ được áp dụng cho thuộc tính Ai có thể được nhóm lại như sau: r.p1A1(r.p2A2) ⟺ r.p1A1∧p2A2

Ngược lại, một phép chọn qua một hội các vị từ có thể được tách ra thành nhiều phép chọn liên tiếp nhau

- Giao hoán chọn với chiếu

Phép chọn và phép chiếu trên cùng một quan hệ có thể được giao hoán như sau: Chiếu xong chọn bằng chọn xong chiếu (r.X)(E) = (r(E).X) với E là mệnh đề logic có các thuộc tính ra khỏi tập thuộc tính X thì phép chọn đầu ở

vế trái của hệ thức không có tác dụng

- Giao hoán phép chọn với phép toán hai ngôi

Phép chọn và Tích Đềcác có thể giao hoán bằng các quy tắc sau:

(r × s)(E) ⟺ r(E) × s(E) nếu E thỏa mãn trong r và s

Chọn và nối cũng có thể giao hoán

(r ⋈ s)(E) ⟺ r(E) ⋈ s(E)

Chọn và hợp có thể giao hoán nếu r và T có lược đồ giống nhau

(r + T)(E) ⟺ r(E) + T(E)

Chọn và hiệu cũng có phép toán tương tự

(r - T)(E) ⟺ r(E) – T(E)

- Giao hoán phép chiếu với phép toán hai ngôi

Phép chiếu và Tích Đềcác có thể được giao hoán nếu C= A’ ∪ B’ trong đó A’ ⊆ A, B’ ⊆B và A,B là các tập thuộc tính tương ứng với các quan hệ r, s ta có: (r × s).C ⟺ r.C × s.C

Chiếu và nối có thể giao hoán

(r ⋈ s).C ⟺ r.C ⋈ s.C

Chiếu và hợp có thể giao hoán

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 25

(r + s).C = r.C + s.C

Chiếu và hiệu cũng có thể giao hoán tương tự

(r - s) C = r.C – s.C

Tối ưu bằng biến đổi biểu thức đại số quan hệ: Biến đổi thứ tự thực hiện

các phép toán của biểu thức đại số quan hệ sao cho các phép toán một ngôi được thực hiện trước các phép toán hai ngôi, do các phép toán chiếu, chọn thì

có chi phí nhỏ hơn so với các phép kết nối, tích đề các

Một số phép biến đổi tương đương khác:

Tách điều kiện trong phép chọn

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 26

Phép chọn và phép kết nối

σθ1 (E1 ⋈θ E2) = (σθ (E1 )) ⋈θ E2, nếu các thuộc tính 2 thuộc E1

σθ1∧ θ2 (E1 ⋈θ E2) = (σθ1(E)) ⋈θ (σθ2(E2)), nếu các thuộc tính trong 1chỉ thuộc E1 và các thuộc tính trong 2 chỉ thuộc E2

1.3.3 Thuật toán chuyển câu vấn tin SQL sang câu vấn tin đại số quan hệ AQL

Câu vấn tin dạng SQL có cấu trúc SELECT FROM WHERE

Vì tất cả các câu mệnh đề đều có thể chuyển về dạng chuẩn AND (tương đương với chuẩn hội, nên chúng ta có các mệnh đề chuẩn AND)

Câu vấn tin dạng AQL là chuyển đổi các phép toán trong SQL sang phép toán của đại số quan hệ Một câu vấn tin SQL có nhiều câu vấn tin AQL

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 27

tương ứng Việc lựa chọn câu vấn tin AQL nào để thực hiện là dựa vào khả năng tối ưu hóa của câu vấn tin AQL

Cây toán tử được dùng để thể hiện câu AQL và được tạo ra như sau: Trước hết tạo ra các nút lá là các quan hệ trong câu vấn tin SQL, các nút

lá nằm sau mệnh đề FROM

Nút gốc được tạo ra như phép chiếu chứa các thuộc tính kết quả, các thuộc tính này nằm sau mệnh đề SELECT

Lượng tử hoá (vị từ sau WHERE) được chuyển thành các phép tính đại

số quan hệ thích hợp (phép chọn, phép nối ,…) đi từ các nút lá đến gốc

Chuỗi này có thể được cho trực tiếp qua thứ tự xuất hiện của các vị trí và các toán tử

Thuật toán tìm câu SQL trong chương trình nguồn

Thuật toán này tìm kiếm và vét cạn tất cả các câu vấn tin dạng SQL

trong chương trình nguồn và đưa vào hàng đợi chờ xử lý tiếp

TimKiem_SQL

Vào: Chương trình nguồn

Ra: Các câu truy vấn SQL

While NOT EOF

Thuật toán chuyển SQL sang AQL

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 28

Sau thuật toán tìm kiếm SQL thì các SQL đã được lưu trữ trong hàng đợi QueueSQL Nhiệm vụ của thuật toán là lấy các câu SQL trong QueueSQL chuyển đổi các kí hiệu và phép toán trong quan hệ sang đại số quan hệ sau đó

lưu vào hàng đợi QueueAQL

Thuật toán SQL_AQL

Vào: QueueSQL // dữ liệu vào là những câu vấn tin SQL

Ra: QueueAQL các kí hiệu câu truy vấn AQL

While QueueSQL  // khi vẫn còn câu vấn tin SQL

Pop QueueSQL Save Into Tam.txt // lưu câu vấn tin SQL vào một biến Tam.txt

Do while NOT EOF() // cho đến khi hết câu vấn tin SQL

Push (các thuộc tính sau SELECT) Into QueueAQL // tìm các thuộc //tính sau lệnh SELECT đưa vào QueueAQL

Repeat // lặp lại cho đến khi tìm hết các thuộc tính

Find <Phép chọn> // tìm phép chọn

If <Nếu phép chọn sẽ có dạng <Tên Quan hệ>.<Tên trường><Phép

toán quan hệ> <Value>

Push <Tên trường><Phép toán đại số quan hệ> <Value> Into QueueAQL End if

If <Nếu phép chọn sẽ có dạng <Tên Quan hệ><Tên trường><Phép

toán quan hệ><Biểu thức mệnh đề quan hệ>>

// Trong biểu thức mệnh đề thay “AND” bởi “” còn “OR” bởi “” để được

<Biểu thức mệnh đề đại số quan hệ >

Push <Tên trường><Phép toán đại số quan hệ><Biểu thức mệnh đề đại số quan

hệ> Into QueueAQL

End if

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 29

Until <Không còn phép chọn>

Repeat

Find <Phép nối> //Phép nối sau Where là các dòng lệnh hoặc phần câu lệnh có dạng <Tên Quan hệ 1>.<Tên Khóa><Phép toán quan hệ><Tên Quan hệ 2>.<Tên Khóa 2>

Replace <Tên Quan hệ 1>.<Tên Khóa1> <Phép toán quan hệ > < Tên Quan hệ 2>.<Tên Khóa 2> By <Tên Quan hệ 1> ⋈<Tên Khóa1><Phép toán đại số quan hệ>.<Tên Khóa2> <Tên Quan hệ 2> // nối các quan hệ thông qua thuộc tính khóa

If <<Tên Quan hệ 1> AND <Tên Quan hệ 2> không có ở bước trước> Push <Kết quả> Into QueueAQL

Else

If <Tên Quan hệ 1> có ở bước trước>

Pop & <Phép toán đại số quan hệ>.<Tên Khóa2 > <Tên Quan hệ 2> // nối giữa các quan hệ thông qua Khóa

Push <Kết quả> Into QueueAQL // đưa kết quả vào biến

Push <Kí hiệu hết lệnh AQL >

End While

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 30

Chú ý rằng tập các phép toán quan hệ gồm {=, < , <= , > , >= , NOT, AND, OR} tương ứng với phép toán đại số quan hệ {=, < ,  , > ,  ,  ,  , }

Thuật toán tạo câu vấn tin đại số quan hệ AQL

For i = 1 To Count Str = Str & “)”

End for Push <Kết quả> Into QueueVT_AQL End While

Thuật toán Vẽ Cây Toán Tử

Vào: QueueVT_AQL

Ra: Cây toán tử

Output (“Cần vẽ cây toán tử thứ k = “)

Input k

While (1) For i = 1To k -1

If QueueVT_AQL ≠ ∅

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 31

Pop Else Exit While End if

FROM NhanVien , DuAn , NhanVien_DuAn

WHERE NhanVien.MaNV = NhanVien_DuAn.MaNV

AND NhanVien_DuAn.MaDA = DuAn.MaDA

AND TenNV <> “Lê Huy Dũng”

AND TenDA = “Lập trình Web”

AND (ThoiGian_LV=12 OR ThoiGian_LV=24)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 32

Kết quả của câu truy vấn chúng ta được một danh sách bao gồm tất

cả các nhân viên trừ nhân viên có tên là Lê Huy Dũng đã làm cho dự án

“Lập trình Web” trong 12 tháng hoặc 24 tháng

Áp dụng các thuật toán trên chúng ta được câu vấn tin SQL sang câu vấn tin AQL chúng ta được câu vấn tin AQL như sau:

πTenNV (σThoiGian_LV=12∨ThoiGian_LV=24 (σTenNV≠”Lê Huy Dũng” DuAn⋈MaDA (NhanVien_DuAn⋈M a N VNhanVien)))

Từ câu vấn tin AQL, chúng ta xây dựng cây toán tử đại số quan hệ được thể hiện như hình 1.4 dưới đây:

Hình 1.3 Cây đại số quan hệ ví dụ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 33

1.4 Kết luận chương 1

Trong chương này, chúng ta đã khái quát được về CSDL, hệ quản trị CSDL, cách xử lý thông tin và kênh thông tin vào ra Những vấn đề mà CSDL cần phải giải quyết bao gồm:

Cách sử dụng câu vấn tin SQL để tạo, sửa, xóa dữ liệu trong quan hệ Phương pháp chuyển câu vấn tin SQL bất kỳ sang câu vấn tin AQL, sử dụng các câu truy vấn được viết bằng ngôn ngữ bậc cao, qua quá trình xử lý vấn tin các truy vấn đó có thể biểu diễn bằng biểu thức đại số quan hệ mà người dùng có thể hiểu

Sử dụng ngôn ngữ truy vấn đại số quan hệ để truy vấn dữ liệu bằng các phép toán hợp, giao, trừ, chiếu chọn,…

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 34

CHƯƠNG II PHƯƠNG PHÁP TÁCH GỘP CÁC HÀNG – CỘT

TRONG BẢNG VẤN TIN

Tối ưu hoá là chọn ra một lời giải tốt nhất trong không gian của tất cả các phương án khả thi Phương pháp tối ưu hoá trực tiếp là chọn trong không gian lời giải, tiên đoán chi phí cho mỗi chiến lược và chọn ra lời giải có chi phí thấp nhất Không gian lời giải có thể rất lớn ngay cả với rất ít quan hệ tham gia và không gian lời giải càng phức tạp khi số quan hệ hoặc số mảnh càng tăng Tuy nhiên chi phí cao cho vấn đề tối ưu hoá là rất cần thiết, đặc biệt là khi chỉ cần trả chi phí cho một lần tối ưu hoá cho những câu truy vấn

mà nó sẽ được thực hiện nhiều lần sau khi tối ưu hoá Phương pháp tìm kiếm vét cạn thường được sử dụng, tức là tất cả các lời giải đều được xem xét

Vì phương pháp tìm kiếm vét cạn thường có chi phí cao nên người ta cũng dùng phương pháp ngẫu nhiên hoá bằng phương pháp “cải tiến tương tác” hoặc “chọn lặp khuyến khích”, sau đó tìm một lời giải cận tối ưu Phương pháp ngẫu nhiên hoá, giảm được chi phí tối ưu hoá quá cao, tuy nhiên kết quả

nhận được chỉ là lời giải “cận” tối ưu

Cách hay dùng nhất thuật giải heuristic (mang tính kinh nghiệm, tự tìm tòi là phương pháp giải quyết vấn đề bằng cách sử dụng các quy tắc thô thiển rút ra từ kinh nghiệm Các phương pháp này rất ít khi được đưa vào sách vở, nhưng đó là một bộ phận kiến thức mà các chuyên gia d ng để giải quyết vấn đề) nhằm thu hẹp không gian tìm kiếm Một heuristic quan trọng trong các hệ

phân tán là thay các phép nối bằng tổ hợp của các nối nửa, nhằm giảm tối đa

dữ liệu tham gia vào phép tính, tức là hạ thấp chi phí truyền dữ liệu và xử lý trên CPU

Tất cả các phương pháp trên được trình bày trên cơ sở của một câu vấn

tin (hoặc câu toán tử thể hiện câu toán tin đó) việc làm đó khá phức tạp và

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 35

khó xử lý bằng máy tính Vì vậy chúng tôi giới thiệu một phương pháp mới nhằm để thể hiện câu vấn tin bằng bảng mà không làm thay đổi về nội dung

và kết quả của câu vấn tin Việc làm này sẽ giúp cho máy tính có thể xử lý

câu vấn tin dựa vào các thuật toán đã biết trên mảng (ma trận)

2.1 Phương pháp chuyển câu vấn tin đại số quan hệ sang bảng

Nhiệm vụ chính của xử lý vấn tin quan hệ là biến đổi câu vấn tin cấp cao

(nghĩa là ở dạng phép tính quan hệ) thành câu vấn tin cấp thấp (tức là ở dạng đại số quan hệ) Câu vấn tin phải đạt được cả tính đúng đắn lẫn tính hiệu quả

Một biến đổi được xem là đúng đắn, nếu câu vấn tin cấp thấp có cùng ngữ nghĩa với câu vấn tin gốc – tức là cả hai cùng cho ra một kết quả Có nhiều cách để biến đổi một câu vấn tin cấp cao thành các câu vấn tin cấp thấp – nghĩa là có rất nhiều câu vấn tin cấp thấp mang tính đúng đắn và hiệu quả Các câu vấn tin cấp thấp đó cùng sử dụng tài nguyên như nhau Từ đó, đặt ra nhiệm vụ: Cần phải chọn một câu vấn tin cấp thấp nào để hạ thấp nhất việc sử dụng tài nguyên nói riêng và tổng chi phí nói chung

Câu vấn tin đại số quan hệ được thể hiện bằng một bảng gọi là bảng truy vấn Các tiêu đề hàng và cột sẽ là tên các quan hệ cơ sở, các quan hệ trung gian hoặc kết quả thực hiện câu vấn tin Các Cell sẽ là các toán tử để thực hiện các phép toán đại số quan hệ nhằm sinh ra các quan hệ trung gian Cùng với tiêu đề hàng, cột ta sẽ gắn một trọng số để chỉ chi phí xử lý phép toán trên quan hệ đó; các Cell (i, j) cũng được gán trọng số để chỉ chi phí chuyển số liệu từ toán tử i đến toán tử j Minh họa xử lý câu vấn tin bằng bảng truy vấn

sẽ được thực hiện cho việc lập lịch truy vấn trên cây toán tử đường ống, tức là phân chia các toán tử cho các bộ xử lý để thời gian trả lời truy vấn nhỏ nhất Khi đã có bảng thể hiện câu vấn tin, chúng ta dễ dàng dùng các thuật toán xử lý mảng để xử lý câu vấn tin

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trang 36

2.1.1 Mục tiêu của xử lý vấn tin

Mục tiêu của xử lý vấn tin trong môi trường phân tán là biến đổi câu vấn

tin cấp cao trên CSDL phân tán (mà người sử dụng vẫn tưởng là CSDL tập trung) thành một chiến lược thực thể hiệu quả được diễn tả bằng một ngôn

ngữ cấp thấp trên các CSDL cục bộ Giả sử ngôn ngữ cấp cao là phép tính quan hệ, ngôn ngữ cấp thấp là một dạng mở rộng của đại số quan hệ đi kèm với các thao tác truyền dữ liệu

Chỉ số đánh giá trên dùng tài nguyên là tổng chỉ phí phải trả khi xử lý vấn tin Tổng chi phí là tổng thời gian cần để xử lý các phép toán vấn tin tại các vị trí khác nhau và truyền dữ liệu giữa các vị trí

Trong cơ sở dữ liệu phân tán, tổng chi phí là CPU, chi phí xuất nhập và chi phí truyền dữ liệu Chi phí CPU là chi phí khi thực hiện các thao tác trên dữ liệu trong bộ nhớ chính Chi phí xuất nhập là chi phí cho các thao tác xuất nhập đĩa Chi phí truyền dữ liệu là chi phí cần thiết đê trao đổi dữ liệu giữa các vị trí tham gia vào quá trình thực hiện vấn tin bao gồm chi phí phải trả khi phải xử lý

thông báo (định dạng, giải định dạng) và khi truyền dữ liệu trên mạng

2.1.2 Mô tả đặc trưng của xử lý vấn tin

Ngôn ngữ

- Loại ngôn ngữ thứ nhất phải có ở giai đoạn phân rã vấn tin được thực hiện bằng phép tính quan hệ

- Ngôn ngữ thứ hai là ngôn ngữ thành phẩm, là một dạng nội tại của đại

số quan hệ được tăng cường thêm việc truyền tin Các phép toán của loại ngôn ngữ này được cài đặt trực tiếp trong hệ thống Việc xử lý vấn tin được ánh xạ từ ngôn ngữ thứ nhất sang ngôn ngữ thứ hai

Các kiểu tối ưu hóa

Tối ưu hoá là chọn ra một lời giải tốt nhất trong không gian của tất cả các lời giải khả thi Phương pháp tối ưu hoá trực tiếp là chọn trong không gian

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Ngày đăng: 25/02/2021, 08:39

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Lê Tiến Vương. Nhập môn cơ sở dữ liệu quan hệ. NXB Thống Kê, 2000 Sách, tạp chí
Tiêu đề: Nhập môn cơ sở dữ liệu quan hệ
Nhà XB: NXB Thống Kê
[2] Đoàn Văn Ban, Nguyễn Mậu Hân (2006), Xử lý song song và phân tán, NXB Khoa học và kỹ thuật Sách, tạp chí
Tiêu đề: Xử lý song song và phân tán
Tác giả: Đoàn Văn Ban, Nguyễn Mậu Hân
Nhà XB: NXB Khoa học và kỹ thuật
Năm: 2006
[3] Đỗ Xuân Lôi (1996), Cấu trúc dữ liệu và giải thuật, NXB Khoa học và kỹ thuật Sách, tạp chí
Tiêu đề: Cấu trúc dữ liệu và giải thuật
Tác giả: Đỗ Xuân Lôi
Nhà XB: NXB Khoa học và kỹ thuật
Năm: 1996
[5] Lê Huy Thập, Phân mảnh trên giá trị lặp của các thuộc tính trong CSDL quan hệ, Tạp chí tin học và điều khiển tối ưu, Tập 23 số 1 (2007) 86 - 98 Sách, tạp chí
Tiêu đề: Phân mảnh trên giá trị lặp của các thuộc tính trong CSDL quan hệ
[6] Lê Huy Thập, Cơ sở lý thuyết song song, NXB Thông tin và Truyền thông, 12-2011, Tái bản lần 1 Sách, tạp chí
Tiêu đề: Cơ sở lý thuyết song song
Nhà XB: NXB Thông tin và Truyền thông
[7] Lê Huy Thập, Bài giảng về CSDL quan hệ, Dùng giảng dạy tại học viện công nghệ bưu chính viễn thông, 2010 Sách, tạp chí
Tiêu đề: Bài giảng về CSDL quan hệ
[8] Lê Huy Thập, Bài giảng về CSDL phân tán, Dùng giảng dạy tại học viện công nghệ bưu chính viễn thông và Đại học sư phạm Hà Nội 2, 2007 Sách, tạp chí
Tiêu đề: Bài giảng về CSDL phân tán
[9] Lê Huy Thập, Giải các bài toán trên cây toán tử đường ống bằng ma trận đặc trưng, Tạp chí tin học và điều khiển học, tập 27 số 2 trang 107-118, tháng 6 năm 2011 Sách, tạp chí
Tiêu đề: Giải các bài toán trên cây toán tử đường ống bằng ma trận đặc trưng
[12] Barry Wilkingson, Michael Allen (1999), Parallel Programming, Technique and Applications Using Networked Workstations and Parallel Computers, Prentice Hall New Jersey Sách, tạp chí
Tiêu đề: Parallel Programming, Technique and Applications Using Networked Workstations and Parallel Computers
Tác giả: Barry Wilkingson, Michael Allen
Năm: 1999
[13] M. Tamner Ozsu, Patrick Valduriez, Nguyên lý các hệ cơ sở dữ liệu phân tán, Trần Đức Quang biên dịch, NXB Thống kê, 1999 Sách, tạp chí
Tiêu đề: Nguyên lý các hệ cơ sở dữ liệu phân tán
Nhà XB: NXB Thống kê
[15] Japan Information Processing Development Corporation, Central Academy of Information Technology, Internal Design And Programming, 1978 Sách, tạp chí
Tiêu đề: Internal Design And Programming
[10] Lê Huy Thập, Báo cáo động và các mệnh đề lọc dữ liệu, Kỷ yếu hội thảo Quốc gia Biên Hòa, năm 2009, trang 19-36, NXB Khoa học và kỹ thuật, 2010 Khác
[14] Seyed H. Roo, Parallel processing and Parallel Algorithms, Theory and Coputation, Springer 1999 Khác
[16] Behrooz Parhami (1999), Introduction to Parallel Processing: Algorithms and Architectures, Springer Khác
[17] Michael J. Quinn. (2000), Parallel Computing: theory and practice, 2nd edition. Oregon State University, USA. McGraw Hill Inc Khác
[18] Dimitri P. Bertsekas and John N. Tsitsiklis.( 2001), Parallel and Distributed Computation: Numerical Methods. Massachusets Institute of Technology. Prentice Hall Press Khác
[19] Michel Cosnard &amp; Denis Trystram, Parallel Algorithms and Architectures. International Thomson Computer Press. 1995 Khác

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