1. Trang chủ
  2. » Kỹ Năng Mềm

Các bài tập chương 3: Thiết kế CSDL Quan hệ

8 215 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 20,51 KB

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

Nội dung

Ra: phép tách không mất mát thông tin bao gồm một tập các sơ đồ con ở BCNF với các phụ thuộc hàm là hình chiếu của F lên sơ đồ đó.. Giải thuật: B1..[r]

Trang 1

THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ

I Phụ thuộc hàm:

Đ/N 1: Cho R(U) là 1 sơ đồ quan hệ, U là tập các thuộc tính X, Y  U

X xác định hàm Y hay Y phụ thuộc hàm vào X nếu

với mỗi quan hệ r xác định trên R(U) và với 2 bộ t1,t2 quan hệ r xác định trên R(U) và với 2 bộ t1,t2 bất kỳ

mà t1[X] = t2[X] thì t1[Y] = t2[Y]

Ký hiệu: XY

Đ/N 2:Bao đóng của tập thuộc tínhX là tập tất cả các thuộc tính được xác định hàm bởi X thông qua tập F

ký hiệu là X

ký hiệu là X +

X+= {A , X A suy diễn ra từ F}

Thuật toán tính bao đóng của1 tập thuộctính

Vào: Tập hữu hạn các thuộc tính U, tập các phụ thuộc hàm F trên U X U

Ra: X+

Thuật toán

B0 X0= X.

Bi Tính Xitừ Xi-1

Nếu YZ suy diễn ra từ F, và Y Xi-1, A Z , AXi-1

thì Xi= Xi-1A

ngược lại, Xi= Xi-1

Nếu XiXi-1

thì thực hiện Bi

ngược lai, thực hiện Bn

Bn: X+= Xi

Thuật toán tìm khoá

Vào: U = {A1, A2, …, An} , F

Ra: khóa tối thiểu K xác định được trên U và F

Thuật toán

B0 K0= U, n = |U|

Bi Nếu (Ki-1\{Ai})U U

thì Ki= Ki-1\{Ai}

ngược lại, Ki= Ki-1

Nếu i<n

thì i=i+1, thực hiện Bi

ngược lại, thực hiện Bn

Bn K = Ki

Trang 2

II Phép tách không mất mát thông tin:

Ví dụ:

Quản lý thu tiền học phí, U={ MaSV, Hoten, Malop, TenLop, MaNganh, TenNganh, Hocphi, NgayQĐ, Hocky, Ngaythu}

Tách U thành:

U1= {MaNganh, TenNganh, Hocphi}

U2={MaLop, TenLop, Manganh}

U3={MaSV, Hoten, Malop}

U4={Hocky,NgayQD}

U5={MaSV, Ngaythu}

Đ/N: Cho lược đồ quan hệ

quan hệ r xác định trên R(U) và với 2 bộ t1,t2 =(U,F), phép tách  thành các lược đồ con {U1, U2, …, Uk} được gọi là phép tách không mất mát thông tin đ/v một tập phụ thuộc hàm F nếu với mọi quan hệ r xác định trên U thỏa mãn F thì:

r = r1*r2* … rk, trong đó r1=U1(r)

2 Thuật toán kiểmtra tính không mất mát thông tin:

Bài toán

Vào: U=A1A2 An, F, phép tách (U1, U2, , Uk)

Ra: Phép tách  là mất mát thông tin hay không

Thuật toán

B1 Thiết lập một bảng k hàng, n cột

Nếu Aj là thuộc tính của Ri thì điền aj vào ô (i,j)

Nếu không thì điền bij

Bi Xét f = XY F

Nếu 2 hàng t1, t2 thuộc bảng : t1[X] = t2[X] 

thì t1[Y] = t2[Y], ưu tiên đồng nhất về giá trị a

Lặp cho tới khi không thể thay đổi được giá trị nào trong bảng

Bn Nếu bảng có 1 hàng gồm các kí hiệu a1, a2, … , an

thì phép tách là không mất mát thông tin

ngược lại, phép tách không bảo toàn thông tin

Vd: Chứng minh (U1,U2,U3,U4,U5) là phép tách không thất thoát thông tin Tìm các phụ thuộc hàm:

F=MaSVHoten, MaSV  Malop, MaLop  TenLop, MaNganh,

MaNganhTenNganh, Hocky NgayQD, MaSV,Hocky  Ngaythu

Trang 3

3 Chuẩn hóa lược đồ:

Đ/N: Một sơ đồ quan hệ R(U) với một tập phụ thuộc hàm F được gọi là ở dạng chuẩn BCNF (Boye-Codd) nếu với XA quan hệ r xác định trên R(U) và với 2 bộ t1,t2 U F+ và AX (F+ là tập các phụ thuộc hàm suy diễn ra từ F) thì X là Khóa

Ví dụ

R = {A,B,C} ; F = {ABC , CB} Khóa là AB

R không phải ở BCNF vì CB, C không phải là khóa

ký hiệu là X CB, C không phải là khóa U

2 Thuật toán tách không mất mát thông tin về BCNF

Vào: Sơ đồ quan hệ R, tập phụ thuộc hàm F

Ra: phép tách không mất mát thông tin bao gồm một tập các sơ đồ con ở

BCNF với các phụ thuộc hàm là hình chiếu của F lên sơ đồ đó

Giải thuật:

B1 KQ =(U,F)

B2.Với mỗi S KQ, S không ở BCNF, xét XA FS, với điều kiện X không chứa khóa của S và A X Thay thế S bởi S1, S2 với S1=A X, S2 = S\A

B3 Lặp (B2)cho đến khi S quan hệ r xác định trên R(U) và với 2 bộ t1,t2  KQ đều ở BCNF

KQ gồm các sơ đồ con của phép tách yêu cầu

F=MaSVHoten, MaSV  Malop, MaLop  TenLop, MaNganh,

MaNganhTenNganh, Hocky NgayQD, MaSV,Hocky  Ngaythu

Khóa là: MaSV,Hocky

Vậy: Lược đồ trên không ở dạng BCNF

Trang 4

5 BÀI TẬP VỀ CHUẨN HÓA

MỤC TIÊU CỦA BÀI NÀY GIÚP NGƯỜI HỌC

 Phân biệt các dạng chuẩn của quan hệ

 Xác định một lược đồ ở dạng chuẩn nào

 Vận dụng giải các bài tập về chuẩn hóa quan hệ (Đưa các lược đồ quan hệ (quan hệ) từ dạng chuẩn thấp lên dạng chuẩn cao hơn)

 Kiểm tra được một phép tách lược đồ aqua nhệ c ó mất thông tin không

Ví dụ:

Cho lược đồ  = (U, F) với

U=CRHTSG ( C : Course, T : Teacher, H Hour, R : Room, S : Student, G : Group)

F ={CU T , HR U C, CH U R, CSU G, HSU R}

Nhận xét

- Lược đồ này có duy nhất một khoá là HS

- Lược đồ này chưa ở dạng BCNF

- Ta thấy trong lược đồ  = (U, F) có phụ thuộc hàm CSU G vi phạm điều kiện BCNF nên ta tách lược đồ thành các lược U1 =CGS, U2 =CTHRS

- Ta thấy trong lược đồ 2 = (U2, F2) có phụ thuộc hàm CU T vi phạm điều kiện BCNF nên ta tách lược đồ thành các lược U3 =CT, U4 =CHRS

- Ta thấy trong lược đồ 4 = (U4, F4) có phụ thuộc hàm CHU R vi phạm điều kiện BCNF nên ta tách lược đồ thành các lược U5 =CHR, U6 =CHS

 = (U, F)U, F))

U1 =CSG

F)1={CSU G}

K=CS

U2 =CTHRS F)2={CU T, HRU C, CHU R, HSU R}

K=HS

U3 =CT F)3={CU T}

K=C

U4 =CHSR F)4={ HRU C, CHU R, HSU R}

K=HS

U5 =CHR F)5={ HRU C, HRU C}

K=HR, K=HC

U6 =CHS F)6={ HSU C}

K=HS

Trang 5

Như vậy phép tách cuối cùng là ={ CSG, CT , CHR , CHS }

III MỘT SỐ LƯU Ý

 Tầm quan trọng của việc chuẩn hóa dữ liệu

 Phân biệt các dạng chuẩn, phương pháp tách quan hệ ở dạng chuẩn thấp lên dạng chuẩn cao hơn

 Thuật toán kiểm tra phép tách có mất thông tin không?

B/ BÀI TẬP MẪU

Bài số 1: Kiểm tra phép tách có mất thông tin hay không?

Cho lược đồ quan hệ = (U, F) với

U={A1, A2, A3, A4, A5}

F={ A1 U A2 A3 , A2 A4U A5 , A2U A3}

={ A1 A2 A4, A2 A3, A1 A4 A5}

Hỏi rằng phép tách  trên có kết nối không mất thông tin không?

Hướng dẫn:

Áp dụng thuật toán kiểm tra phép tách có mất thông tin không, ta tiến hành từng bước

Giải:

Xây dựng bảng gồm 3 dòng 5 cột

- Điền các tín hiệu vào bảng

- Biến đổi bảng trên dựa vào tập phụ thuộc hàm F

+ Sử dụng phụ thuộc hàm A1 U A2 A3 ta biến đổi bảng

Trang 6

U3 a1 a2 b13 a4 a5

+ Sử dụng phụ thuộc hàm A2 A4U A5

+ Sử dụng phụ thuộc hàm A2U A3

Trong bảng này có hàng cuối cùng gồm toàn các tín hiệu chính, do vậy phép tách  là phép tách kết nối không mất thông tin

C/ BÀI TẬP TỰ GIẢI

Bài tập 1:

Dùng kỹ thuật bảng kiểm tra phép tách sau có mất thông tin không

a) =(U, F) với U=ABCD, F={AB, ACD}, ={AB, ACD}

b) =(U, F) với U=ABCDE, F={AC, BC, CD, DEC, CEA}, ={AD,

AB, BE, CDE}

c) Xác định và giải thích dạng chuẩn cao nhất của lược đồ quan hệ =(U, F) với U=ABCD, F={AC, DB, CABD}

Bài tập 2:

Cho lược đồ quan hệ =(U, F) với

U=ABCDEGH

F={CDH, EB, DG, BHE, CHDG, CA }

Hỏi rằng phép tách =(ABCDE, BCH, CDEGH) có kết nối mất thông tin không

Bài tập 3:

Cho lược đồ quan hệ =(U, F) với

Trang 7

U=ABCD, F={DB, CA, BACD }

Xác định dạng chuẩn cao nhất của lược đồ quan hệ trên

Bài tập 4:

Cho lược đồ quan hệ  =(U, F) với

U=ABCD, F={CDB, AC, BACD }

Xác định dạng chuẩn cao nhất của lược đồ quan hệ trên

Bài tập 5:

Cho =(u, F) với

U=ABCDE và

F={AC, BC, AD, DEC, CEA}

kiểm tra tính kết nối không mất thông tin đối với phép tách ={AD, AB, BE, CDE, AE }

Bài tập 6:

Cho =(u, F) với

U=ABCDEF và

F={ABC, CB, ABDE, FA}

kiểm tra tính kết nối không mất thông tin đối với phép tách ={BC, AC, ABDE, ABDF }

Bài tập 7:

Cho =(u, F) với

U=ABCDEG

F={DG, CA, CDE, AB}

kiểm tra tính kết nối không mất thông tin đối với phép tách ={DG, AC, SCE, AB }

Bài tập 8:

Cho =(u, F) với

U=ABCDE và

F={AC, BC, CD, DEC, CEA}

kiểm tra tính kết nối không mất thông tin đối với phép tách ={AC, CD, BE, BC, AE}

Bài tập 9:

Cho (=(U, F) với

U=XYZW và tập

F={YW, WY, XYZ}

Trang 8

Dạng chuẩn cao nhất của lược đồ là gì?

Bài tập 10:

Cho (=(U, F) với

U=ABCDEG và tập phụ thuộc hàm

F={ ABC, ACE, EGD, ABG }

={DEG, ABDEG }

Phép tách trên có mất thông tin không?

Hãy chứng minh mọi quan hệ chỉ có 2 thuộc tính đề ở dạng chuẩn BCNF?

Bài tập 11:

Xét quan hệ R(ABCDE) và tập phụ thuộc hàm

F={ ABCE, EAB, CD }

Hãy tìm dạng chuẩn cao nhất của lược đồ?

Bài tập 12:

Xét quan hệ R(ABCDEG) và tập phụ thuộc hàm

F={ AB, CDG , ACE, DG }

- Hãy tìm khoá của lược đồ

- Hãy tìm dạng chuẩn cao nhất của lược đồ

Bài tập 13:

Xét quan hệ R(ABCD) và tập phụ thuộc hàm

F={ ABD, ACBD, BC }

Hãy tìm dạng chuẩn cao nhất của lược đồ

Bài tập 14:

Cho =(u, F) với

U=ABCDEF

F={ABC, CB, ABDE, FA}

Lược đồ có ở dạng BCNF không

Ngày đăng: 08/04/2021, 20:46

TỪ KHÓA LIÊN QUAN

w