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

Bài tập thực hành môn Hệ quản trị cơ sơ dữ liệu

42 2,3K 7
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 428,6 KB

Nội dung

Tài Liệu môn HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Trang 1

CHƯƠNG

(Functional Dependency)

Trang 2

Nội dung

„ Dư thừa dữ liệu

„ Phụ thuộc hàm

„ Hệ tiên đề Amstrong

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

„ Bao đóng của tập thuộc tính

„ Tìm khóa

Trang 3

Các vấn đề trong tổ chức dữ liệu

được lặp lại mỗi lần cho mỗi môn thi.

hay bất thường khi cập nhật Do hậu quả của dư

thừa, chúng ta có thể cập nhật họ tên của một sinh viên trong một bộ nào đó nhưng vẫn để lại họ tên

cũ trong những bộ khác

Trang 4

Các vấn đề trong tổ chức dữ liệu…

„ Bất thường khi chèn (insertion anomaly) Chúng ta không thể biết họ tên của một sinh viên nếu hiện tại sinh viên đó không dự thi môn nào

„ Bất thường khi xoá (deletion anomaly) chúng ta có thể xoá tất cả các môn thi của một sinh viên, vô ý làm mất dấu vết để tìm ra họ tên của sinh viên

này.

Trang 5

Dư thừa dữ liệu (Data redundancy)

„ Mục đích của thiết kế CSDL là gom các

thuộc tính thành các quan hệ sao cho

giảm thiểu dư thừa dữ liệu

„ Hậu quả của dư thừa dữ liệu:

„ Lãng phí không gian đĩa

„ Các bất thường khi cập nhật

„ Ba loại bất thường:

„ Bất thường khi thêm vào

„ Bất thường khi xóa bỏ

Trang 6

„ Khóa chính của bảng PERSON?

Î SSN + Hobby

„ Thông tin cá nhân bị trùng lặp

„ Các bất thường:

„ Nếu John thay đổi chỗ ở Æ update anomaly

„ Nếu bổ sung thêm người mới tên là Homer Simpson nhưng chưa biết sở thích của anh ta Æ không thể tạo bản ghi mới được Æ insertion anomaly

Nếu Bart Simpson không có bất kỳ sở thích nào Æ xóa sở

Trang 7

Phụ thuộc hàm (Functional Dependency)

„ Phụ thuộc hàm mô tả mối liên hệ giữa các thuộc tính X → Y

„ Phụ thuộc hàm (functional dependancy) làmột công cụ dùng để biểu diễn một cách

hình thức các ràng buộc toàn vẹn

„ Dựa vào phụ thuộc hàm để thiết kế lại

CSDL, loại bỏ các dư thừa dữ liệu

7

Trang 8

Phụ thuộc hàm (Functional Dependency)

„ Cho lược đồ quan hệ R(U), r là 1 quan hệ

bất kỳ trên R, X và Y là 2 tập thuộc tính con của U

„ Định nghĩa: Phụ thuộc hàm (FD) f: X Æ Y

trên lược đồ quan hệ R nếu và chỉ nếu mỗi giá trị X trong r có quan hệ chính xác với 1 giá trị Y trong r Nghĩa là bất kể khi nào 2 bộcủa r có cùng giá trị X thì cũng có cùng giátrị Y

∀t1, t2 ∈ r(R): t1[X] = t2[X] ⇒ t1[Y]= t2[Y]

Trang 9

Phụ thuộc hàm (Functional Dependency)

„ Cho lược đồ quan hệ Q {A1,A2,…,An} X, Y là hai tập con khác rỗng của Q+(tập thuộc tính)

„ Ta nói X xác định Y (hay Y phụ thuộc hàm vào X) nếu với r là một quan hệ nào đó trên Q, ∀ t1, t2 ∈

r mà t1.X = t2.X ⇒ t1.Y = t2.Y (nghĩa là không thể tồn tại hai bộ trong r có các thuộc tính trong tập X giống nhau mà lại có một hay nhiều thuộc tính

trong tập Y khác nhau)

„ Khi đó ta ký hiệu là X → Y.

9

Trang 10

Giải thuật kiểm tra phụ thuộc hàm

„ Bài toán: cho quan hệ r và 1 phụ thuộc

hàm f: XÆ Y Kiểm tra xem quan hệ r có

thỏa mãn phụ thuộc hàm f hay không?

Trang 12

Tập phụ thuộc hàm

„ Gọi F là 1 tập phụ thuộc hàm trên R nếu mọi phụ thuộc hàm trong F đều là phụ thuộc hàm trên R

„ Phụ thuộc hàm tầm thường (trivial FD) hay phụ

thuộc hàm hiển nhiên X Æ Y nếu Y ⊆ X

„ Ví dụ: Name, Address → Name

không hiển nhiên trong tập F, các phụ thuộc hàm hiển nhiên được ngầm hiểu là đã có trong F.

Trang 13

Cách Xác Định Phụ Thuộc Hàm Cho Lược Đồ Quan Hệ

„ Cách duy nhất để xác định đúng các phụ thuộc

thích hợp cho một lược đồ quan hệ là xem xét nội dung tân từ của lược đồ quan hệ đó

„ Chẳng hạn tân từ của lược đồ quan hệ Sinhvien là:

”Mỗi sinh viên có mỗi MASV duy nhất Mỗi MASV

xác định các thuộc tính còn lại của sinh viên đó như HOTENSV,NU, NGAYSINH, NOISINH,TINH,MALOP”

„ Khi phát biểu tân từ cho một lược đồ quan hệ,

người thiết kế cần phải mô tả đầy đủ ý nghĩa để

người khác tránh hiểu nhầm

Trang 14

Hệ tiên đề Amstrong

„ Phụ thuộc hàm X Æ Y được suy diễn luận

lý từ F nếu mọi quan hệ thỏa mãn mọi

phụ thuộc hàm trong F thì cũng thỏa mãn

X Æ Y

„ Ký hiệu F XÆY

„ F bao hàm (implies) XÆY

„ XÆY được suy diễn theo quan hệ từ F

Trang 15

Hệ tiên đề Amstrong

„ Để có thể xác định được các phụ thuộc

hàm khác từ tập phụ thuộc hàm đã có, ta dùng hệ tiên đề Armstrong (1974), gồm

các luật sau

15

Trang 17

„ F5 Chiếu (projectivity): X →YZ ⇒ X →Y

„ F6 Bắc cầu giả (pseudotransitivity): X→Y

và YZ→W ⇒ XZ →W

17

Trang 19

Phụ thuộc hàm tương đương

„ Nếu F và G là 2 tập FD F suy diễn G ( F

entails G) nếu F suy diễn được tất cả các

FD có trong G

„ F và G là tương đương nhau nếu F suy

diễn G và G suy diễn F

19

Trang 20

Kiểm tra các tập FD tương đương

„ Input: F, G – các tập FD

„ Output: true nếu F tương đương G,

false nếu ngược lại For each f ∈F do

if G does not entail f then return false

For each g ∈ G do

if G does not entail f then return false

Return true

Trang 21

Ví dụ

„ Hãy khảo sát 2 tập FD sau:

„ F={ACÆB, AÆC, DÆA }

„ G={AÆB , AÆC, DÆA , DÆB}

F và G có tương đương nhau không???

Từ AÆC + Tiên đề F2 Î AÆAC (1)

Từ (1)+ ACÆB + tiên đề F3 Î AÆB

Từ DÆA + AÆB + tiên đề F3 Î DÆ B

ÎF suy diễn G

Trang 22

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

„ Bao đóng (closure) của tập phụ thuộc hàm

Trang 24

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

„ Ví dụ cho F={ABÆ C, CÆB} trên r(ABC)

BÆB, ABÆB, BCÆB, ABCÆB, CÆC, ACÆC, BCÆC, ABCÆC,ABÆAB, ABCÆAB,

ACÆAC, ABCÆAC,BCÆBC, ABCÆBC,ABCÆABC,

ABÆC, ABÆAC, ABÆBC, ABÆABC,

Trang 25

Phủ tối thiểu

„ F được gọi là một tập phụ thuộc hàm tối

thiểu nếu F thoả đồng thời ba điều kiện sau:

Trang 26

Thuật toán tìm phủ tối thiểu

„ Dữ liệu vào : Lược đồ quan hệ ban đầu Q và tập

phụ thuộc hàm F, số lượng phụ thuộc hàm trong F

là m.

„ Dữ liệu ra : Tập phụ thuộc hàm tối thiểu của F

„ Tách vế phải mỗi phụ thuộc hàm trong F sao cho vế phải của mỗi phụ thuộc hàm chỉ chứa một thuộc tính

„ Tìm tập phụ thuộc hàm đầy đủ bằng cách loại bỏ các

thuộc tính dư thừa ở vế trái của từng phụ thuộc hàm.

„ Loại bỏ các phụ thuộc hàm dư thừa trong F.

Trang 27

Bao đóng của tập thuộc tính

„ Bao đóng của tập thuộc tính X dựa trên

Trang 28

Bao đóng của tập thuộc tính

„ Cho lược đồ quan hệ Q giả sử F là tập

các phụ thuộc hàm trong Q, tập thuộc

tính X ⊆ Q+

„ Bao đóng của tập thuộc tính X đối với tập phụ thuộc hàm F ký hiệu là X+ (hoặc )

là tập tất cả các thuộc tính A ⊆ Q+ được

suy ra từ X dựa vào các phụ thuộc hàm

trong F và hệ tiên đề Armstrong, nghĩa là:X+ = {A : A ∈ Q+ và X → A ∈ F+}

F

X +

Trang 29

Bao đóng của tập thuộc tính

„ Các tính chất của bao đóng của tập thuộc

tính X+

Trang 30

Giải thuật tìm bao đóng của tập thuộc tính trên tập phụ thuộc hàm

„ Input: tập thuộc tính X và tập phụ thuộc hàm F

„ Output: bao đóng của X dựa trên F

Procedure Closure (X,F,Closure_X)

Trang 31

Ví dụ tìm bao đóng của X

„ Cho R(A,B,C,D,E,F) và tập F={f1:DÆB, f2: AÆC, f3: ADÆE, f4:CÆF}

Trang 32

Bài toán thành viên

„ Cho trước tập các phụ thuộc hàm F và một phụ

thuộc hàm f, bài toán kiểm tra có hay không f ∈ F+

gọi là bài toán thành viên.

„ Để giải quyết bài toán bài toán thành viên thật sự không đơn giản; vì mặc dù F là rất nhỏ nhưng F+ thì có thể rất lớn Tuy nhiên ta có thể giải bằng

cách tính X+ và so sánh X+ với tập Y Dựa vào tính

chất X → Y ∈ F+ ÅÆ Y ⊆ X+, ta có ngay câu trả

lời X → Y ∈ F+ hay không ? Như vậy thay vì giải

bài toán thành viên ta đưa về giải bài toán tìm bao đóng của tập thuộc tính.

Trang 33

Ví dụ kiểm tra phụ thuộc hàm

„ Cho F={DÆB, AÆC, ADÆE, CÆB} Kiểm tra F có bao hàm AÆB??

Trang 34

Kiểm tra thành viên trong F+

„ Để xác định F ⊨ XÆY, cần kiểm tra XÆ Y ∈ F+

Trang 35

Khoá Của Quan Hệ (relation key)

„ Cho quan hệ Q(A1,A2,…,An) được xác định bởi tập thuộc tính Q+ và tập phụ thuộc hàm

F định nghĩa trên Q, cho K ⊆ Q + K là một khoá của Q nếu thoả đồng thời cả hai điều kiện sau:

„ 1 K → Q+ ∈ F+ (hay K +

F = Q+) (K chỉ thoả điều kiện 1 thì được gọi là siêu khoá)

„ 2 Không tồn tại K' ⊂ K sao cho K'+ = Q+

Trang 36

Thuật Toán Tìm Một Khoá Của Một Lược Đồ Quan Hệ Q

Trang 37

Ví dụ

Trang 38

Thuật Toán Tìm Tất Cả Các Khoá Của Một Lược Đồ Quan Hệ

Trang 39

Ví dụ

Trang 40

Phương pháp tìm khóa

„ Xác định tập bắt buộc phải có trong khóa

(tập thuộc tính trừ vế phải)

„ Xác định tập thuộc tính cần phải thử và các tập con của nó (loại bỏ tập từ tập thuộc tính những thuộc tính bắt buộc và thuộc tính chỉ

có ở vế phải)

„ Xác định khóa

Trang 41

Ví dụ1

„ Cho R(A,B,C,D,E,F) và F={DÆB, AÆC,

ADÆE, CÆF} Tìm tất cả các khóa của R

Trang 42

Ví dụ 2

„ Cho R(A,B,C,D,E,F) và F={AÆD, CÆAF,

ABÆ EC} Tìm khóa của R?

„ TN={B} , TG={AC}

„ Khóa của R là {AB} và {BC}

Ngày đăng: 28/03/2014, 20:44

HÌNH ẢNH LIÊN QUAN

Hình thức các ràng buộc toàn vẹn. - Bài tập thực hành môn Hệ quản trị cơ sơ dữ liệu
Hình th ức các ràng buộc toàn vẹn (Trang 7)

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

TÀI LIỆU LIÊN QUAN

w