1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Các dạng biểu diễn của khóa qua phép dịch chuyển lược đồ khối (2018)

60 130 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 60
Dung lượng 1,09 MB

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

Nội dung

Một số dạng biểu diễn của khóa qua phép dịch chuyển lược đồ quan hệ 19 CHƯƠNG 2.. Ở mô hình này, các khái niệm cơ bản của khối được mở rộng từ các quan hệ trong mô hình quan hệ, các khối

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 VIỆN CÔNG NGHỆ THÔNG TIN

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 VIỆN CÔNG NGHỆ THÔNG TIN

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là khóa luận tốt nghiệp nghiên cứu độc lập của riêng tôi Các định nghĩa, trích dẫn đã có nguồn gốc rõ ràng, được công bố đúng theo quy định của pháp luật Các ví dụ, nghiên cứu trong khóa luận tốt nghiệp do tôi

tự tìm hiểu một cách trung thực, khách quan Nếu có tranh chấp gì, tôi xin được chịu hoàn toàn trách nhiệm

Sinh viên nghiên cứu

Bùi Nhƣ Ngọc

Trang 4

LỜI CẢM ƠN

Trân trọng cảm ơn giảng viên hướng dẫn PGS.TS Trịnh Đình Thắng,

các thầy giáo, cô giáo giảng viên khoa Công nghệ thông tin trường Đại học Sư phạm Hà Nội 2 đã tạo điều kiện tốt nhất để tôi có thể thực hiện khóa luận tốt nghiệp

Sinh viên nghiên cứu

Bùi Nhƣ Ngọc

Trang 5

1.4 Bao đóng của tập phụ thuộc hàm và tập thuộc tính 13

1.7 Một số dạng biểu diễn của khóa qua phép dịch chuyển lược đồ quan hệ 19

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

2.2 Các phép toán đại số trên mô hình dữ liệu dạng khối 26

2.4 Bao đóng của tập thuộc tính chỉ số trong lược đồ khối 35

CHƯƠNG 3 KHÓA QUA PHÉP DỊCH CHUYỂN LƯỢC ĐỒ KHỐI 39

3.2 Biểu diễn khóa qua phép dịch chuyển lược đồ khối 413.3 Một số tính chất mở rộng của khóa qua phép dịch chuyển lược đồ khối 44

Trang 6

DANH MỤC KÝ HIỆU VÀ CHỮ CÁI VIẾT TẤT

Trang 7

Bảng 1.7 Biểu diễn quan hệ ∏ e 8 Bảng 1.8 Biểu diễn quan hệ Tienluong>6.000.000(Nhanvien) 9

Trang 8

DANH MỤC CÁC HÌNH VẼ

Trang 9

Để đáp ứng các nhu cầu sử dụng đa dạng, rất nhiều mô hình dữ liệu đã được ra nghiên cứu và ứng dụng Một số mô hình đang được sử dụng phổ biến trong hệ thống cơ sở dữ liệu toàn cầu như: mô hình thực thể - liên kết, mô hình mạng, mô hình phân cấp, mô hình quan hệ, Trong đó, mô hình quan hệ được đánh giá cao hơn do nó được xây dựng trên cơ sở toán học chặt chẽ Tuy nhiên

mô hình này chưa đủ đáp ứng với các ứng dụng phức tạp

Vì vậy, người ta đã nghiên cứu và ứng dụng rộng rãi mô hình dữ liệu dạng khối Ở mô hình này, các khái niệm cơ bản của khối được mở rộng từ các quan

hệ trong mô hình quan hệ, các khối có thể biểu diễn dữ liệu dưới dạng động, có khả năng giải quyết các bài toán phức tạp hơn

Trong mô hình dữ liệu quan hệ cũng như mô hình dữ liệu dạng khối, việc xác định khóa là vô cùng quan trọng Phép dịch chuyển lược đồ được đề xuất và nghiên cứu nhằm giảm tính phức tạp trong việc tìm ra khóa Để góp phần hoàn

thiện thêm về mô hình dữ liệu dạng khối, em xin chọn đề tài: Các dạng biểu diễn của khóa qua phép dịch chuyển lƣợc đồ khối

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

Tìm hiểu khái quát về mô hình dữ liệu dạng khối, sau đó đi sâu tìm hiểu

và nghiên cứu một số dạng biểu diễn của khóa qua phép dịch chuyển lược đồ khối

Trang 10

2

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

- Tìm hiểu về mô hình dữ liệu dạng khối

- Tìm hiểu về các dạng biểu diễn của khóa qua phép dịch chuyển lược đồ khối

- Phát biểu và chứng minh một số dạng biểu diễn mới của khóa qua phép dịch chuyển lược đồ khối

- Minh họa một số ví dụ

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

Đối tượng: Khóa và phép dịch chuyển lược đồ khối

Phạm vi: Mô hình dữ liệu dạng khối

5 Ý nghĩa khoa học và thực tiễn của đề tài

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

- Bổ sung thêm một số tính chất về biểu diễn khóa qua phép dịch chuyển lược đồ khối

- Có thể sử dụng các kết quả đã có trong việc xây dựng CSDL thực tế

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

Phương pháp tổng hợp, phân tích các vấn đề liên quan đến đề tài

Phương pháp lý luận và chứng minh

Trang 11

3

CHƯƠNG 1 MÔ HÌNH DỮ LIỆU QUAN HỆ

Chương 1 trình bày một số khái niệm cơ bản nhất trong mô hình dữ liệu quan hệ, các phép toán cơ bản , định nghĩa về phụ thuộc hàm, bao đóng của tập phụ thuộc hàm, bao đóng của tập thuộc tính, các tính chất của khóa cùng với thuật toán tìm khoá Các vấn đề trình bày ở chương 1 được tham khảo trong các tài liệu [5], [6]

Đối tượng Nhân viên (NV) có các thuộc tính như: Mã nhân viên (MaNV),

Họ tên (Hoten), Ngày sinh (NS), Địa chỉ (DC)

Miền giá trị của các thuộc tính của đối tượng NV:

Trang 12

4

Ta có thể xem một quan hệ như một bảng, trong đó mỗi hàng (phần tử) là một bộ và mỗi cột tương ứng với một thành phần gọi là thuộc tính Biểu diễn quan hệ r như sau:

MaNV: mã nhân viên Hoten: họ tên

NS: ngày sinh DC: địa chỉ

Bộ giá trị: (NV01, Nguyễn Thị A, 20/11/88, Hà Nội) là 1 phần tử của quan

hệ Nhanvien

Định nghĩa 1.3

Tập tất cả các thuộc tính trong một quan hệ cùng với mối liên hệ giữa

chúng được gọi là lược đồ quan hệ

Trang 13

Cho hai quan hệ r và s khả hợp Hợp của r và s ký hiệu r s là một quan

hệ gồm tất cả các phần tử thuộc r hoặc thuộc s Ta có: r s = {t | t r t s}

Ví dụ 1.3

Cho hai quan hệ NV1 và NV2

NV01 Nguyễn Thị A NV02 Đỗ Văn B

NV01 Nguyễn Thị A NV03 Vũ Thị C

Bảng 1.3 Biểu diễn quan hệ NVl NV2

NV01 Nguyễn Thị A NV02 Đỗ Văn B NV03 Vũ Thị C

1.2.2 Phép giao

Cho hai quan hệ r và s khả hợp Giao của r và s ký hiệu r ∩ s là một quan

hệ gồm tất cả các bộ thuộc r và thuộc s Ta có: r ∩ s = { t | t r ∧ t s}

Trang 14

Bảng 1.4 Biểu diễn quan hệ NVl ∩ NV2

NV01 Nguyễn Thị A NV02 Đỗ Văn B NV03 Vũ Thị C NV04 Phạm Văn D

NV01 Nguyễn Thị A NV03 Vũ Thị C

Bảng l.5 Biểu diễn quan hệ NVl - NV2

NV02 Đỗ Văn B NV04 Phạm Văn D

Trang 15

7

1.2.4 Tích Đề - các

Cho hai quan hệ r và s bất kỳ có tập thuộc tính lần lượt là U1 và U2 với

U1 ∩ U2 = Ø Tích Đề - các của r và s ký hiệu là: r x s là một quan hệ trên

U1 U2 gồm tập tất cả các bộ ghép được từ các bộ của r và s

Ta có: r x s = {t = (u, v) | u r, v s }

Ví dụ 1.6

Cho 2 quan hệ r và s

NV01 Nguyễn Thị A Văn thư NV02 Đỗ Văn B Phó phòng

Bảng l.6 Biểu diễn quan hệ r x s

Trang 16

NV01 Nguyễn Thị A Văn thư 4.500.000 NV02 Đỗ Văn B Phó phòng 6.300.000 NV03 Vũ Thị C Trưởng phòng 7.000.000 NV04 Phạm Văn D Kế toán 5.700.000

Bảng 1.7 Biểu diễn quan hệ ∏

NV01 Nguyễn Thị A 4.500.000 NV02 Đỗ Văn B 6.300.000 NV03 Vũ Thị C 7.000.000 NV04 Phạm Văn D 5.700.000

1.2.6 Phép chọn

Phép chọn là phép toán lọc lấy ra một tập con các phần tử của quan hệ đã cho thoả mãn một điều kiện xác định Điều kiện đó được gọi là điều kiện chọn hay biểu thức chọn, thường kí hiệu là F

Biểu thức chọn F được định nghĩa là một tổ hợp logic của các toán hạng, mỗi toán hạng là một phép so sánh đơn giản giữa hai biến là hai thuộc tính hoặc giữa một biến là một thuộc tính và một giá trị hằng Biểu thức chọn F cho giá trị đúng hoặc sai đối với mỗi bộ đã cho của quan hệ khi kiểm tra riêng bộ đó

- Các phép toán so sánh trong biểu thức F: >, <, =, >=, <=, < >

Trang 17

9

- Các phép toán logic trong biểu thức F: (và), v (hoặc), (phủ định) Cho r là một quan hệ và F là một biểu thức logic trên các thuộc tính của r Phép chọn trên quan hệ r với biểu thức chọn F, kí hiệu là F(r), là tập tất

NV01 Nguyễn Thị A Văn thư 4.500.000 NV02 Đỗ Văn B Phó phòng 6.300.000 NV03 Vũ Thị C Trưởng phòng 7.000.000 NV04 Phạm Văn D Kế toán 5.700.000

Bảng 1.8 Biểu diễn quan hệ Tienluong>6.000.000 (Nhanvien)

NV02 Đỗ Văn B Phó phòng 6.300.000 NV03 Vũ Thị C Trưởng phòng 7.000.000

1.2.7 Phép kết nối

Cho quan hệ r(U) và s(V) Đặt M=U ∩V Phép kết nối tự nhiên hai quan

hệ r(U) và s(V), ký hiệu r*s, cho ta quan hệ gồm các bộ được dán từ các bộ u của quan hệ r với mỗi bộ v của quan hệ s sao cho các trị trên miền thuộc tính chung M của hai bộ này giống nhau

r*s = {u*v│u r, v s, u.M=v.M}

Nếu M = U ∩V = Ф, r*s sẽ cho ta tích Đề - các, trong đó mỗi bộ của quan

hệ r sẽ được ghép với mọi bộ của quan hệ s

Trang 18

Bảng 1.9 Biểu diễn quan hệ r*s

Trang 19

Cho lược đồ quan hệ R xác định trên tập thuộc tính U; X,Y U; r là quan

hệ trên U Ta nói rằng X xác định hàm Y hay Y phụ thuộc hàm vào X và ký hiệu

X → Y nếu t1, t2 r mà t1(X) = t2(X) thì t1(Y) = t2(Y)

Ví dụ 1.11

Cho quan hệ

Trang 20

12

Trong quan hệ Nhanvien, dựa vào định nghĩa phụ thuộc hàm của quan hệ,

ta có quan hệ Nhanvien thỏa mãn 2 phụ thuộc hàm sau:

Trang 21

13

1.4 Bao đóng của tập phụ thuộc hàm và tập thuộc tính

1.4.1 Bao đóng của tập phụ thuộc hàm

Định nghĩa 1.5

Cho tập phụ thuộc hàm F, bao đóng của tập phụ thuộc hàm F ký hiệu F+

là tập lớn nhất chứa các phụ thuộc hàm được suy diễn từ các phụ thuộc hàm trong tập F, kí hiệu F+

= {f │F╞ f }

Các tính chất của bao đóng của tập phụ thuộc hàm:

Tính chất phản xạ: Với mọi tập phụ thuộc hàm F ta luôn có F F+

Tính chất đơn điệu: Nếu F G thì F+

G+ Tính chất lũy đẳng: Với mọi tập phụ thuộc hàm F ta luôn có (F+

Trang 22

1.4.3 Thuật toán tìm bao đóng của tập thuộc tính

Cho tập phụ thuộc hàm F trên tập thuộc tính U và một tập con các thuộc tính X trong U Để xác định bao đóng X+ của tập thuộc tính X ta xây dựng dãy bao nhau X(0) X(1) …  X(i) như sau

Xuất phát: Đặt X(0)

= X, Với i > 0, ta đặt X(i+1)

= X(i) R Nếu X(i+1)

= X(i) thì dừng thuật toán và cho kết quả X+ = X(i)Algorithm Baodong

Format: Baodong(X,F)

Input: - Tập phụ thuộc hàm F trên U

- Tập con thuộc tính X của U

return Y;

EndBaodong

Thuật toán trên có độ phức tạp theo chiều dài dữ liệu đầu vào O(mn2

),

Trang 23

Vậy từ (1) và (2) ta suy ra Y→ A ⇒ A Y+

3 Giả sử X+ =A1A2 Ak

Do A1 X+

nên X → A1 Tương tự: X → A2

X → Ak

Theo luật hợp ta có X → A1A2 Ak ⇒X → X+

4 Để chứng minh X++ = X+ ta đi chứng minh X+ X++và ngược lại

X++ X+

Theo tính chất 1 ta có X+

X++ Ta cần chứng minh X++

X+Lấy A X++, chứng minh A X+

Trang 25

Các tính chất của khóa trong lƣợc đồ quan hệ

Định lý 1.1 (Đặc trưng của các thuộc tính khóa)

Cho K là khóa của LĐQH R = (U, F) Khi đó X K ta có X+ ∩ K = X

Trang 26

18

Định nghĩa 1.8

Cho hai LĐQH a = (U, F), b = (V, G) và tập thuộc tính M U, ta nói lược

đồ quan hệ b nhận được từ lược đồ quan hệ a qua phép dịch chuyển theo tập thuộc tính M, nếu sau khi loại bỏ các thuộc tính của M và các phụ thuộc hàm liên quan đến M trong lược đồ quan hệ a thì thu được lược đồ b

Nếu sau khi thực hiện phép dịch chuyển theo M đối với lược đồ quan hệ a

ta thu được lược đồ quan hệ b thì ta viết: b = a\M

Thao tác loại bỏ M được thực hiện trên lược đồ quan hệ a = (U, F) để thu được lược đồ b = (V, G) như sau:

- Tính V = U\M có độ phức tạp O(n) với n là số lượng thuộc tính trong U

- Với mỗi PTH X →Y trong F tạo ra một PTH X\M → Y\M cho G Thủ tục này được kí hiệu là G = F\M Tính F\M đòi hỏi độ phức tạp O(mn) với m là số lượng PTH trong F

Sau khi thực hiện thủ tục G = F\M nếu:

- G chứa các PTH tầm thường (dạng X→Y, X Y) thì ta loại các PTH này khỏi G

- G chứa các PTH trùng lặp thì ta lược bớt các PTH này

Như vậy b = a\M = (U\M, F\M) được thực hiện với độ phức tạp là O(mn)

Ví dụ 1.13

Cho LĐQH a = (U, F), U = ABCDEH, F = {AE → D, A → DH, BC → E,

E → BC}, với M = ADH, Hãy xác định b = (V, G) = a\M

Theo giả thiết, ta có: a = (U, F) ⟹ b = \M = {(U\M, F\M)

V = U\M = ABCDEH\ADH = BCE; G = F\M= {BC → E, E → BC}

Nhận thấy phép dịch chuyển lược đồ thỏa tính hợp thành, cụ thể là nếu a

là LĐQH trên tập thuộc tính U và X, Y là 2 tập con của U thì: a\(XY) = (a\X)\Y trong trường hợp X và Y là hai tập con rời nhau của U ta có:

a\XY = (a\X)\Y = (a\Y)\X

Trang 27

19

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

Thuật toán Translation dưới đây mô tả phép dịch chuyển một LĐQH với

LĐQH b = (V, G) = a\M Method:

V := U\M;

G: = ∅ ; For each FD L→R in F do

1.7 Một số dạng biểu diễn của khóa qua phép dịch chuyển lƣợc đồ quan hệ 1.7.1 Dạng biểu diễn thứ nhất của khóa

Định lý 1.3

Cho LĐQH а = (U, F), X U và LĐQH b = a\X thì:

a) Key(a) = Key(b) khi và chỉ khi X Uo

b) Key(a) = X ⊕ Key(b) khi và chỉ khi X Ui

Trang 28

20

Ví dụ 1.14

Cho LĐQH а = (U, F) với U = ABCDEH

F = {AE → D, BC → E}

Ta tính được giao các khóa UI = ABCDEH\DE = ABCH

Đặt b = (V, G) với V = U\ABCH = DE,

G = F\ABCH = {E → D, ∅ → E}

Ta có b = a\ABCH và tính được Key(a) = ABCH ⊕ Key(b) = {ABCH} Với lược đồ đã cho ta tính được UK = ABCH nên:

U0 = U\UK = BCDEH\ANCH = DE

Đặt с = a\DE = (P, W) ta có P = U\DE = ABCH,

W = F\DE = {A → ∅ (loại), BC → ∅ (loại)} ≡ ∅

và do đó Key(c) = ABCH Theo định lý về dạng biểu diễn thứ nhất của khóa, vì

U0 = DE nên Key(a) = Key(c) = ABCH

1.7.2 Dạng biểu diễn thứ hai của khóa

Định lý 1.4

Cho LĐQH а = (U, F) Khi đó mọi khóa K của a đều biểu diễn được dưới dạng K = LM trong đó L là một vế trái cực tiểu của F và M là khóa của LĐQH a\L+

, ta có V = ABCDEH\EBC = ADH, F = {A → D,

A → Ø (loại), Ø → Ø (loại), H → A , A → H , D → Ø (loại)} = {A → D,

H → A, A → H} ≡ {A → DH, H → A} Dễ thấy H là một khóa của b Như vậy

EH là khóa của a, trong đó E là vế trái cực tiểu, H là khóa của b = a\E+

Trang 29

21

Kết luận chương 1

Chương này đã trình bày một số các khái niệm cơ bản trong mô hình dữ liệu quan hệ Đó là các phép toán đại số quan hệ, các khái niệm về phụ thuộc hàm, bao đóng Bên cạnh đó các thuật toán tìm bao đóng của tập thuộc tính và thuật toán tìm khóa của lược đồ quan hệ cũng được trình bày ở trong chương này

Trang 30

22

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

Chương 2 trình bày các khái niệm cơ bản trong mô hình dữ liệu dạng khối như: khái niệm về khối, lược đồ khối, lát cắt, các phép toán cơ bản trên khối, khái niệm về bao đóng của tập phụ thuộc hàm, bao đóng của tập thuộc tính chỉ

số, khóa của lược đồ khối R cùng với các thuật toán tìm bao đóng, tìm khóa của lược đồ khối Các vấn đề trình bày ở chương 2 được tham khảo trong các tài liệu [3], [4], [7]

số id đến các miền trị của các thuộc tính Ai (i = ̅̅̅̅̅)

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

t r(R) ⇔ t = {ti : id → dom(Ai)} (i= ̅̅̅̅̅

Ta kí hiệu khối đó là r(R) hoặc r(id; A1, A2, , An), hoặc 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ùng một lược

đồ khối R ta có thể xây dựng được nhiều khối khác nhau

Ví dụ 2.1

Công ty sản xuất và phân phối nước hoa BONSWEET có các đại lý bán hàng trên toàn miền bắc Các đại lý cùng bán các loại nước hoa của nhà sản xuất là: Spring (kí hiệu SP), Summer (kí hiệu SU), Autumn (kí hiệu AU), Winter (kí hiệu WI) Mỗi quý công ty lập biểu đồ theo dõi số lượng hàng được bán theo từng loại nước hoa tại mỗi đại lý (trên cơ sở số lượng bán hàng ra hàng ngày)

Trang 31

23

Căn cứ vào các biểu đồ theo dõi của mỗi loại mặt hàng tại các đại lý này mà công ty điều chỉnh số lượng sản phẩm phân cho các đại lý phù hợp hơn Để đáp ứng yêu cầu trên công ty BONSWEET đã tiến hành xây dựng khối dữ liệu với tên gọi BANHANG, cụ thể như sau:

Hình 2.1: Biểu diễn một phần khối BANHANG(R)

Với khối BANHANG(R) ở hình 2.1, ta thấy nó gồm 3 phần tử: t1, t2, t3

Với khối BANHANG(R) trên, ta thấy

- Ở Đại lý 1 (DL1), trong tháng 1, số lượng sản phẩm Spring bán được là 40

Trang 32

A1 = madl ; A2 = SP; A3 = SU; A4 = AU; A5: WI

Nếu x = 2/2018 id thì r(R2/2018) có dạng như sau:

Bảng 2.1 Biểu diễn lát cắt r(R 2/2018 )

Cho lược đồ khối R = (id, Al, 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 chỉ 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ủa khối,

đó chính là khối r(R) = ({x}, A1, A2, , An)

Mệnh đề 2.1

Cho lược đồ khối R = (id; Al, 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 chỉ gồm

Ngày đăng: 22/06/2018, 14:57

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