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

Bài giảng Cơ sở dữ liệu – Đỗ Thị Mai Hường

88 60 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 88
Dung lượng 836,72 KB

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

Nội dung

Bài giảng Cơ sở dữ liệu biên soạn bởi giáo viên Đỗ Thị Mai Hường với các nội dung lý thuyết thiết kế cơ sở dữ liệu quan hệ; sự dư thừa; phụ thuộc hàm; hệ tiên đề Armstrong; tính chất của bao đóng X+...

Trang 3

Nội dung chi tiết

• Thuật toán tìm bao đóng

• Thuật toán tìm khóa

• Các dạng chuẩn

• Kiểm tra kết nối không mất thôông tin

Trang 4

Sự dư thừa

• Sự phụ thuộc giữa các thuộc tính g

Ví dụ: Điểm các môn học  Điểm tr

• Thuộc tính đa trị trong lược đồ ER

Lý thuyết CSDL

gây ra sự dư thừa

rung bình  xếp loại

 nhiều bộ số liệu trong lược đồ

S DCHI GT LUONG BANGCAP)

NVC Q5 Nam 40000

HVH QPN Nu 43000 Đại học HVH QPN Nu 43000 Trung học

Trung học

HVH QPN Nu 43000 Đại học Ria VT Nam 38000 Thạc sỹ

4

Trang 5

Sự dư thừa (tt)

• Sự dư thừa  sự dị thường

– Thao tác sửa đổi: cập nhật tất

– Thao tác xóa: người cuối cùng Thao tác xóa: người cuối cùng

cả các giá trị liên quan

g của đơn vị  mất thông tin về đơn

g của đơn vị  mất thông tin về đơn

NCHUC 1988

Tung Nguyen NV01

1988 1995 1981

Tung Nguyen Hung Nguyen

NV01 NV02

Trang 7

g đảm bảo tránh được các dị thường

hiều giá trị Null

kết hợp

sao cho chúng có thể được nối với tính là khoá chính hoặc khoá ngoài

h ra các bộ “giả”

ựa trên phụ thuộc hàm ) sẽ là

ựa trên phụ thuộc hàm, …) sẽ là việc phân tích và chuẩn hóa lược

Trang 8

Phụ thuộc hàm

Phụ thuộc hàm trong quan hệ r

• Cho lược đồ quan hệ R và X, Y là

– X={Hoten}, Y={DC, GT} không

• Phụ thuộc hàm trên r là trường hợ

Lý thuyết CSDL

• Phụ thuộc hàm trên r là trường hợ

à các tập con của R r là một quan

m Y ký hiệu X → Y trong r nếu với

au trên tập X thì chúng cũng bằng nếu t.X = t’.X  t.Y = t’.Y

Trang 9

Phụ thuộc hàm(tt)

• Phụ thuộc hàm trong quan hệ r

Ví dụ: trong lược đồ quan hệ sau nếu g

nhau thì từ Hoten có thể suy diễn ra tất

nếu thêm vào bộ có Hoten giống với bộ

Dự án

Trang 10

10

Trang 11

Phụ thuộc hàm(tt)

Phụ thuộc hàm trên lược đồ q

• Cho lược đồ quan hệ R và X,

X xác định phụ thuộc hàm Y k

hệ R Nếu với mọi r trên R xác

quan hệ R

Y là các tập con của R Ta nói

ký hiệu X → Y trên lược đồ quan

ký hiệu X → Y trên lược đồ quan

c định X → Y

Trang 16

16

Trang 17

Hệ tiên đề Armstron

Phé dẫ theo hệ tiê

• Phép suy dẫn theo hệ tiê

PTH f được suy dẫn theo hệ

nhận được từ F sau một số h

luật của tiên đề Armstrong

• Phép suy dẫn theo quan

PTH f suy dẫn được từ tập PT

f được suy dẫn theo quan hệ

nếu với mọi quan hệ r trên l

Trang 18

F |= X → A, nên theo định nghĩa X

F |= X → B, nên theo định nghĩa

F |= X → C, nên | , theo định nghĩa ị g

Trang 20

Hệ tiên đề Armstron

Giả sử có F | XY chứng minh

Giả sử có F |-XY chứng minh

20

Trang 21

• Vậy trong mọi trường hợp R tho

• Do giả thiết F |-XY , mà R tho XY

XY

• Do t1[X]=t2[X] nên t1[Y]=t2[Y]

ng

c phụ thuộc hàm của F Vì lấy

c phụ thuộc hàm của F Vì lấy

ả PQ Thật vậy:

X + R thoả PQ vì t[P]=t'[P] thì tt'

X R thoả PQ vì t[P] t [P] thì tt

và t'=t2 Do PQ thuộc F nên Q P + hay

oả các phụ thuộc hàm của F.

oả tất cả các fds của F, R cũng thoả fd suy ra Y X +  đpcm.

Trang 23

 G +

Trang 24

Bao đóng X+

• Định nghĩa bao đóng X +

Cho lược đồ quan hệ R = {A ợ q ệ { 11, ,

trên R X là tập con của tập th

Bao đóng X đối với F, ký hiệu X

Trang 26

Thuật toán tìm bao đóng

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

Vấn đề được đưa ra ở đây là: C

F + Để giải quyết bài toán g q y

t 6 của tập bao đóng hay

sẽ giải quyết được bài toán

26

Trang 27

Thuật toán tìm bao đóng

•Thuật toán tìm bao đóng

Thuật toán tìm bao đóng X +

Trang 28

Thuật toán tìm bao đóng

Thuật toán

Input: Lược đồ quan hệ R

Tập PTH F, Tập thuộ Output: Tập X +

Begin

Y:=X Repeat

Trang 29

Thuật toán tìm bao đóng

A} (CE → A  F + Hoặc CE →

Trang 30

Thuật toán tìm bao đóng

 X k

=> X k  X +

30

Trang 32

32

Trang 34

Khóa của sơ đồ quan

Trong lược đồ quan hệ một số

quan trọng, và từ các thuộc tín

thuộc tính khác.

Khái niệm sơ đồ quan hệ:

Cho lược đồ quan hệ: R ={A11,

phụ thuộc hàm trên R Sơ đồ q

quan hệ và tập phụ thuộc

34

Trang 35

Khóa của sơ đồ quan

Định nghĩa khóa sơ đồ quan hệ

k  R được gọi là khóa tối thiểu của sơ

thiểu kéo theo R, tức là k là khóa tố

bớt khỏi k dù một phần tử thì bao đó

k  R gọi là khóa tối thiểu nếu thỏa mã

1 k + = R

2 (k-A) + ≠ R, với mọi A 

Những thuộc tính thuộc khóa gọi là thu

không thuộc khóa gọi là thuộc tính k

Siêu khóa:

Siêu khóa:

X là siêu khóa nếu X thỏa mãn điều

hệ

đồ quan hệ trên W nếu k là tập tối

ối thiểu nếu: k + = R (k→R) và nếu óng của tập còn lại khác R.

ãn:

 k.

uộc tính khóa những thuộc tính

uộc tính khóa, những thuộc tính không khóa (thuộc tính thứ cấp).

u kiện 1.

Trang 36

Khóa của sơ đồ quan

của r ta luôn có t1.k ≠ t2.k

à với mọi quan hệ r trên R mà

k là khóa của sơ đồ q an hệ W

k là khóa của sơ đồ quan hệ W

36

Trang 37

Thuật toán tìm khóa

Do bao đóng của k là R nên ba

Trang 38

Thuật toán tìm khóa

Mô tả thuật toán bằng giả mã

Begin

k = R For each A in k do

if (k-A) + = R then

k = k –A End.

Thuật toán sẽ tìm được một kh

Nếu muốn tìm được khóa khác

loại trừ các phần tử A ra khỏi k ạ p

Lý thuyết CSDL

hóa k cho R

ta có thể thay đổi thứ tự k.

38

Trang 39

Thuật toán tìm khóa

Trang 40

Các tính chất của khó

1 Các thuộc tính không xuất hiện tro

tập F phải có trong mọi khóa k

2 Các thuộc tính chỉ xuất hiện bên tr

phải thuộc mọi khóa k

3 Những thuộc tính xuất hiện, và chg

PTH sẽ không thuộc bất kỳ khóa nào

4 Thuật toán khẳng định mọi SĐQHậ g ị ọ Q

thuật toán không khẳng định có bao

phần tử trong khóa có như nhau hay

ong cả hai vế trái hoặc phải của

rái của các PTH trong F cũng

hỉ xuất hiện bên vế phải của tập p po

H W đều có khóa, tuy nhiên , ynhiêu khóa và số lượng các không.g

H W là hệ Sperner (tức là không

40

Trang 42

Thuật toán tìm mọi kh ậ ọ

• Ý tưởngg

Cho W=<R,F>,

1 Tìm tất cả tập con khác rỗng củ

2 Loại tập con có bao đóng khác

3 Loại tập con bao tập con khác

4 Những tập còn lại là khóa của W

Lý thuyết CSDL

hóa

ủa RR

W

42

Trang 43

Thuật toán tìm mọi kh

B

Trang 44

Thuật toán tìm mọi kh ậ ọ

• Một số cải tiến ộ

- Theo tính chất của khóa chún

tính luôn thuộc khóa Trong thu g

xét nó và thêm vào khóa

- Một số thuộc tính không thuộ ộ ộ g ộ

nó trong quá trình tìm kiếm khó

Lý thuyết CSDL

hóa…

g ta sẽ có một số thuộc uật toán tìm khóa sẽ không g

c khóa nào cả Ta loại bỏ ạ óa

44

Trang 45

Thuật toán tìm mọi kh

• Thuật toán Thuật toán

Cho W=<R,F>, R={A, B, C, D,

F={A → B A → C B→A B →C

- Chắc chắn D, E tham gia mọi

- H sẽ không tham gia vào khó

• Thuật toán tìm khóa: sẽ khôn

khỏi tập Tập khởi tạo ban đầu

• Thuật toán tìm mọi khóa: Th

Trang 46

Thuật toán tìm mọi kh

46

Trang 47

4.R(ABCDEGH); với F=[A →

5.R(ABCDEG); với F=[AB →

Trang 48

p các điề kiện trên l ợc đồ

p các điều kiện trên lược đồ của nó (liên quan tới dư thừa và

phân tích lược đồ quan hệ dựa

h để đạt được

ật bất thường

48

Trang 49

– Một loạt các kiểm tra dạng

lược đồ quan hệ riêng rẽ sa

có thể được chuẩn hoá đến

• Tính chấtc ấ

– Nối không mất mát (hoặc n

– Bảo toàn sự phụ thuộc ảo toà sự p ụ t uộc

• nó đảm bảo rằng từng p

hân tích các lược đồ quan hệ

các phụ thuộc hàm giữa các

chuẩn có thể thực hiện trên các

ao cho cơ sở dữ liệu quan hệ

ao cho cơ sở dữ liệu quan hệ

n một mức cần thiết

nối không phụ thêm)

phụ thuộc hàm sẽ được biểu

Trang 50

Các dạng chuẩn (tt)

• Phân loại

– Boyce Codd đề nghị 3 dạng

• 1NF (first normal form):

• 1NF (first normal form):

của lược đồ quan hệ (qu

• 2NF: ko có giá trị trong t

• 3NF  BCNF: thường s– 4NF 5NF do tính đa trị và p

Lý thuyết CSDL

g tương đương với định nghĩa

tương đương với định nghĩa uan hệ và bộ)

thực tiễn

sử dụng nhiều nhấtphụ thuộc hàm nối

50

Trang 51

Dạng chuẩn 1

• Đn: gọi là 1NF nếu miền giá trị của một thu

phân chia được) và giá trị của mỗi thuộc tín

của nó hoặc không chứa nhóm thuộc tính lặ

uộc tính chỉ chứa giá trị nguyên tử (đơn, ko

uộc tính chỉ chứa giá trị nguyên tử (đơn, ko

nh cũng là một giá trị đơn lấy từ miền giá trị ặp.

G, TenPHG, DDIEM )

Thuộc tính đa trị

HG(MaPHG, MADDIEM ,TENDD)

Trang 52

– Ẩn chứa các phụ thuộc hàm

bộ phận –

Lý thuyết CSDL

F

EM)

DIADIEM MAPHG

4 5 5

VUNGTAU NHATRANG

HA NOI

52

Trang 53

òn đúng nữa gA})  Y : là sai

phụ thuộc hàm X  Y là phụ

p ụ uộc à  à p ụmột thuộc tính A X, ra khỏi X

u đó có nghĩa là với

 Y

Trang 54

Dạng chuẩn 2 (tt)

• 2NF:

• 2NF:

– Thỏa mãn 1NF

– Phụ thuộc hàm đầy đủ vào khó Phụ thuộc hàm đầy đủ vào khó

hàm vào một phần của khóa)

• Với các quan hệ có thuộc tính

• Chỉ kiểm tra các lược đồ có ch

Lý thuyết CSDL

óa chính ( không tồn tại phụ thuộc

óa chính ( không tồn tại phụ thuộc

h khóa đơn thì ko phải xéthứa phụ thuộc hàm bộ phận

54

Trang 55

vào MaDA

Trang 56

c vào MaDA

DA DDiemDA)

56

Trang 57

– Không có thuộc tính không kho

vào khoá chính( không có phụ

ó h th ộ hà ó ồ

có phụ thuộc hàm có nguồn

thuộc tính không khóa)

huộc bắc cầuhuộc bắc cầu

à ở 3NF nếu nó thoả mãn ( theo

à ở 3NF nếu nó thoả mãn ( theo

oá nào của R là phụ thuộc bắc cầu

thuộc hàm ngoài khóa tức là không

là th ộ tí h khô khó đí h là

là thuộc tính không khóa, đích là

Trang 58

Phụ thuộc vào MaDV

hụ thuộc vào thuộc tính khóa

c vào thuộc tính ko phải là khóa

ác thuộc tính đó thành quan hệ

58

Trang 59

CHI, MaDV, TenDV, TruongPHG)

Phụ thuộc vào MaDV

CHI, MaDV, TenDV, TruongPHG)

HI MaDV)

DONVI(MaDV, TenDV, TruongPHG)

Trang 60

Tóm tắt 3 dạng chuẩn

NF Nhận biết

1 Quan hệ có thuộc tính đa trị

1 Quan hệ có thuộc tính đa trị

hoặc quan hệ lặp

2 Phụ thuộc 1 phần vào thuộc

tính khóa

3 Phụ thuộc ẩn, tồn tại phụ thuộc

hàm giữa các thuộc tính ko phải

Loại bỏ các thuộc tính vi phạm dạng chuẩn

Loại bỏ các thuộc tính vi phạm dạng chuẩn

1 và đặt chúng vào một bảng riêng cùng với khoá chính của quan hệ ban đầu Khoá

chính của bảng này là một tổ hợp của khoá

hí h ủ hệ b đầ à h ộ í h

chính của quan hệ ban đầu và thuộc tính

đa trị hoặc khoá bộ phận của nhóm lặp

Các thuộc tính còn lại lập thành một quan

hệ với khóa chính là khóa chính ban đầu

hệ với khóa chính là khóa chính ban đầu Loại bỏ các thuộc tính không khoá phụ thuộc vào một bộ phận khoá chính và tách thành ra một bảng riêng, khoá chính của

thành ra một bảng riêng, khoá chính của bảng là bộ phận khoá mà chúng phụ thuộc vào Các thuộc tính còn lại lập thành một quan hệ, khóa chính của nó là khóa chính

b đầ ban đầu

Trang 61

Ví dụ kiểm tra dạng c

• Ví dụ 1: Cho lược đồ W=<R={

ĐiemThi}; F={ MaSVTenSV

Kiểm tra W có ở dạng chuẩn 3

• Ví dụ 2: Cho lược đồ quan hệ

W=<R= ABC; F={AB  C

W=<R= ABC; F={AB  C

• Hỏi W có ở dạng chuẩn 3NF h

chuẩn (tt)

{MaSV TenSV MaMT

{MaSV, TenSV, MaMT,

; MaSV, MaMTĐiemThi}> 3NF không?

3NF không?

C; BC  A}>

C; BC  A}>

hay không?

Trang 62

Ví dụ kiểm tra dạng c

• Ví dụ 3: Cho sơ đồ quan hệ W n

• W=<U=CTRHSG;F={C  T HR

• W=<U=CTRHSG;F={C  T,HR

Yêu cầu: Kiểm tra W có ở dạng

• Yêu cầu: Kiểm tra W có ở dạng

không W ở dạng chuẩn nào?

Trang 63

Ví dụ kiểm tra dạng c

• Xác định tập K các khoá của W và

• Nhận xét: Thuộc tính HS tham gia

trái Kiểm tra HS có phải là khoá k

– R là thuộc tính không khoá: HS g

– Như vậy R phụ thuộc bắc cầu

Suy ra W không ở dạng chuẩn

chuẩn (tt)

à tập N các thuộc tính không khoá

à tập N các thuộc tính không khoá.

a khoá vì chúng chỉ xuất hiện ở vế không.

hất, N={RCTG} là các thuộc tính

ngoài khóa Suy ra W không ở

S  HT  R (HT không  HS) ( g ) vào khoá HS thông qua cầu HT

n 3NF.

Trang 64

Ví dụ kiểm tra dạng c

• Kiểm tra N=RCTG có phụ thuộc

• Kiểm tra N=RCTG có phụ thuộc

H : C H

Vậy C phụ thuộc đầy

S

H C

Trang 65

Dạng chuẩn Boyce-C

• Một lược đồ quan hệ R được

• Một lược đồ quan hệ R được

Trang 67

Dạng chuẩn Boyce-C

• Nếu một lược đồ quan hệ không tho

chuẩn hóa bao gồm:

– tách các thuộc tính khóa phụ thuộ

thành một quan hệ bổ sung thêm

làm khóa của quan hệ này

– Các thuộc tính còn lại tạo thành m

ban đầu và thuộc tính gây ra sự p

oả mãn điều kiện BCNF thủ tục

oả mãn điều kiện BCNF, thủ tục

ộc hàm vào thuộc tính không khóa ra

m thuộc tính gây ra sự phụ thuộc vào

m thuộc tính gây ra sự phụ thuộc vào

một LĐQH, khóa là một phần của khóa phụ thuộc

phụ thuộc.

Trang 69

Ví dụ về chuẩn hóa q

Do có phụ thuộc hàm A E F

• Do có phụ thuộc hàm A→ E,F

của khóa chính nên quan hệ R

Trang 71

Tách kết nối không m

• Ví dụ: Cho lược đồ

• Ví dụ: Cho lược đồ

=<U={MaSV, TenSV, MaMT

F={MaSVTenSV; MaMTT

F={MaSVTenSV; MaMTT

MaMTĐiemThi}>

• Tách lược đồ  thành các lượác ược đồ  à các ượ

• 1=<U1={MaSV, TenSV}; F1={

• 22=<UU22={MaMT, TenMon}; F{ a , e o }; 22=

• 3=<U3={MaSV, MaMT, DiemT

MaMTĐiemThi}>

mất thông tin(tt)

, TenMon, ĐiemThi};

TenMon; MaSVTenMon; MaSV,

ợc đồ sau:

ợc đồ sau{MaSVTenSV}>

={MaMTTenMon}> { a  e o }Thi}; F3={MaSV,

Trang 72

Tách kết nối không m

• Lấy quan hệ R là quan hệ KET

TenMon, ĐiemThi) khi đó ta có

• RR11= KETQUA[MaSV TenSV]= KETQUA[MaSV, TenSV]

TQUA(MaSV TenSV MaMT

TQUA(MaSV, TenSV, MaMT, ó:

=SINHVIEN1

=SINHVIEN1n] =MONTHI2DiemThi] =KQUA

Trang 73

n và không tổn thất thông tin:

n và không tổn thất thông tin:

Trang 74

dụng các phép chiếu và nối tự nhiê

mất mát thông tin chưa không phả

chất này ta nên gọi chính xác hơn l

chất nối không mất mát thông tin

bộ phụ thêm (các bộ giả) sau khi áp

ên Nghĩa của từ mất mát ở đây là

ên Nghĩa của từ mất mát ở đây là

i mất các bộ giá trị Vì vậy, với tính

là tính chất nối không phụ thêm

74

Trang 75

emThi )

iemThi)

Trang 76

với thuộc tính A hàng i tươn

với thuộc tính Aj , hàng i tươn

Trang 77

Kiểm tra tính tách kết nố

thông tin…

Bước lặp: Áp dụng các PTH trong

• Xét nhiều lần mỗi phụ thuộc hà

không xét được nữa Với mỗi F g ợ

trị giống nhau trên tập X thì ta

với lưu ý là nếu một trong 2 ký

làm bằng chúng bằng một trong

• Thuật toán dừng khi trong bảng

hoặc cho đến khi không xét dư

- Kết luận: Nếu có một dòng toàn

ối không mất

g F cho bảng vừa xây dựng:

àm X  Y thuộc F cho đến khi FTH XY mà trong bảng có giá g g g cho chúng bằng nhau trên tập Y

ý hiệu là aj thì chọn aj ngược lại

ý hiệu là aj thì chọn aj, ngược lại

g các kí hiệu bij.

g có một dòng toàn là ký tự a ược nữa.

n a thì phép tách kết nối đó không

Trang 81

Kiểm tra tính tách kết nố

thông tin…

Ví dụ:

• Cho lược đồ quan hệ R=ABCD

• Tách R thành các lược đồ sau Tách R thành các lược đồ sau

• R1 = AD, R2=AB, R3= BE, R4

• Tập phụ thuộc hàm F=(AC,B p p (

• Xác định phép tách trên có mấ

ối không mất

DE ::

= CDE, R5= AE BC,CD,DEC,CEA))

ất thông tin hay không?

Trang 83

Tách quan hệ thành các quan

chất nối không mất thông tin.

chất nối không mất thông tin

Input: Lược đồ quan hệ R và tập cá

• Mỗi lần đi vào vòng lặp trong thuật toán

không phải BCNF thành hai lược đồ qu

quan hệ trong D sẽ ở BCNF

hệ BCNF với tính

ác phụ thuộc hàm F trên các thuộc

ác phụ thuộc hàm F trên các thuộc

ong D không phải ở BCNF, thực

D không ở BCNF hãy tìm một phụ thuộc hay thế Q trong D bằng hai lược đồ quan khi không còn quan hệ nào trong D vi

khi không còn quan hệ nào trong D vi

n trên, chúng ta tách một quan hệ Q uan hệ Kết thúc thuật toán, tất cả các

Trang 84

Tách quan hệ thành các quan

chất nối không mất thông tin g g

• Trong bước 2 của thuật toán trên

quan hệ Q có ở BCNF hay không

đó là kiểm tra Với mỗi phụ thuộc

Nếu X + không chứa tất cả các th

phạm BCNF bởi vì X không phải

là một siêu khóa ộ

84

Trang 85

Ví dụ

• Xét lược đồ quan hệ R = { A, B, C, D, E

Với á h th ộ hà A BCDEF BC

Với các phụ thuộc hàm: A → BCDEF, BC

Lược đồ quan hệ này có hai khóa là A v

≠ R ê B khô hải là iê khó

≠ R nên B không phải là siêu khóa, thuộc hàm B→ F, R2(A,B,C,D,E) với

→ADE D→E D→B

→ADE, D→E, D→B ( D là một thuộc tính không khóa ), R2thuộc hàm D → E, R22(ABCD) với các

D, D→ B

F (Dkhông phải là thuộc tính khóa), R22A,C,D) với phụ thuộc hàm A → CD

Trang 86

THẢO LUẬN

Nội dung 1: Trả lời câu hỏi

• Trình khái niệm về phụ thuộc

• Các khái niệm về phụ thuộc h

• Các khái niệm về phụ thuộc h

• Phân biệt các dạng chuẩn?

ối có làm mất thông tin?

chuẩn hóa dữ liệu?

86

Trang 87

THẢO LUẬN

Nội dung 2: Thảo luận theo nh

Thực hiện chuẩn hóa dữ liệ

trong chương 2 theo lý thuy

hóm

ệu với đề tài nhóm đã chọn yết các dạng chuẩn 1, 2, 3.

Trang 88

Lý thuyết CSDL 88

Ngày đăng: 24/09/2020, 04:19

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