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

baì giảng thiết kế cơ sở dữ liệu chương 2mô hình dữ liệu và các phụ thuộc dữ liệu - gv. dương khai phong

58 353 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 58
Dung lượng 2,62 MB

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

Nội dung

Quan hệ Relation Một quan hệ Q được định nghĩa trên một tập thuộc tính {A1,A2, ... Định nghĩa:  Tập phụ thuộc hàm của một quan hệ:  Tập hợp các PTH không hiển nhiên của Q, ký hiệu là F

Trang 1

ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong

Số tiết lý thuyết: 45 tiết

Số tiết thực hành: 30 tiết

GVHD: Dương Khai Phong – Email khaiphong@gmail.com

Trang 2

Chương 1: Giới thiệu tổng quan

Chương 2: Mô hình dữ liệu và các phụ thuộc dữ liệu

Chương 3: Phương pháp chuẩn hóa Lược đồ CSDL

Chương 4: Lý thuyết đồ thị quan hệ

Chương 5: Thiết kế CSDL ở mức vật lý

Trang 4

Xét bài toán: quản lý lịch dạy của các giáo viên và lịch họccủa các lớp, một trường tổ chức như sau:

Mỗi giáo viên có một mã số duy nhất, trường sẽ tổ chức lưuthông tin các giáo viên bao gồm: họ và tên giáo viên, sốđiện thoại gồm 10 số Mỗi giáo viên có thể dạy nhiều môncho nhiều khoa nhưng chỉ thuộc sự quản lý hành chánh củamột khoa nào đó

3 Khóa?

1 Thuộc tính?

2 Quan hệ?

4 Bộ - Phép chiếu?

Trang 5

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Các khái niệm mô hình dữ liệu

1 Thuộc tính

2 Quan hệ

4 Bộ - Phép chiếu

3 Khóa

Trang 6

Xét bài toán: quản lý lịch dạy của các giáo viên và lịch họccủa các lớp, một trường tổ chức như sau:

Mỗi giáo viên có một mã số duy nhất, trường sẽ tổ chức lưuthông tin các giáo viên bao gồm: họ và tên giáo viên, sốđiện thoại gồm 10 số Mỗi giáo viên có thể dạy nhiều môncho nhiều khoa nhưng chỉ thuộc sự quản lý hành chánh củamột khoa nào đó

GIAOVIEN o

Thuộc tính Quan hệ

Trang 7

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Các khái niệm mô hình dữ liệu

1 Thuộc tính (Attribute) là thông tin đặc thù của mỗi đối tượng được quản lý

-Thuộc tính đươc xác đỉnh bởi:

- Tên gọi (ví dụ TenSV, TenGV, )

- Kiểu dữ liệu (Type): số, văn bản, Boolean

- Miền giá trị (Domain): Ký hiệu MGT(A)

GIAOVIEN o

MAGV HO TEN SODT TENMH TENKHOA

GV01 Nguyen A 123 CSDL HTTT GV02 Tran B 456 THĐC CNPM GV02 Le C 789 Mạng MMT GV01 Nguyen A 123 TKCSDL HTTT

Trang 8

2 Quan hệ (Relation) Một quan hệ Q được định nghĩa trên một tập thuộc tính {A1,

A2, , An} là một sự biểu diễn tập đối tượng cớ chung các thuộc tính.

- Ký hiệu: Q(A1, A2, , An)

- Ký hiệu: Q + dùng biểu diễn tập thuộc tính {A1, A2, , An}

- Mỗi quan hệ Q đều kèm theo một tân từ IIQII dùng để mô tả mối liên hệ ngữ nghĩa của các thuộc tính trong Q.

Ví du: KetOuaHTYMSSV MSMon HocKy, DiemLl, DiemL2)

GIAOVIEN o

MAGV HO TEN SODT TENMH TENKHOA

GV01 Nguyen A 123 CSDL HTTT GV02 Tran B 456 THĐC CNPM GV02 Le C 789 Mạng MMT GV01 Nguyen A 123 TKCSDL HTTT

Trang 9

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Các khái niệm mô hình dữ liệu

3 Bộ (Tuple) Một bộ q của quan hệ Q(A1, A2, ,An) là một tổ hợp giá trị (a1, a2, ,an) thoả 2 điều kiện:

(1)  Ai  Q + , ai MGT(Ai)

(2) Tân từ IIQ(a1, a2, ,an) II phải được thoả

Ví dụ: quan hệ GIAOVIEN thì có các bộ

q1=(GV01, Nguyen, A, 123, CSDL, HTTT)

* Thể hiện (instance) của quan hệ Q, ký hiệu TQ, là một tập các bộ của Q

TQ = { q= (a , a , ,a ) / ai  MGT(A ), IIQ(q)ll = TRUE }

GIAOVIEN o

MAGV HO TEN SODT TENMH TENKHOA

GV01 Nguyen A 123 CSDL HTTT GV02 Tran B 456 THĐC CNPM GV02 Le C 789 Mạng MMT GV01 Nguyen A 123 TKCSDL HTTT

Trang 10

4 Siêu khóa (Super key): siêu khóa trên quan hệ Q là một tập thuộc tính S  Q +

nếu mỗi giá trị của S có thể xác định duy nhất một bộ của Q

MAGV HO TEN SODT TENMH TENKHOA

GV01 Nguyen A 123 CSDL HTTT GV02 Tran B 456 THĐC CNPM GV02 Le C 789 Mạng MMT GV01 Nguyen A 123 TKCSDL HTTT

Trang 11

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Các khái niệm mô hình dữ liệu

4 Siêu khóa (Super key): siêu khóa trên quan hệ Q là một tập thuộc tính S  Q +

nếu mỗi giá trị của S có thể xác định duy nhất một bộ của Q

MAGV HO TEN SODT TENMH TENKHOA

GV01 Nguyen A 123 CSDL HTTT GV02 Tran B 456 THĐC CNPM GV02 Le C 789 Mạng MMT GV01 Nguyen A 123 TKCSDL HTTT

Trang 12

 Một CSDL là 1 tập hợp các quan hệ, Ký hiệu: 𝑐 = {𝑄𝑖}𝑖=1𝑡

 Phép chiếu của một bộ q lên tập thuộc tính X  Q + là phép trích ra từ bộ q các giá trị tương ứng với tập thuộc tính X

Ký hiẽu: q.x hay q[X]

Ví dụ: q.[MAGV, TEN, TENMH] = {(GV01,A,CSDL), (GV02,B,THĐC),…}

 Chiếu một quan hệ Q lên tập thuộc tính X  Q + sẽ tạo thành một quan hệ Q' có

GIAOVIEN o

o o o o o

MAGV HO TEN SODIENTHOAI TENMONHOC TENKHOA

Characters (4) Characters (50) Characters (20) Characters (10) Characters (50) Characters (50)

LOP o

o MALOP TENLOP

Characters (4) Characters (40)

HOCVIEN o

o o o o

MAHV HOTEN NGSINH CMND MALOP

Characters (4) Characters (50) Date

Characters (11) Characters (4)

DATABASE

Trang 14

1 Xét bài toán: quản lý lịch bay các chuyến bay như sau

PHICONG MAYBAY NGAYKH GIOKH

+ Mỗi máy bay có một giờ khởi hành duy nhất.

+ Nếu biết phi công, biết ngày giờ khởi hành thì biết được máy bay đo phi công ấy lái.

+ Nếu biết máy bay, biết ngày khởi hành thì biết phi công lái chuyến bay đó.

PhanCong

CÁC RÀNG BUỘC NÀY ĐƯỢC GỌI

LÀ PHỤ THUỘC HÀM

Trang 15

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Phụ thuộc hàm

1 Xét bài toán: quản lý lịch bay các chuyến bay như sau

+ Mỗi máy bay có một giờ khởi hành duy nhất.

+ Nếu biết phi công, biết ngày giờ khởi hành thì biết được máy bay đo phi công

ấy lái.

+ Nếu biết máy bay, biết ngày khởi hành thì biết phi công lái chuyến bay đó.

Được phát biểu lại như sau:

+ MAYBAY xác định GIOKH.

+ {PHICONG,NGAYKH,GIOKH} xác định MAYBAY.

+ {MAYBAY,NGAYKH} xác định PHICONG.

+ GIOKH phụ thuộc hàm vào MAYBAY.

+ MAYBAY phụ thuộc hàm vào {PHICONG,NGAYKH,GIOKH}.

+ PHICONG phụ thuộc hàm vào {MAYBAY,NGAYKH}.

Và được ký hiệu:

+ {MAYBAY}  GIOKH.

+ {PHICONG,NGAYKH,GIOKH}  MAYBAY.

+ {MAYBAY,NGAYKH}  PHICONG.

Trang 16

Quy ước:

 Nếu Y không phụ thuộc hàm vào X thì ta ký hiệu: X  Y

 X  Y là phụ thuộc hàm hiển nhiên nếu Y  X

Trang 17

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Phụ thuộc hàm

2 Định nghĩa:

Tập phụ thuộc hàm của một quan hệ:

 Tập hợp các PTH không hiển nhiên của Q, ký hiệu là FQ

Trang 18

3 Ý nghĩa của PTH:

 PTH là công cụ dùng để biểu diễn một cách hình thức mối quan hệ dữ liệu của các thuộc tính bên trong CSDL

 Thông qua cách biểu diễn PTH, xác định khóa của quan hệ

 vai trò quan trọng trong các phương pháp thiết kế một

lược đồ quan niệm của CSDL:

Trang 19

ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong

Trang 20

Cho quan hệ R (A, B, C, D) như và thể hiện

R như hình bên, cho biết PTH nào liệt kê dưới

đây thỏa quan hệ:

Trang 21

{PHI CONG,MAYBAY} {PHICONG,NGAYKH} {PHICONG,GIOKH}

Trang 22

Cho lược đồ quan hệ PHANCONG(PHICONG,MAYBAY, NGAYKH, GIOKH) liệt kê các PTH có thể có của PHANCONG.

Hướng dẫn giải:

o Nhận xét số tập con có thể có của Q + = {A1, A1, ,An}là 2 n

o Ứng với mỗi tập con này lại sẽ có 2 n PTH có thể có.

 Số PTH có thể có: 2 n x 2 n = 2 n x n

{PHI CONG,MAYBAY} {PHICONG,NGAYKH} {PHICONG,GIOKH}

Trang 23

{PHI CONG,MAYBAY} {PHICONG,NGAYKH} {PHICONG,GIOKH}

Trang 24

a) Cho lược đồ quan hệ Q(A,B,C) liệt kê các tập con của Q + và các PTH

có thể có của Q.

b) Cho lược đồ quan hệ Q(A,B,C,D) liệt kê các tập con của Q + và các

PTH có thể có của Q.

Bài 5

Cho quan hệ R (A, B, C, D, E) và thể

hiện R như hình bên, cho biết PTH nào liệt

kê dưới đây thỏa quan hệ:

Trang 26

1 Bài toán:

Cho lược đồ quan hệ R = {ABCDEGH] và tập PTH

F = {AB  D ; B  E ; E  G ; DE  C; CD  GH; H  A; B  G}

PTH AB  H có suy diễn được

Trang 27

 Luật dẫn 2: Luật thêm vàoNếu X  Y và Z  W thì X, W  Y, Z

 Luật dẫn 3: Luật bắc cầu Nếu X  Y và Y  Z thì X  Z

Một số luật dẫn suy từ Hệ tiên đề Amstrong

 Luật dẫn 4: Luật phân rã Nếu X  Y, Z thì X  Y và X  Z

 Luật dẫn 5: Luật hội Nếu X  Y và X  Z thì X  Y, Z

 Luật dẫn 6: Luật bắc cầu giả Nếu X  Y và Y, Z  W thì X, Z  W

2 Phát biểu hệ tiên đề Amstrong:

Trang 28

Định nghĩa: Cho một quan hệ Q có tập phụ thuộc hàm FQ

Bao đóng của FQ, ký hiệu FQ+, là tập hợp tất cả các PTH có thể suy diễn từ FQ dựa vào hệ luật dẫn Amstrong

Trang 29

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Hệ tiên đề Amstrong

Nhận xét tính ứng dụng của bao đóng tập PTH:

 Xác định được tập các thuộc tính phụ thuộc vào một

tập thuộc tính X cho trước

 Kiểm tra một PTH nào đó có thuộc FQ+ ?

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

 Tips: Việc xây dựng bao đóng FQ+ tốn rất nhiều thời gian

Để giải quyết các bài toán trên người ta dựa vào 1 khái

 Các bước thực hiện:

B1: Tìm tất cả các tập con của Q+

B2: Tìm tất cả các phụ thuộc hàm của Q

B3: Vận dụng hệ tiên đề Amstrong để xác định FQ+

Trang 30

Định nghĩa:

Cho 1 LĐQH Q có tập các phụ thuộc hàm FQ={f1, f2, , fn}

và X  Q+ Bao đóng của tập thuộc tính X dựa trên FQ, kýhiệu XF+, là tập các thuộc tính phụ thuộc hàm vào X dựatrên F

XF+ = { Y  Q+ : X Y  F+}

Nhận xét:

 X  XF+

 Y  XF+  f: X Y  FQ+

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

Dựa vào nhận xét 2  giải quyết bài toán thành viên (bài

kiểm tra sự tồn tại của 1 pth)  định bao đóng của

Trang 31

 VT(fi): vế trái của phụ thuộc hàm fi

 VP(fi): vế phải của phụ thuộc hàm fi

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

Trang 32

 Ví dụ 1:

Cho Q(ABCDEGH) và tập PTH F ={f1:BA ; f2:DACE ;f3:D  H ; f4:GH  C; f5:AC  D}

a) Tìm bao đóng của tập thuộc tính X1 = {BD}

b) Tìm bao đóng của tập thuộc tính X2 = {BCG}

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

Trang 33

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

Nhận xét thấy (EF)  (AB)F+ = ABCDEF

Kết luận vậy AB  EF có thuộc vào F +

.

Trang 38

Các phụ thuộc dữ liệu

Các khái niệm mô hình dữ liệu (ôn) Phụ thuộc hàm

Hệ tiên đề Amstrong Bài toán tìm khóa và Bài toán PTH

Trang 39

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Bài toán tìm khóa và Bài toán PTH

1 Bài toán tìm khóa:

Định nghĩa: Cho LĐQH Q và tập PTH FQ={f1,f2, ,fn}

 S  Q+, S là siêu khóa của Q nếu SQ+  FQ

 K  Q+, K là khóa chỉ định nếu K là siêu khóa và pth

KQ+ là pth nguyên tố (Không tồn tại K’ là con thật

sự của K để K’ > Q+)

Nhận xét: Nếu đồ thị biểu diễn của tập pth F không

chứa chu trình thì Q chỉ có duy nhất một khóa.

f1 D

Trang 40

1 Bài toán tìm khóa:

Ý tưởng tìm khóa:

 Gọi N là tập thuộc tính nguồn, chỉ chứa thuộc tính không

có bên vế phải của các phụ thuộc hàm

 Gọi M là tập thuộc tính trung gian, chứa các thuộc tínhvừa xuất hiện bên vế phải vừa xuất hiện bên vế trái

 Nếu bao đóng NF+= Q+ thì N chính là khóa chỉ định của

Q và là khóa duy nhất

 Ngược lại, ta lần lượt hội N với từng tập con của M đểkiểm tra có là khóa chỉ định hay không

Trang 41

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Bài toán tìm khóa và Bài toán PTH

1 Bài toán tìm khóa:

Ví dụ: Cho quan hệ Giảng dạy: GD(MsGV, Hoten, MsMH, TenMH,

Phòng, Giờ) và F={f1:MsGVHoten ; f2: MsMHTenMH ; f3:

Hướng dẫn giải:

Bước 3:

Vậy quan hệ GD có khóa duy nhất là {MsGV, Gio}

Trang 42

1 Bài toán tìm khóa:

Thuật toán tìm tất cả các khóa:

B2: Xây dựng 2 m tập con của tập M với m = Card(M)

B3: Xây dựng tập K chứa các khóa

Trang 43

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Bài toán tìm khóa và Bài toán PTH

1 Bài toán tìm khóa:

Ví dụ: Cho quan hệ Q(ABCDEFG) và FQ = { f1: EC B ; f2: AB C;

E C

Đồ thị biểu diễn tập PTH

DEFBC AG

Trang 44

ABCG K i K i = N K i K + I F Siêu khóa Khóa

Trang 45

ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong

Trang 46

Cho Q(ABCD) có F = {f1:AC ; f2:DC ; f3:B A}.

Cho quan hệ Q(ABCDEG) và tập pth: F = {ABC ; C  A ;

BCD ; ACDB ; DEG; BEC ; CGBD ; CEAG}

a) Tìm bao đóng {BD}

b) Tìm khóa của Q

Trang 48

1 Bài toán PTH:

a PTH có vế trái dư thừa:

Định nghĩa: Cho LĐQH Q và tập PTH FQ={f1,f2, ,fn}

 Phụ thuộc hàm f: Z  Y  FQ có vế trái dư thừa (phụ

thuộc không đầy đủ) nếu tồn tại A  Z sao cho:

FQ′  (FQ – {f: Z  Y })  {(Z - A)  Y}

 Ngược lại gọi PTH f: Z  Y là PTH có vế trái không

dư thừa hay Y phụ thuộc hàm đầy đủ vào Z

Ví dụ 1: cho Q(A, B, C) và F = {AB  C ; B  C}

A  C

B  C: đã tồn tại trong F  B dư thừa AB  C là PTH không đầy đủ

- Nhận xét: PTH AB  C

Trang 49

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Bài toán tìm khóa và Bài toán PTH

B1: lần lượt thực hiện bước 2 cho các PTH X  Y  F

B2: với mọi tập thuộc tính con X’   của X

Trang 50

1 Bài toán PTH:

b Tập PTH có vế phải một thuộc tính:

Ví dụ: cho Q(A, B, C, D) và F = {A  BC ; B  C ; AB  D }

Nhận xét: hiển nhiên có một tập PTH G tương đương với F (ký hiệu G 

F) mà vế phải của các PTH  G chỉ gồm 1 thuộc tính

G = {AB ; AC ; B C ; ABD }

c Tập PTH không dư thừa:

Ví dụ: cho Q(A, B, C, D) và F = {A  BC ; B  D ; AB  D }

F là tập PTH không dư thừa nếu không tồn tại F’  F sao cho F’  F

Ngược lại F là tập PTH dư thừa

Nhận xét: F là tập PTH dư thừa vì tồn tại F’  F:

F’ = {ABC ; B D}

B1: lần lượt thực hiện bước 2 cho các PTH X  Y  F

Trang 51

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Bài toán tìm khóa và Bài toán PTH

1 Bài toán PTH:

d Tập PTH tối thiểu: (minimal cover)

Định nghĩa: F được gọi là tập PTH tối thiểu (phủ tối thiểu)

nếu F thỏa đồn thời 3 điều kiện sau:

 F là tập PTH có vế trái không dư thừa

Trang 52

1 Bài toán PTH:

d Tập PTH tối thiểu: (minimal cover)

Thuật toán tìm phủ tối thiểu của một tập PTH:

B1: loại khỏi F các PTH có vế trái dư thừa

B2: tách các PTH mà vế phải có trên một thuộc tínhthành các PTH có vế phải một thuộc tính

B3: loại khỏi F các PTH dư thừa

Trang 53

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Bài toán tìm khóa và Bài toán PTH

1 Bài toán PTH:

d Tập PTH tối thiểu: (minimal cover)

Ví dụ tìm phủ tối thiểu của một tập PTH:

1) Cho Q(A, B, C, D) và F = {AB  CD ; B  C ; C  D }

B1: loại khỏi F các PTH có vế trái dư thừa.

• PTH AB  CD có vế trái dư thừa?

A  CD: tính (A) + dựa trên tập F1 = {B  C ; C  D }

Trang 54

1 Bài toán PTH:

d Tập PTH tối thiểu: (minimal cover)

Ví dụ tìm phủ tối thiểu của một tập PTH:

1) Cho Q(A, B, C, D) và F = {AB  CD ; B  C ; C  D }

B2: tách các PTH mà vế phải có trên một thuộc tính thành các PTH có

Trang 55

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Bài toán tìm khóa và Bài toán PTH

1 Bài toán PTH:

d Tập PTH tối thiểu: (minimal cover)

Ví dụ tìm phủ tối thiểu của một tập PTH:

1) Cho Q(A, B, C, D) và F = {AB  CD ; B  C ; C  D }

Xét B  D  G + ? với G = F” - {B  D } = {B  C ; C  D}

Tính (B)𝐺+ = B

= BC (do có B  C)

= BCD (do có C  D) Vậy B  D  G +  pth B  D dư thừa trong F” (loại khỏi F”)

Vậy thay F” = F1" = {B  C ; C  D}

B3: loại khỏi F” = {B  D ; B  C ; C  D} các PTH dư thừa

Xét B  C  G + ? với G = F1" - {B  C } = {C  D}: không loại được

Xét C  D  G + ? với G = F1" - {C  D } = {B  C}: không loại được

Trang 57

 Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Xác định khóa và tập phủ tối thiểu:

Ngày đăng: 17/10/2014, 07:23

HÌNH ẢNH LIÊN QUAN

Đồ thị biểu diễn tập PTH - baì giảng thiết kế cơ sở dữ liệu chương 2mô hình dữ liệu và các phụ thuộc dữ liệu - gv. dương khai phong
th ị biểu diễn tập PTH (Trang 43)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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