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

Phép dịch chuyển lược đồ khối trong mô hình dữ liệu dạng khối

79 89 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 79
Dung lượng 3,97 MB

Nội dung

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮTLuận văn này dùng thống nhất các ký hiệu và chữ viết tắt sau: CSDL cơ sở dữ liệu DomA miền giá trị của thuộc tính A LĐQH lược đồ quan hệ r hoặc rR k

Trang 1

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGÔ VĂN ĐỊNH

PHÉP DỊCH CHUYỂN LƯỢC ĐỒ KHỐI

TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI

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

Thái Nguyên - 2015

Trang 2

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGÔ VĂN ĐỊNH

PHÉP DỊCH CHUYỂN LƯỢC ĐỒ KHỐI

TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI

CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH

Trang 3

LỜI CẢM ƠN

Để hoàn thành luận văn này tôi đã nhận được sự giúp đỡ tận tình củathầy hướng dẫn khoa học, của các thầycô trường Đại học Công nghệ thông tin

và truyền thông - Đại học Thái Nguyên Tôi xin chân thành cảm ơn các thầy

cô trường Đại học Công nghệ thông tin và truyền thông - Đại học TháiNguyên đã tạo điều kiện học tập, nghiên cứu và giúp đỡ tôi rất nhiều trong

quá trình làm luận văn Đặc biệt tôi xin cảm ơn thầyTS Lê Văn Phùng đã tận

tình hướng dẫn, chỉ bảo tôi trong suốt quá trình học tập, nghiên cứu đề tài vàgiúp đỡ tôi hoàn thành bản luận văn này

Thái Nguyên, ngày 15 tháng 5 năm 2015

Học viên

Ngô Văn Định

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan đây là kết quả nghiên cứu của tôi dưới sự hướng dẫn khoa học của TS Lê Văn Phùng

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được

ai công bố trong bất kỳ công trình nào khác

Học viên

Ngô Văn Định

Trang 5

MỤC LỤC

Trang

MỤC LỤC i

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT iii

DANH MỤC CÁC HÌNH iv

MỞ ĐẦU 1

CHƯƠNG 1 MÔ HÌNH DỮ LIỆU DẠNG KHỐI 4

1.1 Một số mô hình dữ liệu tiêu biểu 4

1.1.1 Mô hình dữ liệu quan hệ 4

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

1.1.3 Mô hình dữ liệu dạng khối 5

1.2 Khối, lược đồ khối và các đặc trưng cơ bản 5

1.2.1 Khái niệm khối và lược đồ khối 5

1.2.2 Các phép tính cơ bản trên khối 8

1.2.3 Khái niệm phụ thuộc hàm 15

1.2.4 Bao đóng của tập thuộc tính chỉ số 16

1.2.5 Khóa của lược đồ khối R đối với tập F trên R 19

1.2.6 Các dạng chuẩn, tựa chuẩn và tựa chuẩn hóa trên lược đồ khối 22

1.2.7 Khái niệm về phủ và phủ tối thiểu của tập phụ thuộc hàm 31

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

CHƯƠNG 2 PHÉP DỊCH CHUYỂN LƯỢC ĐỒ KHỐI 34

2.1 Phép dịch chuyển lược đồ quan hệ 34

2.1.1 Định nghĩa 34

2.1.2 Thuật toán dịch chuyển lược đồ quan hệ 35

2.1.3 Bổ đề về siêu khoá trong phép dịch chuyển lược đồ quan hệ 39

2.1.4 Dịch chuyển lược đồ quan hệ về dạng cân bằng 40

2.2 Phép dịch chuyển lược đồ khối 43

Trang 6

2.2.1 Định nghĩa 43

2.2.2 Sự khác biệt giữa phép chuyển dịch lược đồ khối so với phép dịch chuyển lược đồ quan hệ 45

2.2.3 Một số thuật toán dịch chuyển lược đồ khối 46

2.2.4 Biểu diễn bao đóng qua phép dịch chuyển 48

2.2.5 Biểu diễn khóa qua phép dịch chuyển 51

2.2.6 Ví dụ 55

Kết luận chương 2 56

CHƯƠNG 3 CHƯƠNG TRÌNH THỬ NGHIỆM 58

3.1 Bài toán thử nghiệm 58

3.2 Phân tích và thiết kế chương trình thử nghiệm 59

3.2.1 Thủ tục dịch chuyển 59

3.2.2 Biểu diễn khóa qua phép dịch chuyển 60

3.2.3 Thiết kế chương trình 60

3.3 Cài đặt và thực hiện chương trình thử nghiệm 60

3.3.1 Yêu cầu hệ thống 60

3.3.2 Hệ thống dữ liệu vào/ra 61

3.3.3 Hệ thống giao diện 61

3.3.4 Kết quả thử nghiệm chương trình và đánh giá 62

Kết luận chương 3 67

KẾT LUẬN 68

TÀI LIỆU THAM KHẢO 69

Trang 7

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Luận văn này dùng thống nhất các ký hiệu và chữ viết tắt sau:

CSDL cơ sở dữ liệu

Dom(A) miền giá trị của thuộc tính A

LĐQH lược đồ quan hệ

r hoặc r(R) khối r trên tập R

Rx lát cắt của r(R) tại điểm x

x(i) = (x, Ai)

id(i)= {x(i)|x id}

các thuộc tính chỉ số của lược đồ khối (x id, i = 1 n)tập các thuộc tính chỉ số của lược đồ khối

Fh tập các phụ thuộc hàm trên R

Fhx tập các phụ thuộc hàm trên Rx

Trang 8

DANH MỤC CÁC HÌNH

Trang

Hình 1.1 Biểu diễn khối SANPHAM 7

Hình 1.2Ví dụ về phép hợp 10

Hình 1.3Ví dụ về phép giao 10

Hình 1.4 Ví dụ về phép trừ 11

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

Hình 3.2 Giao diện nhập dữ liệu 62

Trang 9

1 Lí do chọn lựa đề tài

MỞ ĐẦU

Ngày nay, công nghệ thông tin đã trở thành một nhân tố không thểthiếu được trong mọi lĩnh vực của đời sống xã hội Sự bùng nổ nhu cầu xâydựng các hệ thống thông tin, mà trước hết là các hệ thống thông tin quản lý đãtrở thành hướng nghiên cứu và quan tâm của rất nhiều nhà khoa học cũng nhưngười sử dụng Các hệ thống cơ sở dữ liệu (CSDL) đã lần lượt xuất hiện Vàonhững năm 60, thế hệ đầu tiên của cơ sở dữ liệu ra đời dưới dạng các mô hìnhthực thể - liên kết (có đặc điểm nhận dạng đối tượng), mạng phân cấp Tiếpđến là vào những năm 70 thế hệ thứ hai của CSDL ra đời Đó là mô hình quan

hệ do E F Codd đề xuất Loại mô hình này đã đánh dấu mốc quan trọng về

cơ sở lý thuyết của các hệ thống CSDL Sở dĩ mô hình này được đánh giá caohơn cả vì nó được xây dựng dựa trên một cơ sở toán học chặt chẽ Tuy nhiên,

do các quan hệ có cấu trúc phẳng (tuyến tính) nên mô hình này chưa đủ đápứng đối với các ứng dụng phức tạp, các cơ sở dữ liệu có cấu trúc phi tuyến,…Trong những năm gần đây, việc nghiên cứu nhằm mở rộng mô hìnhquan hệ được nhiều nhà khoa học quan tâm Theo hướng nghiên cứu này đã

có một số hướng mở rộng mô hình quan hệ được đề xuất nghiên cứu như: môhình dữ liệu đa chiều; khối dữ liệu; kho dữ liệu; mô hình dữ liệu dạng khối Trong đó, ở mô hình dữ liệu dạng khối, các khối là khái niệm cơ bản được mởrộng từ các quan hệ trong mô hình quan hệ, các khối này có thể biểu diễn các

dữ liệu có tính chất động (biểu diễn các dữ liệu có thuộc tính thay đổi theothời gian, không gian…) có khả năng đáp ứng tốt đối với nhiều lớp bài toánphức tạp

Trong mô hình quan hệ, để giảm tính phức tạp của việc xác định baođóng, khóa trong các cơ sở dữ liệu lớn, phức tạp, người ta đã đề xuất phépdịch chuyển lược đồ quan hệ (LĐQH) Trong mô hình cơ sở dữ liệu dạng

Trang 10

khối, việc xác định khóa và bao đóng càng khó khăn hơn, chính vì vậy màphép dịch chuyển lược đồ khối đã được đề xuất với mục đích tương tự.

Mục tiêu của đề tài là tìm hiểu kỹ thuật thu gọn lược đồ khối dựa trênphép dịch chuyển lược đồ khối và phương pháp biểu diễn bao đóng và khóacủa lược đồ khối thông qua phép dịch chuyển với độ phức tạp thấp hơn so vớiphương pháp tìm bao đóng và khóa thông thường Đồng thời, nghiên cứuthuật toán và cài đặt chương trình thử nghiệm với thuật toán dịch chuyển lược

đồ khối và biểu diễn khóa của lược đồ khối qua phép dịch chuyển

2 Mục đích nghiên cứu

Mô hình dữ liệu dạng khối là một mở rộng của mô hình quan hệ với cáckhối cho phép biểu diễn các dữ liệu có tính chất động (biểu diễn các dữ liệu

có thuộc tính thay đổi theo thời gian) Tuy nhiên, các nghiên cứu về mô hình

dữ liệu này còn chưa nhiều

Đối với các cơ sở dữ liệu khối lớn và phức tạp, việc xác định khóa vàbao đóng là một việc khó Nhờ việc dịch chuyển lược đồ khối, việc tính baođóng và khóa có thể trở nên đơn giản hơn

3 Nhiệm vụ nghiên cứu

- Nghiên cứu tổng quan về mô hình dữ liệu dạng khối; một số kháiniệm và thuật toán liên quan

- Nghiên cứu phép dịch chuyển lược đồ khối trong mô hình dữ liệudạng khối và một số thuật toán dịch chuyển lược đồ khối

- Áp dụng thuật toán dịch chuyển trong bài toán thực tế

4 Đối tượng và phạm vi nghiên cứu:

nhẹ độ phức tạp trong việc tính bao đóng và khóa của khối

5 Phương pháp nghiên cứu

- Phương pháp nghiên cứu lý luận

Trang 11

- Phương pháp phân tích - tổng hợp.

- Phương pháp chuyên gia

6 Những đóng góp mới của đề tài

- Hệ thống hóa các khái niệm cơ bản về mô hình dữ liệu dạng khối; cácphép toán và thuật toán liên quan trên mô hình dữ liệu dạng khối

- Tìm hiểu phép dịch chuyển lược đồ khối trong mô hình dữ liệu dạngkhối và một số thuật toán dịch chuyển lược đồ khối

- Áp dụng thuật toán đó trên để xây dựng chương trình minh họa khả năng dịch chuyển khối và biểu diễn khóa qua phép dịch chuyển

7 Cấu trúc luận văn

Các nội dung nghiên cứu của đề tài luận văn được cấu trúc thành 3chương như sau:

Chương 1 Mô hình dữ liệu dạng khối

Giới thiệu tóm tắt về các mô hình dữ liệu Các khái niệm cơ bản về môhình dữ liệu dạng khối như: Định nghĩa khối, lát cắt, lược đồ khối ; các phéptính trên khối

Một số khái niệm về bao đóng, khóa, phụ thuộc hàm trong mô hình

dữ liệu dạng khối Tìm hiểu một số thuật toán tìm bao đóng và khóa của lược

đồ khối

Chương 2 Phép dịch chuyển lược đồ khối

Giới thiệu sơ lược về phép dịch chuyển LĐQH trong mô hình quan hệ

và một số vấn đề liên quan

Tìm hiểu về phép dịch chuyển và thuật toán dịch chuyển lược đồ khốitrong mô hình dữ liệu dạng khối Đưa ra phương pháp biểu diễn bao đóng vàkhóa của lược đồ khối thông qua phép dịch chuyển

Chương 3 Chương trình thử nghiệm

Tiến hành cài đặt các thuật toán dịch chuyển lược đồ khối trong môhình dữ liệu dạng khối

Trang 12

CHƯƠNG 1 MÔ HÌNH DỮ LIỆU DẠNG KHỐI

1.1 Một số mô hình dữ liệu tiêu biểu

1.1.1 Mô hình dữ liệu quan hệ

Khái niệm toán học làm nền tảng cho mô hình quan hệ là các quan hệtheo lý thuyết tập hợp Đó là tập con của tích Đề-Các của một danh sách cácmiền, mỗi miền đơn giản là một tập các giá trị Ta có thể xem một quan hệnhư một bảng, trong đó mỗi hàng là một bộ và mỗi cột là một thuộc tính

Ta cũng có thể biểu diễn một sơ đồ thực thể-liên kết trong mô hìnhquan hệ Khi đó, các dữ liệu của sơ đồ thực thể-liên kết được biểu diễn bởi hailoại quan hệ:

- Một tập thực thể E có thể được biểu diễn bởi một quan hệ mà LĐQHcủa nó chứa tất cả các thuộc tính của tập thực thể đó Mỗi bộ của quan hệ biểudiễn một thực thể trong thể hiện của E

- Mối liên hệ giữa các tập E1, E2, , Ek được biểu diễn bởi một quan hệ

có LĐQH chứa các thuộc tính trong các khóa của E1, E2, , Ek Bằng cách đặtlại tên cho các thuộc tính nếu cần, ta đảm bảo rằng không có hai tập thực thểtrong danh sách có các thuộc tính cùng tên, ngay cả khi hai tập thực thể nàychỉ là một

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

Mô hình dữ liệu hướng đối tượng có một số đặc điểm sau:

Đặc tính nhận dạng đối tượng (Object identity): Các thành phần chúng

xử lý điển hình là những mẩu tin, có địa chỉ duy nhất giống như trong môhình mạng và mô hình phân cấp

Các đối tượng phức (Complex object): cho phép xây dựng một kiểumới bằng thao tác tạo lập mẫu tin hoặc tạo lập tập hợp

Trang 13

Phân cấp theo kiểu (Type hierachy): Cho phép những kiểu có thể cónhững kiểu con và có thuộc tính riêng.

Tất cả các cấu trúc đối tượng (object structure) được định nghĩa trong

mô hình này rất gần với tập các lược đồ cho các mẫu tin cơ sở dữ liệu trong

mô hình phân cấp

Một mô hình hướng đối tượng không bị giới hạn trong khái niệm kiểuđối tượng Khái niệm cơ bản thực sự là lớp (class), đó là một kiểu đối tượnglàm cấu trúc dữ liệu nền tảng và một tập hợp các phương pháp (method), đó làcác thao tác được thực hiện trên các đối tượng có cấu trúc thuộc về lớp đó

Mô hình hướng đối tượng gắn liền với mô hình phân cấp theo nghĩa lànếu được cho trước một lược đồ phân cấp nào đó, ta có thể mô phỏng nótrong mô hình hướng đối tượng bằng cách xem các con của một nút (gồm tất

cả các con là các kiểu mẫu tin ảo) trong lược đồ phân cấp như là các trườngtrong một cấu trúc đối tượng ứng với n Các cấu trúc đối tượng cho các concủa n lại có các con của chúng là các trường Như vậy, mô hình hướng đốitượng có thể diễn tả mọi cấu trúc của mô hình thực thể-liên kiết, tuy nhiên đểđảm bảo yêu cầu truy xuất hiệu quả các thông tin cần thiết trong các cấu trúcđối tượng cũng không phải là một công việc đơn giản

1.1.3 Mô hình dữ liệu dạng khối

Mô hình dữ liệu dạng khối là một mở rộng của mô hình quan hệ, khi

đó, mô hình quan hệ có thể được coi là một trường họp đặc biệt của mô hình

dữ liệu dạng khối Các nội dung cụ thể sẽ được trình bày trong phần tiếp theocủa luận văn

1.2 Khối, lược đồ khối và các đặc trưng cơ bản

1.2.1 Khái niệm khối và lược đồ khối

Khái niệm toán học làm nền tảng cho mô hình dữ liệu dạng khối là cáckhối hiểu theo nghĩa của lý thuyết tập hợp Khối được định nghĩa như sau:

Trang 14

Định nghĩa 1.1[4], [7]

Gọi R=(id;A1, A2,…, An) là một bộ hữu hạn các phần tử, trong đó id làtập chỉ số hữu hạn khác rỗng, Ai (i=1 n) là các thuộc tính Mỗi thuộc tính Ai(i=1 n) có miền giá trị tương ứng là Dom(Ai) Một khối r trên R, ký hiệu r(R),gồm một số hữu hạn phần tử mà mỗi phần tử là một họ ánh xạ từ tập chỉ số idđến các miền giá trị của các thuộc tính Ai (i=1 n)

Nói một cách khác:

t r(R) t = {ti: id Dom(Ai)} i=1 n

Ta ký kiệu khối đó là r(R) hoặc r(id; A1, A2,…, An), đôi khi nếu không

sợ nhầm lẫn, ta ký hiệu đơn giản là r

Khi đó, khối r(R) được gọi là có lược đồ khối R Như vậy, trên cùngmột lược đồ khối R, ta có thể xây dựng được nhiều khối khác nhau

Ví dụ 1.1

Xây dựng khối sản phẩm (ký hiệu SP(R)) để quản lý sản phẩm của mộtcông ty: cho lược đồ khối R = (id; A1, A2, A3, A4) trong đó:

id = {1/2014, 2/2014, 3/2014, , 12/2014} và các thuộc tính A1 = ma(mã), A2 = ten (tên), A3 = c_luong (chất lượng), A4 = gia (giá)

Hình 1.1 Biểu diễn khối SANPHAM

Trang 15

1 n , t

i i

r R x t x {t x t }i r(R),

ti (x),i 1 nx

Với khối SP(R) ở hình trên thì nó gồm 3 phần tử t1, t2, t3

Chất lượng của sản phẩm t1 ở thời điểm tháng 2 năm 2014 là:

t1(2/2014, c_luong) = Tot

Mã số của sản phẩm t2 ở thời điểm tháng 1 năm 2014 là:

t2(1/2014, ma) = A02Tên của sản phẩm t3 ở thời điểm tháng 3 năm 2014 là:

t3(3/2014, ten) = CGiá của sản phẩm t2 ở thời điểm tháng 1 năm 2014 là:

t2(1/2014, gia) = 400

Định nghĩa 1.2[4], [7]

Cho R = (id; A1, A2,…, An), r(R) là một khối trên R Với mỗi x id, ta

ký hiệu r(Rx) là một khối với Rx = ({x}; A1, A2,…, An) sao cho:

t x

xvới t = {ti: id Dom(Ai)} i=1 n

ở đây ti

(x) Khi đó, t(Rx) được gọi là một lát cắt trên khối r(R) tại điểm x

Ví dụ 1.2

Với khối SP(R) đã cho ở trên, R = (id; A1, A2, A3, A4) trong đó:

id = {1/2014, 2/2014, 3/2014, , 12/2014} và các thuộc tính A1 = ma (mã),

A2 = ten (tên), A3 = c_luong (chất lượng), A4 = gia (giá)

Nếu x = 1/2014 id thì lát cắt r(R1/2014) có dạng như sau:

r(R1/2014): ma ten c_luong gia

Trang 16

Nhận xét

Cho R = (id; A1, A2,…, An), r(R) là một khối trên R Với mỗi x id, thìlát cắt r(Rx) là một quan hệ Trong trường hợp tập chỉ số id gồm một phần tửthì r(R) trở thành một quan hệ

Như vậy, mỗi quan hệ r(A1, A2,…, An) là một trường hợp đặc biệt củakhối, đó chính là khối r(R) với R = ({x}; A1, A2,…, An)

Mệnh đề 1.1[4], [7]

Cho lược đồ khối R = (id; A1, A2,…, An), r(R) là một khối trên R, khi

đó tồn tại một họ quan hệ (hiểu theo nghĩa tập hợp) duy nhất biểu diễn họ{r(Rx)}x id các lát cắt của khối r(R) Ngược lại không đúng, nghĩa là với một

họ quan hệ cho trước biểu diễn họ các lát cắt của một khối nào đó thì khối tìmđược không duy nhất

1.2.2 Các phép tính cơ bản trên khối

Các phép tính cơ bản thường được áp dụng cho một cơ sở dữ liệu là:

- Phép chèn (insert)

- Phép loại bỏ (delete)

- Phép sửa đổi (change)

Trong mô hình dữ liệu dạng khối, các phép tính này cũng được áp dụngcho từng phần tử của các khối lưu trữ trong máy Cụ thể

- Phép chèn (insert)[4], [7]

Cho lược đồ khối R = (id; A1, A2,…, An), r(R) là một khối trên R

Khi chèn thêm một phần tử t0 vào khối r, ta có:

Trang 17

Phép loại bỏ là phép xóa một phần tử ra khỏi một khối cho trước.Chẳng hạn, loại phần tử t0 vào khối r(R), có dạng:

r = r - {t0}, t0 = (t10, t2 0 0,…, tn )

DEL(r, t1 = t10, t2 = t2 0 0,…, tn = tn )

Ở đây, để xác định phần tử cần loại bỏ, ta phải dùng bộ ánh xạ (t1, t2,…,

tn) Nghĩa là, ta phải thực hiện các phép so sánh: t1 = t1 0 0 0, t2=t2 ,…, tn = tn đểxác định phần tử t0 như ở trên

- Phép sửa đổi (change)[4], [7]

* Đại số trên khối [4], [7]

Cho r là một khối trên R = (id; A1, A2,…, An) Tương tự như đại sốquan hệ trong mô hình dữ liệu quan hệ, ở đây, các phép toán của đại số quan

hệ được áp dụng cho các khối như: phép hợp, phép giao,phép trừ, phép chiếu,phép chọn, phép kết nối, phép chia Ngoài ra, phép nối dài là phép toán mớiđược xây dựng

Hai khối r và s được gọi là khả hợp nếu chúng có cùng một lược đồ khối

- Phép hợp

Cho hai khối r và s khả hợp, khi đó hợp của r và s, ký hiệu r s là mộtkhối gồm các phần tử thuộc khối r hoặc thuộc khối s đã cho

Ta có: r s = {t | t r hoặc t s}

Trang 18

t 1 2/2014

t

A02 A03

A02 B C C

B t1

2/2014

t 2

A01 A A02 B

A02 B 1/2014 2

A03 1/2014

A03

t3 C A03

C 1/2014 2/2014

A02

A01 A A B

t 1 A01

A A01

A B

B t2

C 2/2014 C

A02

B A02 1/2014

Trang 19

ma ten

B A02

t 3 2/2014

r s = {t | t(R) r và t(S) s},

trong đó: t = (t1, t2,…, tn, tn+1,…, tn+m),

t(R) = (t1, t2,…, tn), t(S) = (tn+1,…, tn+m)

Trang 20

i1 i 2 ih ij 1 2 n 1 2 n

P (r) {(t ,t , ,t ) | t {t ,t , ,t }, j=1 h, (t ,t , ,t ) r}

- Tích Đề-các theo tập chỉ số

Cho lược đồ khối R = (id; A1, A2,…, An), S =(id’; A1, A2,…, An) Khi

đó, tích Đề-các của hai khối r(R) và s(S) theo tập chỉ số là một khối, ký hiệu

r id s, khối này có khung R id S=(id ∐ id’; A1, A2,…, An), với id ∐ id’ là

ký hiệu tích rời rạc của hai tập chỉ số id và id’ Mỗi phần tử thuộc khối này

là một bộ gồm n ánh xạ(t1, t2,…, tn) với ti: id ∐ id’ → Ai, với i = 1 n, mỗi ánh

xạ này được cảm sinh từhai ánh xạ thứ i tương ứng của r và s

Cho lược đồ khối R = (id; A1, A2,…, An), r là một khối trên R Khi đó,

ta gọi P = (id’; Ai1, Ai2,…, Aih) là lược đồ con của lược đồ R nếu:

Biểu diễn theo hình thức của phép chiếu có dạng:

- Phép chọn

id '

Cho lược đồ khối R = (id; A1, A2,…, An), và khối r(R)

Trang 21

Cho một phép chọn, nghĩa là ta xây dựng một tập con các phần tử củakhối đã cho thỏa mãn biểu thức F cho trước Biểu thức F được diễn tả bằng một

tổ hợp Boole của các toán hạng, mỗi toán hạng là một phép so sánh đơn giảngiữa hai biến là hai giá trị điểm của hai ánh xạ thành phần nào đó hoặcgiữa một biến là giá trị điểm của một ánh xạ thành phần và một hằng Cácphép so sánh trong F là: <, >, =, , , , còn các phép toán logic trong F là: ,,

Biểu diễn hình thức của phép chọn có dạng:

Nếu hai tập {A1, A2,…, An}và {B1, B2,…, Bm} không giao nhau thì r* strở thành tích Đề-các của hai khối đã cho

Ta có thể mở rộng khái niệm kết nối như sau:

Trang 22

Khi đó, phép kết nối của r và s theo Ai1, Ai2,…, Aih và Bi1, Bi2,…, Bih làkhối t(T), khối này được định nghĩa là:

ik ik

t(T) = {t | tr r và ts s sao cho t(R) =tr, t(S) = ts, tr = ts , 1 k h},trong đó tr = (t1 r r r s s s s, t2 ,…, tn ), t = (t1 , t2 ,…, tm )

Thay cho ký hiệu r ⨝ s, ở đây ta ký hiệu rõ hơn:

ik

t(T) = r [trik = ts

- Phép chia

, 1 k h] s

Cho hai khối r(id; A1, A2,…, An) và s(id; Ai1, Ai2,…, Aih), trong đó,

Aik {A1, A2,…, An}, k =1 h Khi đó, phép chia của khối r cho khối s, kýhiệu r s, là một khối gồm các phần tử t = (t1, t2, …, tn-h) sao cho:

thì khi đó, ta xây dựng được một phần tử mới có dạng:

u = (u1, u2, …, un) vớiuh: id id’ Dom(Ah)sao cho:

Trang 23

t h , u h k h , h 1 n

1,n j 1,n j 1,n

{u (u j ) | (u j j ) r và (u jn ) s}

i 1 (i

1.2.3 Khái niệm phụ thuộc hàm

Để đơn giản, ta sử dụng các ký hiệu:

x(i) = (x; Ai); id(i) = (x(i)| x id)

Ta gọi x(i) (x id, i = 1 n) là các thuộc tính chỉ số của lược đồ khối R = (id; A1, A2,…, An)

Định nghĩa 1.3[4], [7]

Cho R = (id; A1, A2,…, An), r(R) là một khối trên R, X, Y n id ,

X Y là ký hiệu mộtphụ thuộc hàm (PTH) Một khối r thỏa X Y nếu với mọi t1, t2 R sao cho t1(X)= t2(X) thì t1(Y)= t2(Y)

Định nghĩa 1.4[4], [7]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập cácPTH trên R

Khi đó, bao đóng của F, ký hiệu F+ được xác định như sau:

Trang 24

Cho R = (id; A1, A2,…, An), r(R) là một khối trên R,

x(m) id(m),x(k) id(k) Khi đó, nếu r thỏaPTHx(m) x(k) thì đối với mọi y

id, r thỏa y(m) y(k)

Mệnh đề 1.4[4], [7]

Cho R=(id; A1, A2,…, An), r(R) là một khối trên R,

x(m),y(m) id(m),x(k),y(k) id(k) Khi đó, nếu r thỏa cácPTHx(m) y(m) và x(m)

id , ta định nghĩa bao đóng của X đối với F, ký hiệu

X+ = {x(i), x id, i = 1 n | X x(i) F}

Cho lược đồ khối R = (id; A1, A2,…, An), ta ký hiệu tập cácPTH trên R:

Fh = {X Y|X =  x(i ) , Y =  x(i ) , A, B {1, 2,… n}, x id},

Trang 25

Khi đó, dựa vào thuật toán tính bao đóng ở trên, ta có thể tính bao đóng

M+ của M đối với Fh Từ quá trình tính bao đóng của M đối với Fh, ta thấy đóchính là các quá trình tính bao đóng của các tập thuộc tính chỉ số Mx (x A)đối với các tậpPTH tương ứng Fhx (x A)

Trang 27

i 1

Mx+ =M+ 

n

x (i) là bao đóng của Mx đối với Fhx

Trang 28

i 1

end;

if Y then X+ := X+ BAODONG(Y,Fhx,R);

return(X+)End BAODONG2;

1.2.5 Khóa của lược đồ khối R đối với tập F trên R

Trang 29

Nếu K là khóa và K K’’ thì K’’ gọi là siêu khóa của lược đồ R đối

Từ định nghĩa của khóa, ta có thuật toán tìm khóa của lược đồ khối Rđối với tập cácPTH F trên R như sau:

Thuật toán 1.3(Tìm một khóa của lược đồ khối)[4], [7]

K là khóa của Rx đối vớiFhx

Giả sử K là khóa của R đối với Fh, khi đó, theo định nghĩa khóa thì bao

nđóng K+ của K thỏa mãn K+ = id(i ) và mọiK’ K không có tính chất này

Trang 30

nNhư vậy Kx+ =  x (i )

Để có Kx là khóa của Rx đối với Fhx, ta còn phải chứng minh rằng:

Rx tương ứng, Kx id , x id Khi đó, nếu Kx là khóa của Rx đối với Fhx

thì K = K x là khóa của R đối vớiFh.

x

K+ =id(i )

nGiả sử có K’ K, mà K’+ = id(i )

Khi đó, (K’

n

 x ) (K

n

 x ), x id

Trang 31

0

(i ) ) Mà

theo giả thiết thì K ' =

thuẫn với giả thiết K ' là khóa của

K là khóa của Rx đối với Fhx

Cho lược đồ khối R = (id; A1, A2,…, An), Fh, Fhx là tập cácPTH trên R,

Rx tương ứng, K n id , x id Khi đó, nếux với A {1, 2, …, n}là(i)khóa của Rx đối với Fhx thì

(i )

là khóa của lược đồ R đối vớiFh

1.2.6 Các dạng chuẩn, tựa chuẩn và tựa chuẩn hóa trên lược đồ khối

Định nghĩa 1.7[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Tagọi lược đồ khối R thuộc dạng chuẩn 1 nếu và chỉ nếu toàn bộ các miền giátrị của các thuộc tính x(i), x id, i {1, 2, …,n} đều chỉ chứa các giá trịnguyên tố

Mệnh đề 1.11[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Rthuộc dạng chuẩn 1 Khi đó, nếu id = {x} thì lược đồ khối R suy biến thành

Trang 32

LĐQH ở dạng chuẩn 1 trong mô hình dữ liệu quan hệ.

Trang 33

i 1

Định nghĩa 1.8[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R; X, Yn

id(i ) Ta nói Y phụ thuộc hàm đầy đủ vào X nếu Y là phụ thuộc hàm vào

X nhưng không phụ thuộc hàm vào bất kỳ một tập con thực sự nào của X

Định nghĩa 1.9[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Tagọi lược đồ khối R thuộc dạng chuẩn 2 nếu nó ở dạng chuẩn 1 và mọi thuộctính không khóa của R đều là PTH đầy đủ vào khóa

Mệnh đề 1.12[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Rthuộc dạng chuẩn 2 Khi đó, nếu id = {x} thì lược đồ khối R suy biến thànhLĐQH ở dạng chuẩn 2 trong mô hình dữ liệu quan hệ

Mệnh đề 1.13[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), và Fh là tập các PTH trên R

R thuộc dạng chuẩn 2 Khi đó, R thuộc dạng chuẩn 2 thì với mọi x id, Rxcũng ở dạng chuẩn 2

Định nghĩa 1.10[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Tagọi lược đồ khối R thuộc dạng chuẩn 3 nếu nó ở dạng chuẩn 2 và mọi thuộctính không khóa của R đều là không PTH bắc cầu vào khóa

Mệnh đề 1.14[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Rthuộc dạng chuẩn 3 Khi đó, nếu id = {x} thì lược đồ khối R suy biến thànhLĐQH ở dạng chuẩn 3 trong mô hình dữ liệu quan hệ

Mệnh đề 1.15[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), và Fh là tập các PTH trên R

R thuộc dạng chuẩn 3 Khi đó, R thuộc dạng chuẩn 3 thì với mọi x id, Rxcũng ở dạng chuẩn 3

Trang 34

i 1

Định nghĩa 1.11[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R; X n

id(i ) Ta gọi lược đồ khối R thuộc dạng Boye-Codd nếu X x(i) thỏa trên

R, x(i) X, x id, i {1, 2, …, n} thì X là một khóa của R

Mệnh đề 1.16[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Rthuộc dạng chuẩn Boye-Codd Khi đó, nếu id = {x} thì lược đồ khối R suybiến thành LĐQH ở dạng chuẩn Boye-Codd trong mô hình dữ liệu quan hệ

Mệnh đề 1.17[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Khi

đó, R thuộc dạng chuẩn Boye-Codd thì R ở dạng chuẩn 3

Mệnh đề 1.18[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), Fh là tập các PTH trên R.Khi đó, R thuộc dạng chuẩn Boye-Codd thì x id, Rx cũng ở dạng chuẩnBoye-Codd

Trang 35

Mệnh đề 1.19[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Khi

đó, nếu x id sao cho Rx thuộc dạng chuẩn 2 (dạng chuẩn 3, dạng chuẩnBoye-Codd) thì y id, ta có Ry thuộc dạng chuẩn 2 (dạng chuẩn 3, dạngchuẩn Boye-Codd)

Mệnh đề 1.20[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Khi

đó, nếu x id sao cho Rx thuộc dạng tựa chuẩn 2 (dạng tựa chuẩn 3, dạngtựa chuẩn Boye-Codd) thì y id, ta có Ry thuộc dạng tựa chuẩn 2 (dạng tựachuẩn 3, dạng tựa chuẩn Boye-Codd)

Mệnh đề 1.21[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Khi

đó, nếu R thuộc dạng tựa chuẩn 2 thì R thuộc dạng tựa chuẩn 1

Mệnh đề 1.22[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Khi

đó, nếu R thuộc dạng tựa chuẩn 3 thì R thuộc dạng chuẩn 2

Mệnh đề 1.23[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Khi

đó, nếu R thuộc dạng tựa chuẩn Boye-Codd thì R thuộc dạng chuẩn 3

Mệnh đề 1.24[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R Khi

đó, nếu x id sao cho Rx thuộc dạng chuẩn 2 (chuẩn 3, chuẩn Boye-Codd)thì R thuộc dạng tựa chuẩn 2 (dạng tựa chuẩn 3, dạng tựa chuẩn Boye-Codd)

Mệnh đề 1.25[3], [5]

Cho lược đồ khối R = (id; A1, A2,…, An), Fh là tập các PTH trên R Khi

đó, nếu x id sao cho mọi thuộc tính Rx đều là thuộc tính khóa thì R thuộcdạng chuẩn 3

Trang 36

a Phép tách không mất mát thông tin

Cho lược đồ khối R = (id; A1, A2,…, An), F là tập các PTH trên R, ={R1, R2,…, Rk} là một phép tách của R Khi đó, ta nói phép tách này là khôngmất thông tin đối với F nếu với mọi khối r trên R thỏa F thì:

r = R1(r)* R2(r)*…* Rk(r) (1)Nói cách khác, khối r là kết nối tự nhiên của các khối là phép chiếu của

Trang 37

Nếu Fhx là như nhau x id thì ta chỉ việc chọn F*h = Fh.

Nếu các Fhx (x id) không giống nhau thì ta tiến hành như sau:

+ Lần lượt duyệt từng Fhx, với mỗi phụ thuộc X Y Fhx, X =  x ,

x , A, B {1, 2, …, n} ta bổ sung vào các Fhy PTH X’ Y’ Fhy,

 y , Y’ =  y

+ Sau cùng, ta đặt F*h = Fhx .

xKhi đó F*h chính là tập đầy đủ các PTH thỏa mãn:

Fh F*h Fh+

Thuật toán 1.4(Khẳng định phép tách có mất thông tin hay không)

Để kiểm tra tính bảo toàn thông tin của phép tách trên lược đồ khối, tachuyển về kiểm tra tính bảo toàn thông tin trên một lát cắt tùy ý

Input: Lược đồ khối R = (id; A1, A2,…, An), tập đầy đủ các PTH Fh trên

Trang 38

id x

Ta xét Fhx với một x nào đó, với mỗi PTH X Y Fhx, nếu tồn tại haihàng mà tất cả các cột tương ứng với các thuộc tính của X có giá trị như nhauthì ta làm cho các cột ứng với các thuộc tính của Y cũng có giá trị như nhautrong hai hàng này theo nguyên tắc: Nếu có một ký hiệu aj trong các cột ứngvới các thuộc tính của Y thì đồng nhất các ký hiệu là aj, ngược lại đồng nhấtbằng một trong các ký hiệu bij Tiếp tục áp dụng các PTH cho bảng (kể cảviệc lặp lại các PTH đã áp dụng) cho tới khi không thể thay đổi được giá trịnào trong bảng nữa

Nếu trong bảng có một hàng gồm các ký hiệu a1, a2, , an thì phép táchkhông bảo toàn thông tin

Theo thuật toán trên, ta có Rx, x id có phép tách bảo toàn thông tin

x = {R1x, R2x, , Rkx}, Rix = (x; Xi), Xi {A1, A2, , An}, i = 1 k

Mặt khác, Fh là tập đầy đủ các PTH nên Fhx là như nhau đối với mọi látcắt Rx Như vậy, các phép tách x = {R1x, R2x, , Rkx} cũng là như nhau đốivới mọi lát cắt Rx

Trang 39

Chứng minh

Bằng cách chuyển về xét trên lát cắt Rx, thì khi đó Rx là một quan hệ vàđiều kiện cần và đủ nêu trong mệnh đề này chính là nội dung của định lýRisanen (1977) đã biết trong mô hình quan hệ Từ tổ hợp của các phép táchtrên các lát cắt (các phép tách này giống nhau) tạo thành phép tách trên khối

Ta suy ra điều cần chứng minh

Cho lược đồ khối R = (id; A1, A2,…, An), Fh là tập đầy đủ các PTH trên

R, = {R1, R2, ,Rk} là một phép tách của R Fhi là hình chiếu của Fh lên Ri,

ký hiệu Ri(Fh), là tập tất cả các PTH X Y Fh sao cho XY là tập thuộctính của Ri Khi đó, ta nói phép tách này bảo toàn tập PTH Fh nếu hợp của tất

cả các PTH trong Ri(Fh) với i = 1 k suy diễn logic ra tất cả các PTH trong Fh

Mệnh đề 1.29[3]

Cho lược đồ khối R = (id; A1, A2,…, An), Fh là tập đầy đủ các PTH trên

R, = {R1, R2, , Rk} là một phép tách không mất thông tin của R đối với Fh.Với mỗi i = 1, 2, , k, ta gọi Fhi là hình chiếu của Fh lên Ri và đặt = (S1, S2, , Sm) là một phép tách không mất thông tin của Ri đối với Fhi Khi đó, phéptách R thành (R1, R2, , Ri-1, S1, S2, , Sm, Ri+1, , Rk) là không mất thông tinđối với Fh

Giả sử có R, Fh, như đã nói ở trên, = (R1, R2, , Rk, Rk+1, , Rn) làmột phép tách của R chứa các lược đồ của thì là một phép tách không mấtthông tin

Ngày đăng: 14/10/2018, 11:29

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Kim Anh (2002), “Đại số khối trên các cơ sở dữ liệu đa chiều”, Tạp chí Tin học và Điều khiển học, 18(2), tr. 149-154 Sách, tạp chí
Tiêu đề: Đại số khối trên các cơ sở dữ liệu đachiều”, "Tạp chí Tin học và Điều khiển học
Tác giả: Nguyễn Kim Anh
Năm: 2002
[2] Nguyễn Xuân Huy (2006), Các phụ thuộc logic trong cơ sở dữ liệu, Nhà xuất bản Thống kê, Hà Nội Sách, tạp chí
Tiêu đề: Các phụ thuộc logic trong cơ sở dữ liệu
Tác giả: Nguyễn Xuân Huy
Nhà XB: Nhà xuất bản Thống kê
Năm: 2006
[3] Lê Văn Phùng (2010), Cơ sở dữ liệu quan hệ và Công nghệ phân tích-Thiết kế, Nhà xuất bản Thông tin và Truyền thông, Hà Nội Sách, tạp chí
Tiêu đề: Cơ sở dữ liệu quan hệ và Công nghệ phântích-Thiết kế
Tác giả: Lê Văn Phùng
Nhà XB: Nhà xuất bản Thông tin và Truyền thông
Năm: 2010
[4] Trịnh Đình Thắng (2011), Mô hình dữ liệu dạng khối, Nhà xuất bản Lao Động, Hà Nội Sách, tạp chí
Tiêu đề: Mô hình dữ liệu dạng khối
Tác giả: Trịnh Đình Thắng
Nhà XB: Nhà xuất bảnLao Động
Năm: 2011
[5]Vũ Đức Thi (1997), Cơ sở dữ liệu: Kiến thức và thực hành, NXB Thống Kê, Hà Nội Sách, tạp chí
Tiêu đề: Cơ sở dữ liệu: Kiến thức và thực hành
Tác giả: Vũ Đức Thi
Nhà XB: NXBThống Kê
Năm: 1997
[6] Vũ Đức Thi (2010), Giáo trình Cơ sở dữ liệu nâng cao, Nhà xuất bản Đại học Thái Nguyên, Thái Nguyên Sách, tạp chí
Tiêu đề: Giáo trình Cơ sở dữ liệu nâng cao
Tác giả: Vũ Đức Thi
Nhà XB: Nhà xuấtbản Đại học Thái Nguyên
Năm: 2010
[7] Trịnh Đình Vinh (2011), Một số phụ thuộc dữ liệu trong cơ sở dữ liệu dạng khối, Luận án tiến sĩ toán học, Hà Nội.B. Tiếng Anh Sách, tạp chí
Tiêu đề: Một số phụ thuộc dữ liệu trong cơ sở dữliệu dạng khối
Tác giả: Trịnh Đình Vinh
Năm: 2011
[8] C. Stolte, D. Tang, and P. Hanrahan. Polaris (2002): “A System for Query, Analysis, and Visualization of Multi-dimensional Relational Databases”. In IEEE Trans. On Visualization and Computer Graphics, 8(1), pp. 52-65 Sách, tạp chí
Tiêu đề: A System forQuery, Analysis, and Visualization of Multi-dimensional RelationalDatabases”. "In IEEE Trans. On Visualization and Computer Graphics
Tác giả: C. Stolte, D. Tang, and P. Hanrahan. Polaris
Năm: 2002
[9] Demetrovics J, Ho Thuan, Nguyen Xuan Huy, Le Van Bao (1986), Translations of relation schemes, balanced relation scheme and the problem of key representation, EIK, Berlin Sách, tạp chí
Tiêu đề: Translations of relation schemes, balanced relation scheme and the problemof key representation
Tác giả: Demetrovics J, Ho Thuan, Nguyen Xuan Huy, Le Van Bao
Năm: 1986
[10] E. Rundensteiner, M. Ward, J. Yang, and P. Doshi. XmdvTool (2002): “VisualInteractive Data Exploration and Trend Discovery of High- dimensional Data Sets”. In Proc. ACM SIGMOD 2002 Sách, tạp chí
Tiêu đề: VisualInteractive Data Exploration and Trend Discovery of High-dimensional Data Sets”
Tác giả: E. Rundensteiner, M. Ward, J. Yang, and P. Doshi. XmdvTool
Năm: 2002
[11] Harinarayan V., Rajaraman A., and Ullman J. D. (1996),“Implementing data cubes efficiently”, SIGMOD Sách, tạp chí
Tiêu đề: Implementing data cubes efficiently
Tác giả: Harinarayan V., Rajaraman A., and Ullman J. D
Năm: 1996

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w