Chương 1: ĐẠI CƯƠNG VỀ CÁC HỆ CƠ SỞ DŨ LIỆU 1) Sự cần thiết của việc tổ chức lưu trữ dữ liệu theo lý thuyếtCSDL. 2) Định nghĩa các thuật ngữ:CSDL,hệ quản trị CSDL,hệ CSDL. 3) Chứ năng và vai trò của hệ quản trị CSDL. 4) Hiểu như thế nào về tính độc lập của dữ liệu? 5) Liệt kê những “vị trí ”của con người có liên quan đến hệ CSDL. 6) Sự phân loại các hệ CSDL.
ĐỀ CƯƠNG ÔN TẬP CƠ SỞ DỮ LIỆU Chương 1: ĐẠI CƯƠNG VỀ CÁC HỆ CƠ SỞ DŨ LIỆU 1) Sự cần thiết việc tổ chức lưu trữ liệu theo lý thuyếtCSDL 2) Định nghĩa thuật ngữ:CSDL,hệ quản trị CSDL,hệ CSDL 3) Chứ vai trò hệ quản trị CSDL 4) Hiểu tính độc lập liệu? 5) Liệt kê “vị trí ”của người có liên quan đến hệ CSDL 6) Sự phân loại hệ CSDL Chương 2: CÁC MƠ HÌNH DỮ LIỆU 1) Phân loại mơ hình liệu dựa khái niệm sử dụng để mô tả cấu trúc CSDL 2) Vai trị mơ hình liệu bậc cao q trình thiết kế CSDL 3) Định nghĩa thuật ngữ sau mơ hình thực thể liên kết:Thực thể,thuộc tính,giá trị thuộc tính,thể liên kết,thuộc tính phức hợp,thuộc tính đa trị,thuộc tính suy diễn được,thuộc tính khóa,miền giá trị 4) Sự khác thực thể,một kiểu thực thể tập thực thể 5) Sự khác thực thể lien kết,một tập liên kết kiểu liên kết 6) Vai trò tham gia gì?Khi cần phải sử dụng tên vai trị mô tả kiểu liên kết.? 7) Khi thực thể lien kết yều dùng việc mơ hình hóa CSDL?Định nghĩa thuật ngữ:kiểu thực thể chủ,kiểu thực thể yếu,khóa phận,kiểu liên kết xác định BÀI TẬP Giả sử sau tập hợp yêu cầu phân tích,hoạt động cơng ty ghi chép lại sau: Công ty tổ chức thành đơn vị.Mỗi đơn vị có mã số nhất.một tên ,một nhân viên cụ thẻ quản lí đơn vị.Việc nhân viên quản lí đơn vị ghi lại ngày nhân viên bắt đầu quản lí.Một đơn vị có nhiều địa điểm Mỗi đơn vị kiểm soát dự án.Một dự án có tên nhất,một mã số địa điểm Với nhân viên lưu giữ lại Họ tên ,Mã số,Điạ chỉ,Lương,Giới tính,Ngày sinh.Một nhân viên làm việc cho đơn vị,nhưng làm việc nhiều dự án nhiều đơn vị kiểm soát.Cần phải lưu giữ lại số làm việc nhân viên dự án.Mỗi nhân viên có người giám sát trực tiếp,người nhân viên Mỗi nhân viên có người phụ thuộc.Những người hưởng bảo hiểm theo nhân viên.Với người phụ thuộc cần lưu giữ Họ tên,Giới tính,Ngày sinh mối quan hệ với nhân viên (la bố ,mẹ…) Phân tích kiểu thực thể kiểu liên kết có CSDL.Xây dựng mơ hình ER,sau chuyển sang mơ hình quan hệ ***********GIẢI ************ Bài 1-Chương *Phân tích kiểu thực thể -DONVI (tênDV,masoDV,nguoiquanly,ngaybatdau,,diadiem) Thuộc tính tenDV,masoDV,diadiem thuộc tính mơ tả đơn vị Thuộc tính nguoiquanly,ngaybatdau thuộc tính biểu thị kiểu liên kết (với kiểu thực thể NV) Thuộc tính khóa: tenDV, masoDV Thuộc tính đơn trị: nguoiquanly,ngaybatdau Thuộc tính đa trị: điadiem -DUAN(tenDA,masoDA,diadiemDA,donvikiemsoat) Thuộc tính tenDA,masoDA, diadiem thuộc tính mơ tả DUAN Thuộc tính donvikiemsoat biểu thị kiểu liên kết với kiểu thực thể DONVI Thuộc tính khóa: tenDA, masoDA -NV(hoten,masoNV,diachi,luong,gioitinh,ngaysinh,don vi,nguoigiamsat) Thuộc tính hoten thuộc tính phức hợp Các thuộc tính donvi,nguoikiemsat mơ tả kiểu liên kết kiểu thực thể NV kiểu thực thể DONVI NV tương ứng Thuộc tính khóa : masoNV -NGUOI PHU THUOC(hotenNPT,gioitinh,ngaysinh,moiquanhe) Thuộc tính moiquanhe mơ tả kiểu liên kết với kiểu thực thể NV *Phân tích kiểu liên kết: -Kiểu liên kết DONVI DUAN: +là kiểu liên kết có tỷ số lực lượng 1: n +Sự tham gia DUAN vào kiểu liên kết toàn (v dự án đc đơn vị kiểm sốt) +Nếu đơn vị có dự án th việc tham gia DƠNVI vào kiểu liên kết t.an bộ, ngc lại tham gia fận -Kiểu liên kết NV DONVI: +Có tỷ số lực lượng n : +Sự tham gia hai kiểu thực thể vào liên kết toàn -Kiểu liên kết NV DONVI: +Có tỷ số lực lượng 1:1 +Sự tham gia kiểu thực thể NV vào kiểu liên kết fận (v ko phải nhân viên quản l đơn vị) +Sự tham gia kiểu thực thể DONVI vào kiểu liên kết toàn (v đơn vị phải có ng` quản l.) -Kiểu liên kết NV NV: +Có tỷ số lực lượng 1:n +Sự tham gia kiểu thực thể NV (ở hai phía) fận (v ko fải nhân viên giám sát nhân viên khác, ko fải nhân viên bị giám sát) +Kiểu thực thể NV đóng hai vai tr khác nhau: ng` giám sát ng` bị giám sát -Kiểu liên kết NV DUAN: +Có tỷ số lực lượng m:n +Sự tham gia kiểu thực thể NV fận (v ko fải nhân viên làm việc dự án) +Sự tham gia kiểu thực thể DUAN toàn ( v dự án phải có nhân viên tham gia) +Kiểu liên kết có thuộc tính sogio, ghi lại số làm việc nhân viên dự án -Kiểu liên kết NV NGUOI PHU THUOC: +Biểu thị mối liên hệ kiểu thực thể NV kiểu thưc thể NGUOI PHU THUOC +Có tỷ số lực lượng 1:n +Sự tham gia kiểu thực thể NV fận (ko phải nhân viên có ng` fụ thuộc) +Sự tham gia NGUOI PHU THUOC tồn ( có ng` fụ thuộc th phải có nhân viên) Ng.ai ra, kiểu thực thể kiểu thực thể yếu *Lược đồ ER: *Mô h.nh quan hệ: NV(hodem, ten, masoNV,ngaysinh,diachi,gioitinh,luong,masongaygiam sat,masoDV) DONVI (tenDV,masoDV,masongouiquanly,ngaybatdau) DONVI_DIADIEM(masoDV,diadiemDV) DUAN(tenDA,masoDA,diadiemDA,masoDV) NV_DUAN(masoNV,masoDA,sogio) PHUTHUOC(masoNV,hotenNGP,gioitinh,ngaysinh) Chương 3: MƠ HÌNH CSDL QUAN HỆ 1) Định nghĩa thuật ngữ sau:mienf ,thuộc tính,n-bộ,lược đồ quan hệ,trạng thái quan hệ,cấp quan hệ,lược đồ CSDL,trạng thái CSDL 2) Sự khác siêu khóa khóa? 3) Liệt kê phép tốn đại ssoos quan hệ mục đích tứng phép tốn Bài tập: Cho lược đồ sở dư liệu dùng để quản lý hồ sơ sinh viên bao gồm lược đồ quan hệ: SV(MaSV,Hoten,Gioitinh,Ngáyinh,Lop) MON(MaMH,TenMH,Sotiet) KQ(MaSV,MaMH,Diemthi) Hãy liệt kê phụ thuộc hàm lược đồ quan hệ Hãy thực câu hỏi sau băng ngôn ngữ đại số quan hệ: a) Lập danh sách sinh viên nữ lớp “AT4B”gồm MaSV,Hoten b) Lập bảng điểm cho tất sinh viên, bảng điểm gồm cột MaSV, TenMH,Diemthi c) Lập phiếu điểm cho sinh viên có tên “AAA” phiếu điểm gồm thơng tin sau: TenMH, Diemthi d) Lập danh sách sinh viên phải thi lai mon “ sở liệu” Danh sách gồm TenLop, MaSV, Hoten Diemthi e) Đưa danh sách sinh viên chưa có kết thi môn học *********GIẢI: Chuong 3: a lập danh sách sinh viên nữ lớp “AT4” gồm MaSV, Hoten B1: chọn lớp=AT4, giới tính = nữ bảng SV: σLop=”AT4”,Gioitinh=nữ(SV) B2: cho danh sách gồm MaSV, Hoten SV nữ, lớp AT4: π (σLop=”AT4”,Gioitinh=nữ(SV)) b lập bảng điểm cho tất sinh viên:MaSV,TenMH,Diemthi B1: cho MaMH, TenMH từ bảng MON: π(MON) = R1 - Nối tự nhiên KQ với R1 (vì có MaMH chung) - cho danh sách (chiếu) gồm MaSV, TenMH, Diemthi π(KQ*R1) c) Lập phiếu điểm cho sinh viên có tên “AAA” phiếu điểm gồm thông tin sau: TenMH, Diemthi Chọn SV có tên = AAA từ bảng SV: σ(SV) Chiếu MaSV SV tên AAA π(σ(SV)) = R1 Chiếu MaMH, Diemthi SV tên AAA (thực nối tự nhiên SV với KQ có MaSV chung) π(KQ*R1) = R2 Chiếu TenMH, Diemthi SV tên AAA (thực nối tự nhiên R2 với MON có MaMH chung) π(Mon*R2) d) Lập danh sách sinh viên phải thi lai mon “ sở liệu” Danh sách gồm TenLop, MaSV, Hoten Diemthi (thi lại csdl => điểm thi SV phải < ) b1: chọn sv thi môn csdl: σ(MON) b2: chiếu MaMH CSDL: π (σ(MON)) = R1 b3: chọn sv thi lại csdl (diemthi môn csdl = ‘0’) (KQ) = R1 b2: SV chưa có kết thi SV lại: KETQUA \ R2 gán = R3 b3: chiếu MaSV SV đó: b4: cho danh sách SV: π(R3) = R4 π (R4) Chương Lý thuyết thiết kế csdl Câu hỏi Hãy nêu bất thường sảy thao tác nhạp csdl quan hệ Vì chúng coi khơng tốt ?, minh họa ví dụ trình bày nguyên tắc việc thiết kế lược đồ quan hệ Hãy minh họa việc vi phạm nguyên tắc có hại ? Vì quy tắc suy diễn Amstrong (Qt1 đến Qt3) quan trọng ? Phụ thuộc hàm gì? Việc phụ thuộc hàm thuộc tính lược đồ quan hệ dựa sở nào? Bao đóng tập phụ thuộc hàm gì? Khi hai tập phụ thuộc hàm tương đương?Làm để kiểm tra tính tương đương chúng? Tập tối thiểu phụ thuộc hàm gì?Có phải tập phụ thuộc hàm có tập tối thiểu phụ thuộc hàm tương đương hay không? Định nghĩa dạng chuẩn 1NF,2NF,3NF,BCNF phụ thuộc hàm cần tránh quan 3NF ? dạng chuẩn BCNF khác so với 3NF? Vì dc coi mạnh 3NF? 10 tính chất bảo tồn phụ thuộc hàm phép tách gì? Vì la quan trọng? Vì ko thể đảm bảo phép tách lược đồ quan hệ ko BCNF thành BCNF bảo toàn phụ thuộc hàm? Hãy cho phản ví dụ 11 tính chất kết nối bảo tồn thơng tin phép tách gì? Giữa tính chất bảo đảm phụ thuộc hàm kết nối bảo tồn thơng tin phép tách , quan trọng hơn? Vì sao? Bài tập cho lược đồ quan hệ R={A,B,C,D} F={A->B, BC->D, C->A}.Phụ thuộc hàm phụ thuộc hàm sau suy diễn từ F: a C->D b AC->D c AD->C d BC->A e B->CD Giải F={a->b, bc->d, c->a} F+={ a->b, bc->d, c->a, c->b,bc->b,} a, c->d: áp dụng tc6 : x->y thuộc F+ y thuoc x+, ta có c+={ c,a,b,d} => c->d suy diễn dc từ F b, ac->d: áp dụng tc trên, ta có: (AC)+= {A,C,B,D} => AC->D suy dien đc từ F c,AD->C: (AD)+={A,D,B} => AD->C ko suy diễn đc từ F d,BC->A: (BC)+={ B,C,A,D}=>BC->A suy diễn đc từ F d, B-> CD B+= {B} => B->CD ko suy diễn đc từ F cho lược đồ quan hệ R={A,B,C,D,E,G,H} F={AB->C, B->D, CD->E, CE->GH, G->A} Sử dụng quy tắc suy diễn ,chứng minh BC->A Giải CE->GH => CE->G & CE->H CD->E => CD->CE (tăng) CD ->CE & CE->G => CD ->G (bắc cầu) B->D =>BC->CD (tăng) BC->CD & CD->G => BC->G (bắc cầu) BC->G & G->A => BC->A (bắc cầu) (ĐPCM) cho lược đồ quan hệ R{S,I,D,M} tập phụ thuộc hàm F={SI->DM, SD->M, D->M} a) Tìm tất khóa R? b) Tìm phủ tối thiểu F? c) Xác định dạng chuẩn cao R? d) Nếu R chưa đạt chuẩn 3NF, tách R thành lược đồ dạng chuẩn 3NF vừa bảo tồn thơng tin , vừa bảo toàn phụ thuộc hàm e) Nếu R chưa đạt chuẩn BCNF, tách R thành lược đồ dạng chuẩn BCNF f) Kiểm tra phép tách R thành lược đồ R1{SID} {SIM} có bảo tồn thơng tin hay ko? g) Kiểm tra phép tách R thành lược đồ R1{SID} R2 {SIM} có bảo tồn phụ thuộc hàm hay ko? ********** GIẢI ********* R={ S,I, D,M} F={SI->DM, SD->M, D->M} a, t.m tất khóa R: TN={S,I} TG={D} Xi TN U Xi (TN U Xi)+ SIÊU KHÓA KHÓA RỖNG SI SIDM SI SI D SID SIDM SID KL: lc đồ có khóa K=SI b, T.m phủ tối thiểu F 1.loại thuộc tính dư thừa: S+F= {S} I+F={I} D+F={D,M}==> S dư thừa Ta có: SD->M; D->M => S dư thừa => thay SD -> M = D->M F1={SI->DM,D->M} Tách vế phải thuộc tính thành vế phải thc tính F2={SI->D,SI->M, D->M} Loại fụ thuộc hàm dư thừa: Xét SI->D: G=F2- {SI->D}= {SI->M, D->M} (SI)+G= {S,I,M} => SI->D ko thuộc G+ => SI->D ko dư thừa Xét SI->M: G=F2- {SI->M}= {SI->D, D->M} (SI)+G= {S,I,D,M} => SI->D thuộc G+ => SI->M dư thừa F3={SI->D,D->M} Xét D->M: G=F3- {D->M}= {SI->D} (D)+G= {D} => D->M ko thuộc G+ => D->M ko dư thừa Vậy F min=F3={SI->D,D->M} c,Tim chuẩn cao cua R: F={SI->DM, SD->M, D->M} Ta có K={SI} - Xét SD->M: (SD)+= { S,D,M}# R => SD ko siêu khóa Vậy R ko đạt BCNF – Ta có SD ko siêu khóa, M ko thuộc tính khóa => R ko đạt 3NF – Xét fụ thuộc hàm SI->DM có SI thuộc tính khóa, DM thuộc tính ko khóa (SD ko xét SD ko phải thuộc tính khóa) => D,M fụ thuộc đầy đủ vào khóa => R đạt chuẩn Vậy chuẩn cao R 2NF d,Nếu R chưa đạt chuẩn 3NF, tách R thành lược đồ dạng chuẩn 3NF vừa bảo tồn thơng tin, vừa bảo tồn fụ thc hàm Xét fụ thuộc hàm D->M có: D+={D,M} # R => D ko fải siêu khóa, M ko fải thuộc tính khóa Vậy R ko đạt chuẩn 3NF +Áp dụng phương pháp chuẩn hóa: “loại bỏ thuộc tính fụ thuộc bắc cầu khỏi quan hệ tách chúng thành quan hệ riêng có khóa thuộc tính bắc cầu, thuộc tính lại lập thành quan hệ có khóa quan hệ ban đầu”, ta có lược đồ bảo tồn thơng tin: D = R1{D,M} R2{S,I,D} +Kiểm tra bảo toàn fụ thuộc hàm: -Xác định h.nh chiếu R1 F ( áp dụng tc6 FD), ta có D+F={D,M} M+F={M} (DM)+F={ D,M} π R1(F)= {D->M,D->DM,M->D,M->DM} -Xác định h.nh chiếu R2 F S+F={S} I+F={D} D+F={D,M} SI+F={S,I,D,M} SD+F={ S,D,M} SID+F={S,I,D,M} π R2(F)= {S->I,S->D,S->ID,I->S,I->D,I->SD,D->S, D->I,D->SI, SI->D, SD->I, DI->S } -π R1(F) U π R2(F)=G G={D->M,D->DM,M->D,M->DM, S->I,S->D,S->ID,I->S,I->D,I->SD,D->S, D->I,D>SI, SI->D, SD->I, DI->S } (SI)+G={M,D,S,I} => SI->DM thuộc G+ (SD)+G ={ S,D, M,I} => SD->M thuộc G+ => fụ thuộc hàm F đc suy từ G => fép tách D bảo toàn FD e, Nếu R chưa đạt chuẩn BCNF, h.y tách R thành lược đồ dạng chuẩn BCNF F={SI->DM, SD->M, D->M} R1={S,I,M} R2={ S,I,D} g, Ktra fép tách R thành R1{SID} R2{SIM} có bảo tồn thơng tin ko? R1 giao R2={S,I} R1-R2= {D} ((R1 giao R2)-> (R1-R2))={ SI->D} thuoc F+ => bao toan thong tin h, ktra phep tach R R1{SID} va R2{SIM} co bao toan fu thuoc ham ko? F={SI->DM, SD->M, D->M} Xác định h.nh chiếu R1 F ( áp dụng tc6 FD), ta có S+F={S} D+F={D,M} I+F={I} (SI)+F={S,I,D,M} (ID)+F={I,D,M} (SD)+F={S,D,M} (SID)+F={ S,I,D,M} π R1(F)= {S->I,S->D,S->ID,D->S,D->I,D->SI,I->S,I->D,I->SD, SI->D,SD>I, ID->S, IS->D} -Xác định h.nh chiếu R2 F S+F={S} I+F={I} M+F={M} SI+F={S,I,D,M} IM+F={ I,M} SIM+F={S,I,D,M} π R2(F)= {S->I,S->M,S->IM, I->M,I->S,I->SM,M->S,M->I,M->SI, SI->M, SM>I, IM->S,IS->M } -π R1(F) U π R2(F)=G G={ S->I,S->D,S->ID,D->S,D->I,D->SI,I->S,I->D,I->SD, SI->D,SD->I, ID->S, IS>D,S->M,S->IM, I->M,I->SM,M->S,M->I,M->SI, SI->M, SM->I, IM->S,IS->M } (SI)+G={M,D,S,I} => SI->DM thuộc G+ (SD)+G ={ S,D, M,I} => SD->M thuộc G+ D+G={D,I,S,M} => D->M thuoc G+ => fụ thuộc hàm F đc suy từ G => fép tách D bảo toàn FD III BÀI TẬP Câu 1: giả sử sau tập hợp yêu cầu phân tích , phần hoạt động cơng ti xây dựng đc ghi chép sau: Cti tổ chức thành đơn vị, đơn vị có mã số nhất, mã số xác định tên đơn vị.Một dơn vị có nhiều địa điểm làm việc.Công ti giao cho đơn vị kiểm sốt số cơng trình.Mỗi cơng trình có mã số cơng trình xác định tên gọi cơng trình , địa điểm, ngày cơng trình đc cấp phép xây dựng, ngày khởi cơng ngày hồn thành a-Hãy phân tích xây dựng mơ hình ER tương ứng với mơ tả b-Chuyển đổi mơ hình ER câu a thành mơ hình quan hệ Câu 2:Cho F={BC -> D,AC ->B, A->C,E->A} Hãy sử dụng quy tắc suy diễn ,chứng minh AE ->D suy diễn từ F CÂU 3: giả sử lược đồ CSDL tốn quản lí thư viện gồm lược đồ quan hệ sau: +Bandoc(MaBD, TenBD, Lop, Ngaycap) MaBD:mã bạn đọc TenBD:tên bạn đọc Lop:lớp học Ngaycap:ngày cấp thẻ +Sach(MaSH, TenSH, Tacgia, NhaXB, NamXB) MaSH:mã sách TenSH:tên sách Tacgia:tác giả NhaXB:nhà xuất NamXB:năm xuất +Phieumuon(MaBD, MaSH, Ngaymuon, Ngaytra, Trasach) MaBD:mã bạn đọc MaSH:mã sách Ngaymuon:ngày mượn Ngaytra:ngày hẹn trả Trasach:đã trả sách hay chưa(yes no) Hãy thực yêu cầu sau ngôn ngữ đại số quan hệ Q1:đưa danh sách nhứng bạn đọc lớp at5 cấp thẻ vào ngày 20-11-2007 Q2:liệt kê tên sách mà bạn đọc có mã số "BD0001" mượn thư viện Q3:cho danh sách bạn đọc mượn "giáo trình CSDL" thư viện,gồm thơng tin sau:mã bạn đọc, tên bạn đọc, lớp học ================================================== ======== Có bày cách trình bày giải cụ thể đc không :(( Q1: phép chọn tenBD với điều kiện MaBD='ạt5' and ngaycap='20/11/2007' qhệ BANDOC Q2: 1, (phép chọn MaSH với điều kiện MaBD='BD0001' qhệ PHIEUMUON) kết nối tự nhiên(*) > R1 2, phép chiếu TenSH (R1*Sach) Q3: 1, chiếu MaBD[(phép chọn MaSH điều kiện TenSH=' giáo trình CSDL' qhệ SACH)*kết nối tự nhiên với PHIEUMUON]>R1 2, chiếu MaBD,TenBD,Lop(R1*BANDOC) • Chú thích Q1: danh sách bạn đọc lớp AT5 ngày cấp thẻ Q2: 1, Danh sách mã sách mà bạn đọc mã BD0001 mượn 2, Danh sách tên sách mà bạn đọc mã mượn Q3: 1, Danh sách mã bạn đọc mượn giáo trình CSDL 2, Danh sách mã bạn đọc, tên bạn đọc, lớp _đã mượn giáo trình CÂU 4: cho lược đồ quan hệ R{A,B,C,D} tập phụ thuộc hàm sau: F={C->A, B->AD, D->B} a-tìm tất khóa lược đồ quan hệ R b-xác định dạng chuẩn cao lược đồ quan hệ R c-nếu R chưa đạt chuẩn (3NF), tách R thành lược đồ đạt chuẩn 3NF vừa bảo tồn thơng tin, vừa bảo tồn phụ thuộc hàm ... sở liệu? ?? Danh sách gồm TenLop, MaSV, Hoten Diemthi (thi lại csdl => điểm thi SV phải < ) b1: chọn sv thi môn csdl: σ(MON) b2: chiếu MaMH CSDL: π (σ(MON))... điểm làm việc.Công ti giao cho đơn vị kiểm sốt số cơng trình.Mỗi cơng trình có mã số cơng trình xác định tên gọi cơng trình , địa điểm, ngày cơng trình đc cấp phép xây dựng, ngày khởi cơng ngày hồn... hệ dựa sở nào? Bao đóng tập phụ thuộc hàm gì? Khi hai tập phụ thuộc hàm tương đương?Làm để kiểm tra tính tương đương chúng? Tập tối thiểu phụ thuộc hàm gì?Có phải tập phụ thuộc hàm có tập tối