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

Bài giảng cơ sở dữ liệu chương 6 lý thuyết thiết kế CSDL

34 333 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 34
Dung lượng 40,35 MB

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

Nội dung

Có nghĩa là F là tập các phụthuộc hàm đúng trên quan hệ R... Bao đóng của phụ thuộc hàm a.. Định nghĩa: Cho tập phụ thuộc hàm F trên tập thuộc tính U.. Định nghĩa khác cho bao đóng của t

Trang 1

BÀI GIẢNG

CSDL

Chương 6: Lý Thuyết Thiết Kế Cơ Sở Dữ Liệu

1. Định Nghĩa: là khái niệm quan trọng nhất trong việc

thiết kế cơ sở dữ liệu

- cho quan hệ R trên tập thuộc tính U

R(U)+ với U={A1,A2,A3…An}

x,y,z là tập con của U

x y nếu mọi t & t’t.x=t’.x t.y=t’.y

Trang 2

Gọi R(U) là lược đồ quan hệ với U = {A­1,…,An} là tập các thuộc tính X,

Y, Z, W  U Hệ tiên đề Armstrong bao gồm:

Trang 3

 b bổ đề

Bổ đề 1:

Hệ tiên đề Armstrong là đúng Có nghĩa là F là tập các phụthuộc hàm đúng trên quan hệ R Nếu X  Y là một phụthuộc hàm được suy dẫn từ F nhờ hệ tiên đề Armstrong thì

Trang 4

Ví dụ:

Cho tập phụ thuộc hàm F = {A  B, B  CD} ta chứngminh phụ thuộc hàm AC  CD được suy diễn logic từ F.Thật vậy:

Trang 5

3 Tính bao đóng

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

a Định nghĩa:

Cho tập phụ thuộc hàm F trên tập thuộc tính U Bao đóng của F, ký hiệu là F + , là

tập nhỏ nhất các phụ thuộc hàm trên U thoả:

F + = {X  Y | F |== X  Y}

b Định nghĩa khác cho bao đóng của tập phụ thuộc hàm:

F + là tập các phụ thuộc suy diễn từ F nhờ hệ tiên đề Armstrong Tức nó phải thoả

Trang 6

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

a Định nghĩa:

Cho tập phụ thuộc hàm F trên tập thuộc tính U và X  U Bao đóng của tập thuộc tính X (đối với F), ký hiệu X + , là tập sau:

X+ = {A | X  A  F+}

b Định nghĩa khác cho bao đóng của tập thuộc tính:

X + là tập các thuộc tính A sao cho X  A có thể suy diễn được từ F bằng hệ tiên đề Armstrong.

Trang 7

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

- khái niệm

Cho R={A1,A2….An}

Cho lược đồ quan hệ R và các tập phụ thuộc hàm F và G trên R ta nói:

F phủ phụ thuộc hàm G nếu G+  F +

F tương đương phụ thuộc hàm G nếu G+ = F +

Để xác định phụ thuộc hàm Y  Z  G + hay không ta sử dụng thuật toán tính bao đóng tập thuộc tính để tính Y + đối với G và kiểm tra xem Z  Y + hay không.

Mệnh đề: F  G+  F +  G +

Mệnh đề: Mỗi tập phụ thuộc hàm F tương đương với tập phụ thuộc hàm G gồm

các phụ thuộc hàm mà vế phải chỉ có 1 thuộc tính.

Trang 8

(1): Vế phải của mỗi phụ thuộc hàm trong F chỉ có 1 thuộc tính.

(2): Mọi phụ thuộc hàm X  A  F là quan trọng, tức là tập phụ thuộc hàm có từ F bằng sự loại bỏ phụ thuộc hàm X  A:

F \ {X  A}

không tương đương với F.

(3): Với mỗi phụ thuộc hàm X  A  F, mọi thuộc tính B  X đều quan trọng, tức là tập phụ thuộc hàm có từ F bằng việc thay phụ thuộc hàm X  A bởi phụ thuộc hàm (X \{B})  A:

(F \ {X  A})  {X \ {B}  A}

không tương đương với F.

Nhận xét: Điều kiện (2) đảm bảo không có phụ thuộc hàm dư thừa, điều kiện (3) đảm bảo không có thuộc tính ở vế trái dư thừa.

Trang 9

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

(2): Loại các phụ thuộc hàm dư thừa trong G: Không tồn tại X  A nào trong F mà tập F

- {X  A} tương đương với F.

(3): Loại các thuộc tính dư thừa ở vế trái của các phụ thuộc hàm trong G: Không tồn tại X

 A trong F mà Z  X để cho:

(F - {X  A})  {Z  A}

tương đương với F.

Trang 10

Ta áp dụng thuật toán tính phủ tối thiểu để tính phủ tối thiểu của F.

(1): Phân rã vế phải các phụ thuộc hàm trong F

Tập G thu được gồm các phụ thuộc hàm:

Trang 11

(2): Loại các phụ thuộc hàm dư thừa và thuộc tính dư thừa

* Loại các phụ thuộc hàm dư thừa:

- Loại CG  B, vì nó suy ra từ C  A, ACD  B và CG  D bằng các phép kéo theo như sau:

C  A  CG  AG (qui tắc mở rộng hai vế)

CGA & CGD & CG  C  CG  ACD (qui tắc hợp)

CG  ACD & ACD  B  CG  B (qui tắc bắc cầu)

Như vậy ta loại ra khỏi G.

- Loại CE  A, vì nó suy ra từ C  A.

Trang 12

Kết thúc bước này các phụ thuộc hàm còn lại như sau:

Trang 13

*Loại thuộc tính dư thừa:

Trong phụ thuộc hàm ACD  B, thuộc tính A dư thừa vì C  A Như vậy ta thay ACD  B bởi CD  B.

Cuối cùng ta nhận được phủ tối thiểu:

Trang 14

6.Khoá và giải thuật tìm khoá

Cho R={A1,A2,A3…An}

Cho K là tập con của R

Cho r là quan hệ trên R

t1,t2 là hai bộ bất kỳ

Khi đó K gọi là khoá nếu như t1 t2 thì t1[k] t2[k]

Là siêu khoá khi: K’ K

Trang 15

-khái niệm theo phụ thuộc hàmcho Cho R={A1,A2,A3…An}cho k R

cho F là f tập phụ thuộc hàmKhi đó : k la khoá nếu

+ k  R

Trang 16

b giải thuật tìm khoá

*ứng dụng:cho phếp xác định được khoá của một quan hệ dựa trên tập phụ thuộc hàm

*bài toán:

cho R là quan hệ

F là tập phụ thuộc hàm yêu cấu: tìm khoá của R dựa trên F

 Các bước:

b1: liệt kê các phần tử vế trái của phụ thuộc hàm F: L

liệt kê các phần tử vế phải của phụ thuộc hàm F:R1 b2: lấy R\R1=thuộc tính x // trong khoá phả chứa x

L giao R1=y b3:tính bao đóng x + :

x + =R thì kết luận x là khoá nếu x + R chuyển sang bước 4

Trang 17

b4: ghép x với từng phần tử y

Sau đó thực hiên như bước 3

Ví dụ: Cho lược đồ R = (A, B, C, D, E, G) và tập phụ thuộc hàm F gồm

Trang 18

Ví dụ 3: cho R=(MNPQSU)

F={M  NP,P  NQ,MN  S,NS  UQ}a.kiểm tra M  Q?

Trang 19

Chương 7: Các dạng chuẩn của quan hệ

 đ/n :là những quy ước phụ thuộc những ràng buộc áp dụng

cho một quan hệ

 Tránh do bộ phát sinh khi cập nhật dữ liệu

 Các thao tác cập nhập : thêm,sửa, xoá, tìm kiếm, sắp xếp,

lọcVd: cho 1 quan hệ sinh viên

sv{hoten,masv,diem,mamh}// dạng chuẩn hay không chuẩn? vì

sao?

Trang 20

2.các loại dạng chuẩngồm 4 dạng:

- 1NF: dạng chuẩn 1

- 2NF : dạng chuẩn 2

- 3NF: dạng chuẩn 3

- BCNF: dạng chuẩn 4

Trang 21

II Quy ước dạng chuẩn

Trang 23

Khoá Bkết luận: từ R tách 2 quan hệ R1,R2 đều ở dạng 2 NF

Trang 25

*chuẩn hoá thành dạng 3NF

nếu 1 quan hệ ở dạng 2NF nhưng chưa ở dạng 3NF thì phải tách

- tách các thuộc tính phụ thuộc hàm bắc cầu và thuộc tính xácđịnh hàm thành 1 bảng

- khoá của bảng tách là thuộc tính xác định hàm

Chú ý: phụ thuộc hoàn toàn 1NF  2NF

Phụ thuộc trực tiếp(không bắc cầu): 2NF  3NF

Trang 26

BÀI TẬP

Cho R=(ABCDEGH)

F={B  AC,AB  DE,A  G,C  H}-hỏi R ở dạng nào?

Trang 27

Khoá là: B

R32=(BDE)

Trang 28

4 Cách kiểm tra việc tách hợp lệ

R=R1 R2 ….Rn

hỏi tách R đúng hay không đúng

giả thiết: R={A1,A2,A3…AN}N: thuộc tính

Trang 30

5 chuẩn BCNF(boyed godd)

chuẩn rất mạnh hoàn toàn dựa vào định nghĩa phụ thuộc hàm, trong thự tế sử dụng BCNF nhiều hơn 3NF

 Quy định: mọi thuộc tính không khoá phải phụ thuộc hàm vào khoá

- không tồn tại 1 trường hợp ngược lại: khoá phụ thuộc hàm không khoá

 Khái niệm khoá theo quan điểm phụ thuộc hàm

cho R={A1,A2,A3…AN}

K R, K gọi là khoá nếu:

- k {A1,A2,A3…AN}

- không tồn tại k’ k, k’ {A1,A2,A3…AN}

Trang 32

Ví dụ 2:R={ABCD},F={AB CD,D B}

dạng chuẩn 3NF , không ở dạng chuẩn BCNF vì khoá AB

CD không là khoá

 Quy tắc tách

nếu quan hệ không ở dạng chuẩn BCNF thì chuyển về BCNF như

sau(trong quan hệ vẫn có thuộc tính khoá phụ thuộc hàm vào không khoá)

-tách thuộc tính không khoá và thuộc tính khoá thuộc phụ thuộc hàm vào không khoá thành 1 bảng

- khoá của bảng tách là thuộc tính không khoá

Ví dụ 2 tách

R1:={B,D}

R2:={A,B,C}

R2={A,C,D}

Trang 33

 BÀI TẬP

Bài 1: cho R=(A,B,C,D,E,G)

F={AB CD,BC E,D GB}Yêu cầu:- tìm khoá

-xác định dạng chuẩn R

- tách R thanh BCNFBài 2:R=(A,B,C,D,E)

F={AB ED,E A,A C}

Yêu cầu:- tìm khoá

-xác định dạng chuẩn R

- tách R thanh BCNF

Trang 34

6 Cách kiểm tra

R được tách R1, R2

- cho R la tập thuộc tính,F là tập phụ thuộc hàm

- nếu R tách ra R1,R2 thì trong F có 1 phụ thuộc hàm có dạng

R1

Ngày đăng: 03/12/2015, 00:54

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm