1. Trang chủ
  2. » Giáo án - Bài giảng

bai tap ve chuan hoa 4543

7 150 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 7
Dung lượng 145,48 KB

Nội dung

NHẬP MÔN CƠ SỞ DỮ LIỆU QUAN HỆ Soạn mơn Cơng nghệ phần mềm BµI TËP VỊ chuẨN HOÁ MỤC TIÊU CỦA BÀI NÀY GIÚP NGƯỜI HỌC  Phân biệt dạng chuẩn quan hệ  Xác định lược đồ dạng chuẩn  Vận dụng giải tập chuẩn hóa quan hệ (Đ ưa 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 phép tách lược đồ aqua nhệ c ó thơng tin khơng A/ NHẮC LẠI LÝ THUYẾT I CÁC ĐỊNH NGHĨA, TÍNH CHẤT Dạng chuẩn (1NF - first normal form) Một lược đồ quan hệ α= (U, F) gọi dạng chuẩn (1NF) ch ỉ t ất c ả miền giá trị thuộc tính R nguyên t ố (không thể phân chia đ ược) Chú ý: Tính khơng thể phân chia có tính chất tương đối Định nghĩa cho thấy quan hệ chuẩn hóa 1NF Dạng chuẩn ( 2NF- Second normal form) Trước nghiên cứu dạng chuẩn thứ , ta xét Ví d ụ sau đây: Xét CSDL gồm lược đồ quan hệ THI(MONTHI,GIAOVIEN) SINHVIEN(MONTHI, MSSV, TEN, TUOI, DCHI, DIEM) phản ánh thông tin k ết q thi c đơn vị Trong quan hệ THI MONTHI khóa quan hệ SINHVIEN MOMTHI MSSV khóa quan hệ thứ hai dễ nhận thấy MONTHI, MSSV,DIEM xác định kết qu thi c sinh viên MSSV,TEN, TUOI, DCHI xác định đối tượng dự thi Xét hành lược đồ quan hệ THI SINHVIEN nh sau: THI MONTHI Toan ́ GIAOVIEN Thầy Công Lý Thầy Hứa Hoa ́ Thầy Giao SINHVIEN MONTHI Toan ́ Toan ́ Hoa ́ Hoa ́ Lý Lý MSSV 11 12 11 12 11 13 TEN Lan Hue Lan Hue Lan An TUOI 20 21 20 21 20 22 DCHI HN HY HN HY HN BN DIEM 8.0 7.5 7.0 6.0 5.0 4.0 Trang NHẬP MÔN CƠ SỞ DỮ LIỆU QUAN HỆ Soạn môn Công nghệ phần mềm Dạng chuẩn ( 3NF- Second normal form) Định nghĩa: Cho lược đồ quan hệ α =(U, F), lược đồ α gọi dạng chuẩn 3, kí hiệu 3NF, lược đồ dạng chuẩn 1NF thuộc tính khơng khố c α khơng phụ thuộc hàm bắc cầu vào khố Dạng chuẩn Boyce Codd ( BCNF- Boyce Codd normal form) Định nghĩa: Cho lược đồ quan hệ α =(U, F), lược đồ α gọi dạng chuẩn Boyce Codd, kí hiệu BCNF, lược đồ dạng chuẩn 1NF XY ∈F+ ( Y ⊄X ) X phải siêu khoá lược đồ Tách lược đồ quan hệ Định nghĩa: Phép tách lược đồ quan hệ α = (U, F) phép thay m ột t ập lược đồ αi = (Ui, Fi), i=1, ,k với điều kiện Ui ≠ φ ∀ i=1, , k , ∪ Ui= U, Fi= F/Ui, Fi hình chiếu F lên tập thuộc tính Ui Phép tách ký hiệu σ ={U1, U2, , Uk} Kí hiệu α = (U, F), σ ={U1, U2, , Uk} phép tách R m ột quan hệ U, kí hi ệu mδ(R)=R[U1] * R[U2] * * R[Uk] Định nghĩa: phép tách kết nối không thông tin Cho lược đồ quan hệ α = (U, F) phép tách δ ={U1, U2, , Uk} lược đồ phép tách δ gọi phép tách kết nối không thông tin m ọi quan hệ R U ta có mδ(R)= R, ngược lại mδ(R) ≠ R ta nói phép tách δ phép tách thơng tin Thuật tốn kiểm tra phép tách kết nối có thơng tin hay khơng? Dữ liệu vao: ̀ Ra: - Tập thuộc tính U - Tập phụ thuộc ham ̀ F - Phep ́ tach ́ δ ={U1, U2, , Uk} Xać đinh ̣ liệu phep ́ tach ́ δ có thông tin hay không? Phương phap: ́ Giả sử U={A1, A2, , An}, ta xây dựng bảng g ồm k dòng n c ột ( n=| U | , k=| δ |), cột thứ i bảng ứng với thuộc tính Ai, hàng thứ j b ảng ứng v ới l ược đ αi = (Ui, Fi), hàng i cột j ta điền kí hiệu aj ( ta g ọi kí hi ệu aj tín hi ệu chính) n ếu thu ộc tính aj ∈ Ui, không ta điền bịj ( ta gọi bij tín hiệu phụ) Bây ta biến đổi bảng sau: Với phụ thuộc hàm X Y ∈ F, bng có hai hàng giống t ập thuộc tính X thi ta cần làm chúng giống t ập thuộc tính Y theo quy t ắc sau: Nếu hai giá trị tín hiệu phụ ta s ửa l ại tính h ịêu ph ụ thành tín hi ệu tức sửa bij thành aj Nếu hai tín hịêu phụ ta sửa lại hai tín hi ệu b ằng m ột kí hi ệu bij , tức sửa lại số cho giống Tiếp tục áp dụng phụ thuộc hàm bảng ( k ể c ph ụ thuộc hàm đ ược s dụng) không áp dụng Quan sát bảng cuối cùng: xuất m ột hàng g ồm tồn tín hi ệu ( hàng gồm tồn kí hiệu a) phép tách k ết nối không m ất thông tin, tr ường h ợp ngược lại kết nối thông tin Phương pháp chuẩn hóa liệu Trang NHẬP MƠN CƠ SỞ DỮ LIỆU QUAN HỆ Soạn môn Công nghệ phần mềm 7.1 Thuật toán tách lược đồ thành 3NF Input: Lược đồ quan hệ α =(U, F) Output: Các lược đồ dạng 3NF (U1, K1) , ( U2, K2) ,…., (Un, Kn) thỏa mãn: a)  Quan hệ R U R[U1]*R[U2]* … * R[Un]=R b) K1, K2, …, Kn khoá lược đồ tưng ứng Phương pháp: Tìm khóa K lược đồ α Tìm phủ G tối thiểu F G={K1A1, K2A2, …, KpAp} Ghép phụ thuộc hàm có vế trái G để thu đ ược ph ủ G={K1X1, K2X2, …, KnXn} Phép tách δ ={K1X1, K2X2, …, KnXn} khố K khơng có mặt thành phần δ thêm thành phần K vào δ Return δ 7.2 Tách không thông tin thành lược đồ dạng BCNF Cho lược đồ α = (U, F), phép tách δ ={U1, U2, , Uk}, phép tách lược đồ thành tập lược đồ dạng BCNF phép tách thỏa mãn: Phép tách δ phép tách kết nối không thông tin Tất lược đồ αi = (Ui, Fi) dạng BCNF Phương pháp : Xuất phát từ phụ thuộc hàm X A F, phụ thuộc hàm X A vi phạm điều kiện BCNF, ta xây dựng phép tách δ ={U1, U2}, tương ứng với lược đồ α1 α2 cho: Phép tách phép tách kết nối không thông tin Phụ thuộc hàm X A phụ thuộc hàm lược đồ α1 thỏa mãn điều kiện cua BCNF lược đồ Nếu lược đồ α1 α2 chưa dạng BCNF tiếp t ục q trình đó, điều vi phạm BCNF bị loại bỏ, cuối ta thu đ ược m ột t ập l ược đ đ ều dạng BCNF q trình tách ln ln đm bo phép tách kết nối không m ất thông tin Cơ sở thuật toán gi thiết l ược đồ α = (U, F) chưa dạng BCNF t ồn phụ thuộc hàm X A, A X, X khơng phải siêu khố U1=XA, U2 =U \ A Nhận xét X=U1 ∩ U2, U1 \ U2 =A, có X A U1 ∩ U2  U1 \ U2 theo định lý phần phép tách δ ={U1 , U2} phép tách có kết nối khơng thơng tin Vì U =XA phụ thuộc hàm X A lược đồ α1 = (U1, F1) nên X siêu khoá Nếu α1 , α2 chưa dạng BCNF ta áp dụng trình tách t ương t ự Cuối ta thu tập lược đồ dạng BCNF trình tách khơng m ất thơng tin Ví dụ: Cho lược đồ α = (U, F) với U=CRHTSG ( C : Course, T : Teacher, H Hour, R : Room, S : Student, G : Group) Trang NHẬP MÔN CƠ SỞ DỮ LIỆU QUAN HỆ Soạn môn Công nghệ phần mềm F ={CT , HR  C, CH  R, CS G, HS R} Nhận xét - Lược đồ có khố HS - Lược đồ chưa dạng BCNF - Ta thấy lược đồ α = (U, F) có phụ thuộc hàm CS  G vi phạm điều kiện BCNF nên ta tách lược đồ thành lược U1 =CGS, U2 =CTHRS - Ta thấy lược đồ α2 = (U2, F2) có phụ thuộc hàm C T vi phạm điều kiện BCNF nên ta tách lược đồ thành lược U3 =CT, U4 =CHRS - Ta thấy lược đồ α4 = (U4, F4) có phụ thuộc hàm CH  R vi phạm điều kiện BCNF nên ta tách lược đồ thành lược U5 =CHR, U6 =CHS α = (U, F) U1 =CSG U2 =CTHRS F1={CSG} K=CS F2={CT, HRC, CHR, HSR} K=HS U3 =CT U4 =CHSR F3={CT} K=C F4={ HRC, CHR, HSR} K=HS U5 =CHR U6 =CHS F5={ HRC, HRC} K=HR, K=HC F6={ HSC} K=HS Như phép tách cuối δ={ CSG, CT , CHR , CHS } III MỘT SỐ LƯU Ý Tầm quan trọng việc chuẩn hóa liệu Phân biệt 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  Thuật toán kiểm tra phép tách có thơng tin khơng?   B/ BÀI TẬP MẪU Bài số 1: Kiểm tra phép tách có thơng tin hay khơng? Cho lược đồ quan hệ α= (U, F) với U={A1, A2, A3, A4, A5} F={ A1  A2 A3 , A2 A4 A5 , A2 A3} δ={ A1 A2 A4, A2 A3, A1 A4 A5} Hỏi phép tách δ có kết nối không thông tin không? Hướng dẫn: Trang NHẬP MÔN CƠ SỞ DỮ LIỆU QUAN HỆ Soạn môn Công nghệ phần mềm Áp dụng thuật tốn kiểm tra phép tách có thơng tin khơng, ta ti ến hành t ừng b ước Giải: Xây dựng bảng gồm dòng cột - Điền tín hiệu vào bảng A1 U1 a1 A2 A3 A4 A5 a2 b13 a4 b15 U2 b12 a2 a3 b24 b25 U3 a1 b32 b33 a4 a5 - Biến đổi bảng dựa vào tập phụ thuộc hàm F + Sử dụng phụ thuộc hàm A1  A2 A3 ta biến đổi bảng A1 A2 A3 A4 A5 U1 a1 a2 b13 a4 b15 U2 b12 a2 a3 b24 b25 U3 a1 a2 b13 a4 a5 + Sử dụng phụ thuộc hàm A2 A4 A5 A1 A2 A3 A4 A5 U1 a1 a2 b13 a4 a5 U2 b12 a2 a3 b24 b25 U3 a1 a2 b13 b4 a5 + Sử dụng phụ thuộc hàm A2 A3 A1 A2 A3 A4 A5 U1 a1 a2 a3 a4 a5 U2 B12 a2 a3 b24 b25 U3 a1 a2 a3 a4 a5 Trong bảng có hàng cuối gồm tồn tín hiệu chính, v ậy phép tách tách kết nối không thông tin δ phép 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ó thơng tin khơng Trang NHẬP MÔN CƠ SỞ DỮ LIỆU QUAN HỆ Soạn môn Công nghệ phần mềm α=(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 giải thích dạng chuẩn cao l ược đồ quan hệ α=(U, F) với U=ABCD, a) 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 phép tách δ=(ABCDE, BCH, CDEGH) có kết nối thông tin không Bài tập 3: Cho lược đồ quan hệ α=(U, F) với U=ABCD, F={D→B, C→A, B→ACD } Xác định dạng chuẩn cao lược đồ quan hệ 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 lược đồ quan hệ Bài tập 5: Cho α=(u, F) với U=ABCDE F={A→C, B→C, A→D, DE→C, CE→A} kiểm tra tính kết nối không thông tin phép tách δ={AD, AB, BE, CDE, AE } Bài tập 6: Cho α=(u, F) với U=ABCDEF F={AB→C, C→B, ABD→E, F→A} kiểm tra tính kết nối khơng thơng tin 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 thơng tin phép tách δ={DG, AC, SCE, AB } Bài tập 8: Cho α=(u, F) với U=ABCDE F={A→C, B→C, C→D, DE→C, CE→A} Trang NHẬP MÔN CƠ SỞ DỮ LIỆU QUAN HỆ Soạn môn Công nghệ phần mềm kiểm tra tính kết nối khơng thơng tin phép tách δ={AC, CD, BE, BC, AE} Bài tập 9: Cho (=(U, F) với U=XYZW tập F={Y→W, W→Y, XY→Z} Dạng chuẩn cao lược đồ gì? Bài tập 10: Cho (=(U, F) với U=ABCDEG tập phụ thuộc hàm F={ AB→C, AC→E, EG→D, AB→G } δ={DEG, ABDEG } Phép tách có thơng tin khơng? Hãy chứng minh quan hệ có thuộc tính đề dạng chuẩn BCNF? Bài tập 11: Xét quan hệ R(ABCDE) tập phụ thuộc hàm F={ AB→CE, E→AB, C→D } Hãy tìm dạng chuẩn cao lược đồ? Bài tập 12: Xét quan hệ R(ABCDEG) tập phụ thuộc hàm F={ A→B, C→DG , AC→E, D→G } - Hãy tìm khố lược đồ Hãy tìm dạng chuẩn cao lược đồ Bài tập 13: Xét quan hệ R(ABCD) tập phụ thuộc hàm F={ AB→D, AC→BD, B→C } Hãy tìm dạng chuẩn cao 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 Trang

Ngày đăng: 22/12/2018, 19:01

TỪ KHÓA LIÊN QUAN

w