1. Trang chủ
  2. » Giáo án - Bài giảng

Thiết kế cơ sở dữ liệu mức logic

14 1,6K 4

Đ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 14
Dung lượng 0,92 MB

Nội dung

Trường Đại học Khoa học Tự nhiênKhoa Công nghệ Thông tin Bộ môn Hệ thống Thông tin Chương 4 : Thiết kế Cơ sở dữ liệu mức logic 2 Nội dung • Dẫn nhập • Biểu diễn cấu trúc quan niệm dưới d

Trang 1

Trường Đại học Khoa học Tự nhiên

Khoa Công nghệ Thông tin

Bộ môn Hệ thống Thông tin

Chương 4 :

Thiết kế Cơ sở dữ liệu mức logic

2

Nội dung

• Dẫn nhập

• Biểu diễn cấu trúc quan niệm dưới dạng đồ thị

• Thuật toán biểu diễn cấu trúc CSDL quan hệ sang

đồ thị quan hệ

• Một số trường hợp đáng chú ý

Mục tiêu

• Giai đoạn thiết kế logic là bước trung gian để giai

đoạn thiết vật lý được thực hiện dễ dàng.

– Biểu diễn lại mô hình CSDL mức quan niệm thành mô

hình dữ liệu phù hợp với hệ quản trị sẽ dùng để cài đặt

sau này.

– Chọn một biểu diễn ở dạng đồ thị phù hợp, làm cơ sở

cho việc lựa chọn chỉ mục ở giai đoạn thiết kế vật lý.

Yêu cầu cho giai đoạn thiết kế logic

• Kết quả của giai đoạn thiết kế vật lý phải hoàn toàn “trung thực” với cấu trúc quan niệm:

– Bảo toàn nội dung CSDL – Bảo toàn sự truy xuất trực tiếp đến các quan hệ của cấu trúc quan niệm.

một quan hệ nào khác) Cấu trúc logic phải bảo toàn khả năng này

Trang 2

Yêu cầu cho giai đoạn thiết kế logic

Yêu cầu cho giai đoạn thiết kế logic VD VD

• Ví dụ 4.1

Cho cấu trúc mức quan niệm:

NhânViên(Ma_NV, HoTen_NV, Ma_P )

Phòng (Ma_P, Ten_P)

ĐềÁn(Ma_DA, Ten_DA, Ma_P)

được phân công vào tất cả các đề án do phòng ban mà nhân viên

đó trực thuộc phụ trách )

6

Ví dụ 4.1 (tt)

– Xét cấu trúc logic sau:

NhânViên(Ma_NV, HoTen_NV, Ma_P ) Phòng (Ma_P, Ten_P)

ĐềÁn_1 (Ma_DA, Ten_DA) PhụTrách(Ma_DA, Ma_P)

Không có quan hệ PhânCông: có bảo toàn nội dung

không?

Có bảo toàn sự truy xuất trực tiếp đến quan hệ

PhânCông không?

7

Nội dung

• Dẫn nhập

• Biểu diễn cấu trúc quan niệm dưới dạng đồ thị

• Thuật toán biểu diễn cấu trúc CSDL quan hệ sang

đồ thị quan hệ

• Một số trường hợp đáng chú ý

8

Một số khái niệm trong lý thuyết đồ thị

• Đồ thị G(N,C) được định nghĩa trên một tập nút N={n1,n2,Jnn} và một tập cung C={c1, c2,Jcm}

– Đồ thị có hướng nếu tồn tại một cung có hướng (khi đó các nút trong đồ thị gọi là nút đi hoặc nút đến), ngược lại đồ thị vô hướng (các nút gọi là nút xuất phát).

– Đường đi (đối với đồ thị vô hướng) và mạch đi (đối với

đồ thị có hướng)

– Khuyên – Chu trình

Trang 3

Một số khái niệm trong lý thuyết đồ thị (tt)

cho:

∀nilà nút xuất phát (hoặc nút đi/ đến) của ci ∈D, tồn tại một

10

Một số khái niệm trong LTĐT Một số khái niệm trong LTĐT – – ví dụ ví dụ

• Ví dụ 4.4:

(c1, c2) là một dòng có gốc n1 (c1, c2) không là một dòng có gốc n2

(c1, c2) là một mạch đi

(c1, c2) là một dòng có gốc n2 (c1, c2) không là một mạch đi

(c1, c2) không là dòng của gốc nào cả

(c1, c2) là dòng của gốc n1, n2 hoặc n3

Đồ thị con đường truy xuất

• Định nghĩa:

– Đồ thị con đường truy xuất là một đồ thị có hướng với:

Q: tập các quan hệ Qi

Đồ thị con đường truy xuất

Đồ thị con đường truy xuất – – Định nghĩa (tt) Định nghĩa (tt)

– Mỗi cung trên đồ thị tương ứng với một con đường truy xuất

ứng với một nút trên đồ thị) hoặc quan hệ cung (nếu nó ứng với một cung trên đồ thị).

cung ngược chiều nhau trên đồ thị, nút đến của cung này là nút đi của cung kia và ngược lại

Trang 4

Đồ thị con đường truy xuất (tt)

được truy xuất

cij

cij

14

Đồ thị con đường truy xuất _Ví dụ)

• Ví dụ 4.2: Ngõ vào

CSDL

Ngõ vào CSDL

15

Ví dụ 4.2 (tt)

• Diễn giải:

– Có hai ngõ vào CSDL: NhânViên_2 và ĐềÁn_2, nghĩa là cung cấp

một giá trị Ma_NV (Ma_DA), ta có thể truy xuất ngay một bộ tương

ứng trong quan hệ NhânViên_2 (ĐềÁn_2)

– Từ một bộ NhânViên_2, ta có thể truy xuất trực tiếp một bộ của

Phòng_2 mà nhân viên trực thuộc, thông qua con đường truy xuất

NhânViên_2 → Phòng_2

– Từ một bộ của Phòng_2, ta có thể truy xuất trực tiếp danh sách các

nhân viên của phòng thông qua con đường truy xuất Phòng_2 →

NhânViên_2

– Từ một bộ của NhâhViên, ta không thể truy xuất trực tiếp danh

sách các đề án mà nhân viên được phân công, do không có con

đường truy xuất NhânViên_2 → ĐềÁn_2

16

Đồ thị con đường truy xuất thô

• Là đồ thị con đường truy xuất đặc biệt, trong đó, nếu giữa hai nút của đồ thị có một cung thì bao giờ cũng tồn tại một cung theo chiều ngược lại.

Trang 5

Đồ thị quan hệ

• Khái niệm:

– Đồ thị quan hệ là một dạng đồ thị con đường truy xuất

được đơn giản hoá

– Giúp người thiết kế dễ dàng hơn trong việc đánh giá

chất lượng của việc biểu diễn cấu trúc CSDL bằng đồ

thị.

– Đồ thị quan hệ là một đồ thị có hướng, với:

NQ: Tập nút

18

Đồ thị quan hệ (tt)

• Diễn giải:

Qi, Qjlà các quan hệ lần lượt ứng với hai nút Nivà Nj

khóa của Qivà Qj

của Qi, Qj: Qji+= KQi+∪KQj+

Qij

Đồ thị quan hệ (tt)

Qji+= KQi+∪KQj+

Qij

Quan hệ cung Qiji, Qijjvà Qijđều được hình thành từ tập các thuộc tính khóa KQi+∪KQj+

Đồ thị quan hệ (tt)

• Ví dụ 4.3:

Trang 6

Biến đổi từ đồ thị con đường truy xuất thô sang đồ thị

quan hệ

– ∀c,c’ ∈ C có chiều ngược nhau và cùng ứng với một

tối đa (max(c), max(c’)) lớn hơn 1

22

Chuyển từ đồ thị quan hệ sang đồ thị con đường truy xuất thô

– Các nút trong N đều là nút vào.

23

Chuỗi kết được cài đặt trên đồ thị quan hệ

• Khái niệm chuỗi kết được cài đặt trên đồ thị quan

hệ là cơ sở để đánh giá tính hiệu quả của cấu trúc

logic khi thực hiện phép kết.

24

Chuỗi kết Chuỗi kết – – Định nghĩa với đồ thị con đường truy xuất Định nghĩa với đồ thị con đường truy xuất

• Định nghĩa đối với đồ thị con đường truy xuất:

đồ thị con đường truy xuất (N,C,Q,Cđ ) nếu và chỉ nếu:

∀Qi, i=1 m, Qi∈ Q

∃một dòng D = (c1, c2,b ,cp) trên đồ thị con đường truy xuất sao cho :

– ∀ cung ci của D, ciứng với một quan hệ Qj, trong chuỗi kết – ∀ Qi trong chuỗi kết :

Trang 7

Chuỗi kết

Chuỗi kết – – Định nghĩa với đồ thị quan hệ Định nghĩa với đồ thị quan hệ

• Định nghĩa đối với đồ thị quan hệ:

∀Qi, i=1 m, Qi∈ QQ

∃một dòng D = (c1, c2,b ,cp) trên đồ thị quan hệ sao cho :

– ∀ cung ci của D, ciứng với một quan hệ Qj, trong chuỗi kết

– ∀ Qi trong chuỗi kết :

26

Chuỗi kết trên đồ thị Chuỗi kết trên đồ thị Ví dụ Ví dụ

• Ví dụ 4.4:

– Chuỗi kết (AX) (AB) (BY) (BC) (CZ) được cài đặt trên (a), (b), (d) nhưng không được cài đặt trên (c)

Chuỗi kết trên đồ thị

Chuỗi kết trên đồ thị Diễn giải Diễn giải

• Nếu chuỗi kết p được cài đặt trên đồ thị, tồn tại

một dòng D có gốc là ng

Nội dung

• Dẫn nhập

• Biểu diễn cấu trúc quan niệm dưới dạng đồ thị

• Thuật toán biểu diễn cấu trúc CSDL quan hệ sang

đồ thị quan hệ

• Một số trường hợp đáng chú ý

Trang 8

Thuật toán

• Vào: Cấu trúc CSDL mức quan niệm :

p = {<Qi>}, mỗi Qicó tập khóa {Ki}

• Ra: Đồ thị quan hệ tương ứng với p

30

Thuật toán (tt)

• Bước 1 : Biến p thành một phân rã đồng nhất:

thành một quan hệ.

thể có thêm khoá)

• Bước 2: Tạo nút và quan hệ nút

31

Thuật toán (tt)

• Bước 3: Tạo nút bản lề và quan hệ nút bản lề:

– Mục đích: làm nổi bật các thuộc tính chung của mỗi cặp

quan hệ nút.

Xác định tất cả các khóa củaQ[Qij+], ký hiệu KQij+là tập thuộc

tính khóa của Q[Qij+]

Q[Qij+] thì

Tạo nút bản lề N bl với quan hệ tương ứng Q bl = Q[KQ ij + ]

Cuối nếu

Qij+ := Qij+- KQij+

Cuối Trong khi

32

Thuật toán (tt)

• Bước 4: Tạo cung ( chỉ tạo số cung tối thiểu từ một nút)

PTH(Ni) = {Njvới Qjtương ứng sao cho KQj+⊂ Qi+}

∃Nh∈PTH(Ni) sao cho KQj+⊂KQh}

Lồng_Khoá(Ni) = {Njvới Qjtương ứng sao cho KQj+⊂KQi+}

sao cho KQj+⊂KQh}

Cung (Ni) = (PTH(Ni) – PTH_Thừa(Ni) )

Cuối

Trang 9

Thuật toán (tt)

• Bước 4( tiếp)

Cuối

34

Thuật toán (tt)

• Bước 5: Hủy những nút bản lề thừa

» Không có thuộc tính nào khác ngoài khóa

Nhập Nkvào Ni(nhập Qk+vào Qi+)

Cuối ∀

Thuật toán (tt)

• Bước 6: Mịn hóa các quan hệ nút

Cuối ∀

Cuối ∀

Thuật toán (tt)

• Bước 7: Tạo cung vô hướng:

» Qkkhông có thuộc tính không khóa (Qk+= KQk+)

Njvới Qivà Qjsao cho KQk+= KQi+∪KQj+

Thì

Tạo một cung vô hướng nối Ni, Njvới Qij= Qk

Trang 10

Ví dụ

Ví dụ 4.5

Cho cấu trúc quan niệm sau:

1 ĐĐH (Số_ĐĐH, Ngày_ĐH, TrịGiá)

2 MặtHàng (Mã_MH, Tên_MH, ĐơnGiá)

3 ChiTiếtĐĐH (Mã_MH, Số_ĐĐH, SL_ĐH)

4 Giao hàng (Số_GH, Ngày_GH, Số_ĐĐH)

5 ChiTiếtGH (Số_GH, Mã_MH, SL_GH, Số_ĐĐH)

38

Ví dụ 4.5 (tt)

– Bước 1: không có khóa tương đương giữa các quan hệ – Bước 2: Tạo nút

39

Ví dụ 4.5 (tt)

– Bước 3:

Các tập thuộc tính chung khác rỗng của các cặp quan hệ:

1 và 3: So_ĐĐH, khoá của 1

1 và 4: So_ĐĐH, khoá của 1

1 và 5: So_ĐĐH, khoá của 1

2 và 3: Ma_MH, khoá của 2

2 và 5: Ma_MH, khoá của 2

3 và 5: Ma_MH, So_ĐĐH, khoá của tập này là (Ma_MH, So_ĐĐH) =

khóa của 3

4 và 5: So_GH, So_ĐĐH, khóa của tập này là (So_GH) = Khoá của 4;

loại bỏ So_GH, khóa của tập còn lại là (So_ĐĐH) = khóa của 1

40

Ví dụ 4.5 (tt)

– Bước 4

)

Lồng_

Khoá(Qi)

LK_Thừa (Qi)

)

Ghi chú “-” : không cần tính

Trang 11

Ví dụ 4.5 (tt)

Các quan hệ cung:

42

Ví dụ 4.5

– Kết quả của bước 1-4

Ví dụ 4.5 (tt)

– Bước 5: Không thực hiện, vì không tạo nút bản lề nào

– Bước 6:

– Bước 7: không tạo được cung vô hướng nào cả.

Ví dụ 4.5 (tt)

– Kết quả thuật toán:

Trang 12

Biến đổi từ đồ thị quan hệ sang cấu trúc CSDL quan hệ

• Mục đích: kiểm chứng xem cấu trúc quan hệ biểu diễn

dưới dạng đồ thị quan hệ có hoàn toàn tương đương với

cấu trúc ban đầu hay không.

• Thuật toán:

đồ thị quan hệ về cấu trúc CSDL quan hệ:

p-1= {Qi} ∪{Qij}, với Qilà quan hệ nút và Qijlà quan hệ cung

46

Nội dung

• Dẫn nhập

• Biểu diễn cấu trúc quan niệm dưới dạng đồ thị

• Thuật toán biểu diễn cấu trúc CSDL quan hệ sang

đồ thị quan hệ

• Một số trường hợp đáng chú ý

47

Một số trường hợp đáng chú ý

• Trường hợp 1

Cho cấu trúc quan hệ phổ quát:

A →Y; B →Z }>

Và cấu trúc quan niệm:

<Q2(ABX) , F2= {AB →X}> ;

<Q3(AY) , F3= {A →Y}>;

<Q4(BZ) , F4={B →Z}> }

48

Một số trường hợpN Một số trường hợpN Trường hợp 1(tt) Trường hợp 1(tt)

Trang 13

Một số trường hợpN

Một số trường hợpN Trường hợp 1(tt) Trường hợp 1(tt)

• Nhận xét:

– Các đồ thị tương đương nhau ở góc độ thao tác quan

hệ: các chuỗi kết dựa trên thuộc tính chung có thể đặt

ra trên cấu trúc CSDL này đều được cài đặt trên cả 4 đồ

thị:

– Đồ thị (a) và (d) : dòng (12, 23)

– Đồ thị (b) : dòng (13)

– Đồ thị (c): dòng (13) hoặc (12, 23)

50

Một số trường hợpN Một số trường hợpN Trường hợp 1(tt) Trường hợp 1(tt)

• Nhận xét (tt)

– Tuy nhiên, cách truy xuất sẽ khác nhau trên các đồ thị

Ví dụ: Truy xuất Q0 [AB]:

– Đồ thị (a), (c), (d): truy xuất chỉ ở nút 2 : Q2[AB]

Một thể hiện minh họa cho đồ thị (b):

TQ1

TQ2

Một số trường hợpN

Một số trường hợpN Trường hợp 1(tt) Trường hợp 1(tt)

• Nhận xét (tt)

– Các đồ thị cũng có ý nghĩa khai thác khác nhau:

trước những bộ dạng (s,a,-,t)

Một số trường hợpN Một số trường hợpN Trường hợp 1(tt) Trường hợp 1(tt)

• Nhận xét (tt)

– Thuật toán chuyển từ cấu trúc CSDL sang đồ thị quan

hệ đã trình bày đề nghị đồ thị (a):

con đường truy xuất để người thiết kế có cái nhìn gọn nhất

sau với các tiêu chí : ý đồ khai thác, tần suất khai thác,b

Trang 14

Một số trường hợpN

Một số trường hợpN Trường hợp 2 Trường hợp 2

Cho cấu trúc phổ quát:

AD → CY; C →AB;

AB →CZ }>

Và cấu trúc CSDL quan niệm:

C →AB; AB → C}>;

54

Một số trường hợpN Một số trường hợpN Trường hợp 2 (tt) Trường hợp 2 (tt)

C/AB// Z

CD/ AD// Y

CDE/ AE //X

Q 3

Q 2

Q 1

Q 12 (CDE/ AE //)

Q 23 (CD/ AD// B)

(b)

Q 13 (CDE/ AE// B)

55

Một số trường hợpN

Một số trường hợpN Trường hợp 2 (tt) Trường hợp 2 (tt)

• Nhận xét:

– Cung (13) thể hiện phụ thuộc hàm không hiển nhiên

AE → AB

– Thuật toán đề nghị đồ thị (b)

Ngày đăng: 27/01/2015, 15:50

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w