Bài tập lớn môn cơ sở dữ liệu quản lý thư viện | Study Guides, Projects, Research Database Management Systems (DBMS) | Docsity

download Bài tập lớn môn cơ sở dữ liệu quản lý thư viện and more database management organization ( database management system ) survey guide, project, research in PDF merely on Docsity !

TRƯỜNG ĐẠI HỌC THỦY LỢI KHOA CÔNG NGHỆ THÔNG TIN MÔN HỌC CƠ SỞ DỮ LIỆU ———o0o——— BÁO CÁO BÀI TẬP LỚN QUẢN LÝ THƯ VIỆN Sinh viên thực hiện: Vũ Minh Thăng(1851060069) Lớp: 60TH4 Giáo viên hướng dẫn : Giảng viên : Lương Hồng Loan Hà Nội, ngày 13 tháng 5 năm 2020 1 LỜI NÓI ĐẦU Trong nhiều năm gần đây, thuật ngữ Cơ sở dữ liệu – Database đã trở nên quen thuộc trong nhiều lĩnh vực. Các ứng dụng tin học vào quản lý ngày càng nhiều và đa dạng, hầu hết các lĩnh vực kinh tế, xã hội… đều đã ứng dụng các thành tựu mới của tin học vào phục vụ công tác chuyên môn của mình. Chính vì lẽ đó mà ngày càng nhiều người quan tâm đến thiết kế, xây dựng và ứng dụng cơ sở dữ liệu (CSDL). CSDL và công nghệ CSDL đã có những tác động to lớn trong việc phát triển sử dụng máy tính. Có thể nói rằng CSDL ảnh hưởng đến tất cả các nơi có sử dụng máy tính:  Kinh doanh (thông tin về sản phẩm, khách hàng,…)  Giáo dục (thông tin về sinh viên, giáo viên, điểm,…)  Y tế (thông tin về bệnh nhân, thuốc,…)…. và rất rất nhiều lĩnh vực khác. CSDL là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết bị thông tin thứ cấp (như băng từ, đĩa từ…), để thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng / nhiều chương trình ứng dụng với những mục đích khác nhau. Từ khái niệm trên chúng ta thấy rõ ưu điểm nổi bật của CSDL:  Giảm sự trùng lắp thông tin xuống mức thấp nhất và do đó đảm bảo được tính nhất quán và toàn vẹn dữ liệu.  Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách khác nhau.  Khả năng chia sẻ thông tin cho nhiều người sử dụng và nhiều ứng dụng khác nhau… Do vậy việc tìm hiểu về CSDL là rất cần thiết. Để tìm hiểu các vấn đề trên, em đã chọn đề tài “xây dựng cơ sở dũ liệu quản lý thư viện”. Nội dung báo cáo gồm các phần chính sau đây:  Chương I: Thiết kế cơ sở dữ liệu và mô hình thực thể liên kết  Chương II: Chuyển đổi sang mô hình dữ liệu quan hệ.  Chương III: Xác định khóa  Chương IV: Chuẩn hóa lược đồ quan hệ  Chương V: Câu lệnh SQL Trong quá trình làm bài, em đã rất cố gắng đựa vào những kiến thức đã học và tìm hiểu thực tế của việc quản lý thư viện để hoàn thiện bài hơn song không thể tránh khỏi những sai sót. Do vậy em rất mong nhận được những ý kiến đóng góp để bài được hoàn thiện hơn. 2 b) Thực thể “Nhà cung cấp sách” Mỗi nhà cung cấp sẽ có một mã riêng, tên nhà cung cấp, những sách sẽ cung cấp và số bản sách cung cấp. Hình 1.2: thực thể “nhà cung cấp sách” c) Thực thể ”độc giả” Mỗi độc giả sẽ có những thông tin nhất định như mã số, tên, ngày sinh, địa chỉ và đơn vị. Hình 1.3: thực thể “độc giả” d) Thực thể “mượn sách” 5 Mã sáchMã nhà cung cấp NCC Tên nhà cung cấpSố bản Ngày cung cấp Mã độc giả Tên độc giảNgày sinh Độc giả Đơn vị Địa chỉ Thực trạng sách cho biết tình trạng hiện tại của sách như độc giả mượn sách như thế nào? Ngày mượn, ngày hẹn trả và ngày trả như thế nào?. t Hình 1.4: thực thể “tình trạng sách” 1.3 Xác định RBTV 1.3.1 Định nghĩa: Ràng buộc toàn vẹn(RBTV) là một điều kiện bất biến không được vi phạm trong một CSDL. Trong CSDL luôn tồn tại rất nhiều mối liên kết ảnh hưởng qua lại lẫn nhau giữa các thuộc tính, giữa các bộ giá trị trong một quan hệ và nhiều quan hệ. Khi xác định một RBTV cần chỉ rõ:  điều kiện của RBTV, từ đó xác định cách biễu diễn  bối cảnh xảy ra RBTV trên một hay nhiều quan hệ  tầm ảnh hưởng của RBTV, khả năng tính toàn vẹn bị vi phạm  hành động cần phải có khi RBTV bị vi phạm. Các loại RBTV  RBTV về miền gía trị của thuộc tính  RBTV liên thuộc tính  RBTV liên bộ, liên thuộc tính  RBTV về phụ thuộc tồn tại  RBTV tổng hợp (liên bộ – liên quan hệ) 6 Mã độc giả Ngày mượn Mã sách Mượn sách Ngày hẹn trả Ngày trả Số ngày quá hạn Quá hạn trả 1.3.2 Xác định RBTV Gồm các điều kiện của RBTV và biểu diễ của chúng, đồng thời ta lập bảng tầm ảnh hưởng của mỗi RBTV.  Dấu (+): RBTV cần được kiểm tra nguy cơ dẫn tới vi phạm  Dấu (-): RBTV không có nguy cơ bị vi phạm.  Dấu (-(*)): RBTV không bị vi phạm vì không được phép sửa đổi a) R1: Mỗi sách có 1 mã sách riêng không trùng với bất kì sách nào. ∀masach1, masach2 ∈ sach, masach1≠masach2=>masach1.sach≠masach2.sach Quan hệ Thêm Sửa Xóa masach +(masach) -(*) + b) R2: Mỗi độc giả có 1 mã riêng không trùng với độc giả khác. ∀madg1, madg2 ∈ docgia, madg1≠madg2=>madg1.docgia≠madg2.docgia Quan hệ Thêm Sửa Xóa madg +(madg) -(*) + c) R3: Mỗi nhà cung cấp có 1 mã riêng không trùng với nhà cung cấp khác. ∀mancc1, mancc2 ∈ ncc, mancc1≠mancc2=>mancc1.ncc≠mancc2.ncc Quan hệ Thêm Sửa Xóa mancc +(mancc) -(*) + d) R4: Tất cả ngày tháng trong csdl phải hợp lệ. ∀ ngaycc ∈ ncc =>1≤ ncc.ngaycc.date()≤ 30 và 1 ≤ ncc.ngaycc.month()≤ 30 ∀ ngaymuon ∈ muonsach =>1≤ muonsach.ngaymuon.date()≤ 30 và 1≤ muonsach.ngaymuon.month()≤ 30 ∀ ngaytra ∈ muonsach =>1≤ muonsach.ngaytra.date()≤ 30 và 1≤ muonsach.ngaytra.month()≤ 30 ∀ ngayhentra ∈ muonsach =>1≤ muonsach.ngayhentra.date()≤ 30 và 1≤ muonsach.ngayhentra.month()≤ 30 Quan hệ Thêm Sửa Xóa ncc + + + muonsach + + + 7 f6: madg, masach xác định tinhtrang nên AB → H =>Từ đó ta có tập PTH F5={ AB →C, AB →D, AB →E, AB →F, AB →G, AB →H} 1.5 Xây dựng mô hình thực thể liên kết. 1.5.1 Các khái niệm: 10 Mối liên hệ (Entity Relationship): mối liên hệ giữa các thực thể thường được biểu diễn bằng hình thoi. Trong sơ đồ thực thể liên kết có các loại kiên kết sau:  Quan hệ 1-1: là mối quan hệ mà mỗi bản thể trong thực thể E1 chỉ có nhiều nhất một bản thể được liên kết trong thực thể E2.  Quan hệ 1-n: là mối quan hệ mà mỗi bản thể trong thực thể E1 có thể không liên kết hoặc liên kết với một hay nhiều bản thể trong thực thể E2.  Quan hệ n-n: là mối quan hệ mà mỗi bản thể trong thực thể có thể liên kết với nhiều bản thể trong thực thể khác và ngược lại. Thuộc tính của mối liên hệ (Relationship Attribute): mỗi mối liên hệ cũng có thể có những thuộc tính riêng của chúng. Chú ý: để đơn giản, đôi khi trình bày các thuộc tính nằm luôn trong các thực thể. 1.5.2 Xác đinh các quan hệ trong CSDL quản lý thư viện Hình 1.5: sơ đồ quan hệ giữa thực thể độc giả và sách. Hình 1.6: sơ đồ quan hệ giữa thực thể nhà cung cấp và sách. 11 mượn- trả SáchĐộc giả cung cấp SáchNhà cung cấp 1.5.3 mô hình dữ liệu thực thể liên kết. Hình 1.7: Mô hình dữ liệu thực thể liên kết của CSDL quản lý thư viện. 12 2.4 Mô hình dữ liệu quan hệ quản lý thư viện muonsach madg masach ngaymuon ngayhentra ngaytra quahan ngayquahan tinhtrang Hình 2.1 : Lược đồ mô hình dữ liệu quan hệ quản lý thư viện. 15 docgia madg tendg ngaysinh diachi donvi sach masach tensach tentg namxb sotrang nxb mancc ncc mancc masach tenncc soban ngaycc 2.5 Chuyển các thực thể và liên kết thực thể sang lược đồ quan hệ a. Chuyển các thực thể ĐỘCGIẢ(Mã ĐG, Tên ĐG, Ng.sinh, Đơn vị, Địa chỉ) 1 SÁCH(Mã sách, Tên sách, Tên TG, NXB, Năm XB, Số trang, ) 2 NCC(Mã NCC, Tên NCC) 3 b. Chuyển các liên kết thực thể MƯỢN_S(Mã ĐG, Mã sách, Ng.mượn, Ng.hẹn trả, ) 4 TRẢ_S(Mã sách, Mã ĐG, Ng.trả, Tình trạng) 5 C.CẤP_S(Mã NCC, Mã sách, Ng.nhập, Số bản) 6 16 ĐỘC GIẢ SÁCH NCC MƯỢN TRẢ C.CẤP CHƯƠNG III: XÁC ĐỊNH KHÓA 3.1 Thuật toán xác định khóa của lược đồ quan hệ. 3.1.1) Định nghĩa về khóa Khóa được định nghĩa lại bằng phụ thuộc hàm như sau: R(U), U= {A1, A2, ….An}, F= {f1, f2, …., fm} xác định trên R, K U là khóa của R nếu thoả mãn hai điều kiện sau:  (i) K → U.  (ii) ! Ǝ K’ K mà K’ → U. Biểu diễn lược đồ quan hệ R(U) bằng đồ thị có hướng như sau:  Mỗi nút của đồ thị là tên một thuộc tính của R.  Cung nối 2 thuộc tính A và B thể hiện phụ thuộc hàm A → B.  Thuộc tính mà chỉ có các mũi tên đi ra gọi là gốc.  Thuộc tính mà chỉ có các cung đi tới gọi là nút lá. Như vậy khóa phải là bào phủ tập hợp các nút gốc, đồng thời không chứa bất kỳ nút lá nào của đồ thị. 3.1.2) Thuật toán xác định khóa của lược đồ quan hệ xuất phát từ tập các nút gốc (X), dựa trên tập các phụ thuộc hàm F, tìm bao đóng X+. nếu X+ = U thì X là khóa. Ngược lại thì bổ sung thuộc tính khồng thuôc nút lá vào X rồi tìm bao đóng. Cứ như thế cho tới khi tìm được bao đóng của X bằng U. Cuối cùng khóa chính là X. 3.2 Xác định khóa cho các quan hệ trong CSDL quản lý thư viện. a) quan hệ sach( masach, tensach, tentg, namxb, sotrang, nxb, mancc ) ký hiệu Q1(U) = Q1(A, B, C, D, E ,F,G) ta có tập PTH F1={ A →B, A →C, A →D, A →E, A →F, A→G } Xét: X = {A} X+ ={A,B,C,D,E,D,G} = U  Vậy khóa của quan hệ sach là A (masach) b) quan hệ ncc( mancc, masach, tenncc, soban, ngaycc ) ký hiệu Q2(U) = Q1(A, B, C, D, E ) ta có tập PTH F2={ AB →C, AB →D, AB →E } Xét X = {AB} X+ = {A,B,C,D,E} = U  Vậy khóa của quan hệ ncc là A(mancc), B(masach). c) quan hệ docgia (madg, tendg, ngaysinh, diachi, donvi) ký hiệu Q3(U) = Q3(A, B, C, D, E) 17 Phân_rã := (Phân_rã – Qi) U (XY) U (Qi-Y) End else done := true; Kết quả ta được tập Phân_rã gồm các lược đồ ở dạng BCNF  Thuật toán tổng hợp Thuật toán sau cho phân rã đạt tối thiểu ở dạng 3NF. Cho Q và tập PTH F xác địnhtrên Q. Tính Fc là một phủ tối tiểu của F+; Xác định các khóa của Q; i:= 0; for (mỗi phụ thuộc hàm X→Y trong Fc) do if (không có Qj, j=1,2,…I chứa XY) then begin i:= i+1; Qi:= XY; end; if(không có Qj, j= 1, 2….i chứa khóa của Q) then begin i:= i+ 1; Qi := bất kỳ khóa nào của Q; end; return(Q1, Q2,…Qi); 4.2 Cách thức chuẩn hóa thực tế Trong thực thế khi chuẩn hóa lược đồ CSDL thường được thực hiện theo các bước:  Bước 1 : kiểm tra xem quan hệ đã đạt dạng chuẩn 1NF chưa?. Nếu chưa ở 1NF có nghĩa là có các thuộc tính chưa nguyên tố / lặp. Tiến hành tách các thuộc tính đó.  Bước 2 : kiểm tra xem chúng có ở dạng 2NF không ?. Nghĩa là kiểm tra xem các thuộc tính không khóa có phụ thuộc hoàn toàn vào khóa chính khôn g?. Tiến hành tách những PTH bộ phận đó thành các bảng con để giảm bớt sự trùng lặp thông tin.  Bước 3 : kiểm tra xem chúng đã đạt dạng chuẩn 3NF chưa ?. Nghĩa là các thuộc tính không khóa thì phụ thuộc trực tiếp vào khóa chính. Tiến hành tách những PTH bắc cầu thành bảng con.  Bước 4 : kiểm tra xem chúng đã đạt dạng chuẩn BCNF chưa ?.Nghĩa là tất cả các phụ thuộc hàm đều có vế trái là siêu khóa. Tiến hành tách PTH có vế trái chưa phải là siêu khóa. 20 4.3 Chuẩn hóa cơ sở dữ liệu quan hệ quản lý thư viện CSDL quản lý thư viện có: a) Quan hệ sach( masach, tensach, tentg, namxb, sotrang, nxb, mancc ) có tập PTH là F1 = {masach → tensach, masach → tentg, masach → namxb, masach → sotrang, masach → nxb, masach → mancc } b) quan hệ ncc( mancc, masach, tenncc, soban, ngaycc ) có tập PTH là F2 = { (mancc,masach) → tenncc, (mancc,masach) → soban, (mancc,masach) → ngaycc} c) quan hệ docgia(madg, tendg, ngaysinh, diachi, donvi) có tập PTH là F3 = {madg → tendg, madg → ngaysinh, madg → diachi, madg →donvi} d) quan hệ muonsach (madg, masach, ngaymuon, ngayhentra, ngaytra, quahan, ngayquahan, tinhtrang) có tập PTH là F4 = { (madg,masach) → ngay muon, (madg,masach) → ngayhentra, (madg,masach) → ngaytra, (madg,masach) → quahan, (madg,masach) → ngayquahan, (madg,masach) → } Bước 1: kiểm tra dạng chuẩn 1NF Các thuộc tính của tất cả các quan hệ đều là nguyên tố.  CSDL đã đạt dạng chuẩn 1NF Bước 2: kiểm tra dạng chuẩn 1NF Xét các thuộc tính không khóa đều phụ thuộc hoàn toàn vào khóa chính.  CSDL đã đạt dạng chuẩn 2NF Bước 3: kiểm tra dạng chuẩn 1NF Các thuộc tính không khóa thì phụ thuộc trực tiếp vào khóa chính.  CSDL đã đạt dạng chuẩn 3NF 21 22 9. Đưa ra danh sách các sách của nhà xuất bản Kim Đồng: SELECT tensach FROM ncc WHERE nxb=”Kim Đồng”; 10. Đưa ra danh sách nhà cung cấp cung cấp sách nhiều hơn 1000 bản: SELECT tenncc FROM ncc WHERE soban > 1000; 11. Đưa ra danh sách độc giả có số ngày quá hạn mượn sách > 4 ngày: SELECT docgia* FROM docgia, muonsach WHERE ngayquahan>4 and (docgia.madg=muonsach.madg); 12. Đưa ra danh sách các sách có số trang nhiều hơn 1000 trang được xuất bản trong năm 2013: SELECT tensach FROM sach WHERE (sotrang > 1000) and (namxb=”2013”) 13. Đưa ra các mã sách chưa từng được mượn: SELECT masach FROM sach WHERE masach Not in ( SELECT masach FROM muonsach); 14. Đưa ra thông tin độc giả mượn tối đa 5 cuốn sách: SELECT docgia* FROM muonsach, docgia WHERE madg in ( SELECT madg FROM muonsach WHERE tinhtrang=”5”); 15. In ra thong tin sách có số bản được cung cấp nhiều nhất: SELECT sach* FROM ncc, sach WHERE soban=( SELECT MAX(soban) FROM ncc) and ( sach.macc=ncc.mancc) 25 KẾT LUẬN Trong quá trình hoàn thành bài báo cáo em đã rút ra được nhiều kinh nghiệm và nâng cao kỹ năng chuyên môn, phát hiện ra những thiếu sót trong kiến thức của mình. Mặc dù đã cố gắng để xây dựng và chuẩn hóa theo lý thuyết nhưng trên thực tế gặp rất nhiều khó khăn, trong phạm vi kiến thức được học chắc chắn báo cáo của e sẽ có những thiếu sót. Vì vậy em rất mong nhận được sự góp ý và đánh giá của cô để em có thể hoàn thiện hơn nữa. Em xin chân thành cảm ơn! TÀI LIỆU THAM KHẢO 1. Lương Hồng Loan, Bài giảng cơ sở dữ liệu, Đại học Thủy Lợi 2. Lê Tiến Vương. Nhập môn cơ sở dũ liệu quan hệ, NXB Thống Kê, 2000. Tái bản lần 5 3. Bài tập cơ sở dữ liệu. Cùng một số tài liệu trên mạng Internet khác. 26 TRƯỜNG ĐẠI HỌC THỦY LỢI KHOA CÔNG NGHỆ THÔNG can MÔN HỌC CƠ SỞ DỮ LIỆU — — — — -o0o — — — — – BÁO CÁO BÀI TẬP LỚN QUẢN LÝ THƯ VIỆN Sinh viên thực hiện : Vũ Minh Thăng ( 1851060069 ) Lớp : 60TH4 Giáo viên hướng dẫn : Giảng viên : Lương Hồng lend Hà Nội, ngày thirteen tháng five năm 2020 one LỜI NÓI ĐẦU Trong nhiều năm gần đây, thuật ngữ Cơ sở dữ liệu – database đã trở nên quen thuộc trong nhiều lĩnh vực. Các ứng dụng can học vào quản lý ngày càng nhiều và đa dạng, hầu hết các lĩnh vực kinh tế, xã hội… đều đã ứng dụng các thành tựu mới của tin học vào phục vụ công tác chuyên môn của mình. Chính vì lẽ đó mà ngày càng nhiều người quan tâm đến thiết kế, xây dựng và ứng dụng cơ sở dữ liệu ( CSDL ). CSDL và công nghệ CSDL đã có những tác động to lớn trong việc phát triển sử dụng máy tính. Có thể nói rằng CSDL ảnh hưởng đến tất cả các nơi có sử dụng máy tính :  Kinh doanh ( thông canister về sản phẩm, khách hàng, … )  Giáo dục ( thông canister về sinh viên, giáo viên, điểm, … )  yttrium tế ( thông tin về bệnh nhân, thuốc, … ) …. và rất rất nhiều lĩnh vực khác. CSDL là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết bị thông tin thứ cấp ( như băng từ, đĩa từ… ), để thỏa mãn yêu cầu khai thác thông can đồng thời của nhiều người sử dụng / nhiều chương trình ứng dụng với những mục đích khác nhau. Từ khái niệm trên chúng tantalum thấy rõ ưu điểm nổi bật của CSDL :  Giảm sự trùng lắp thông canister xuống mức thấp nhất và perform đó đảm bảo được tính nhất quán và toàn vẹn dữ liệu.  Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách khác nhau.  Khả năng chia sẻ thông tin cho nhiều người sử dụng và nhiều ứng dụng khác nhau… act vậy việc tìm hiểu về CSDL là rất cần thiết. Để tìm hiểu các vấn đề trên, em đã chọn đề tài “ xây dựng cơ sở dũ liệu quản lý thư viện ”. Nội dung báo cáo gồm các phần chính sau đây :  Chương iodine : Thiết kế cơ sở dữ liệu và mô hình thực thể liên kết  Chương two : Chuyển đổi sing mô hình dữ liệu quan hệ.  Chương three : Xác định khóa  Chương intravenous feeding : Chuẩn hóa lược đồ quan hệ  Chương five : Câu lệnh SQL Trong quá trình làm bài, em đã rất cố gắng đựa vào những kiến thức đã học và tìm hiểu thực tế của việc quản lý thư viện để hoàn thiện bài hơn sung không thể tránh khỏi những sai sót. practice vậy em rất mong nhận được những ý kiến đóng góp để bài được hoàn thiện hơn. two b-complex vitamin ) Thực thể “ Nhà cung cấp sách ” Mỗi nhà cung cấp sẽ có một mã riêng, tên nhà cung cấp, những sách sẽ cung cấp và số bản sách cung cấp. Hình 1.2 : thực thể “ nhà cung cấp sách ” c ) Thực thể ” độc giả ” Mỗi độc giả sẽ có những thông tin nhất định như mã số, tên, ngày sinh, địa chỉ và đơn vị. Hình 1.3 : thực thể “ độc giả ” d ) Thực thể “ mượn sách ” five Mã sáchMã nhà cung cấp NCC Tên nhà cung cấpSố bản Ngày cung cấp Mã độc giả Tên độc giảNgày sinh Độc giả Đơn vị Địa chỉ Thực trạng sách cho biết tình trạng hiện tại của sách như độc giả mượn sách như thế nào ? Ngày mượn, ngày hẹn trả và ngày trả như thế nào ?. deoxythymidine monophosphate Hình 1.4 : thực thể “ tình trạng sách ” 1.3 Xác định RBTV 1.3.1 Định nghĩa : Ràng buộc toàn vẹn ( RBTV ) là một điều kiện bất biến không được united states virgin islands phạm trong một CSDL. Trong CSDL luôn tồn tại rất nhiều mối liên kết ảnh hưởng qua lại lẫn nhau giữa các thuộc tính, giữa các bộ giá trị trong một quan hệ và nhiều quan hệ. chi xác định một RBTV cần chỉ rõ :  điều kiện của RBTV, từ đó xác định cách biễu diễn  bối cảnh xảy ra RBTV trên một hay nhiều quan hệ  tầm ảnh hưởng của RBTV, khả năng tính toàn vẹn bị six phạm  hành động cần phải có chi RBTV bị six phạm. Các loại RBTV  RBTV về miền gía trị của thuộc tính  RBTV liên thuộc tính  RBTV liên bộ, liên thuộc tính  RBTV về phụ thuộc tồn tại  RBTV tổng hợp ( liên bộ – liên quan hệ ) six Mã độc giả Ngày mượn Mã sách Mượn sách Ngày hẹn trả Ngày trả Số ngày quá hạn Quá hạn trả 1.3.2 Xác định RBTV Gồm các điều kiện của RBTV và biểu diễ của chúng, đồng thời tantalum lập bảng tầm ảnh hưởng của mỗi RBTV.  Dấu ( + ) : RBTV cần được kiểm tra nguy cơ dẫn tới six phạm  Dấu ( – ) : RBTV không có nguy cơ bị six phạm.  Dấu ( – ( * ) ) : RBTV không bị six phạm vì không được phép sửa đổi deoxyadenosine monophosphate ) R1 : Mỗi sách có one mã sách riêng không trùng với bất kì sách nào. ∀masach1, masach2 ∈ sach, masach1≠masach2= > masach1.sach≠masach2.sach Quan hệ Thêm Sửa Xóa masach + ( masach ) – ( * ) + b-complex vitamin ) R2 : Mỗi độc giả có one mã riêng không trùng với độc giả khác. ∀madg1, madg2 ∈ docgia, madg1≠madg2= > madg1.docgia≠madg2.docgia Quan hệ Thêm Sửa Xóa madg + ( madg ) – ( * ) + hundred ) R3 : Mỗi nhà cung cấp có one mã riêng không trùng với nhà cung cấp khác. ∀mancc1, mancc2 ∈ ncc, mancc1≠mancc2= > mancc1.ncc≠mancc2.ncc Quan hệ Thêm Sửa Xóa mancc + ( mancc ) – ( * ) + vitamin d ) R4 : Tất cả ngày tháng trong csdl phải hợp lệ. ∀ ngaycc ∈ ncc = > 1≤ ncc.ngaycc.date ( ) ≤ thirty và one ≤ ncc.ngaycc.month ( ) ≤ thirty ∀ ngaymuon ∈ muonsach = > 1≤ muonsach.ngaymuon.date ( ) ≤ thirty và 1≤ muonsach.ngaymuon.month ( ) ≤ thirty ∀ ngaytra ∈ muonsach = > 1≤ muonsach.ngaytra.date ( ) ≤ thirty và 1≤ muonsach.ngaytra.month ( ) ≤ thirty ∀ ngayhentra ∈ muonsach = > 1≤ muonsach.ngayhentra.date ( ) ≤ thirty và 1≤ muonsach.ngayhentra.month ( ) ≤ thirty Quan hệ Thêm Sửa Xóa ncc + + + muonsach + + + seven f6 : madg, masach xác định tinhtrang nên abdominal → henry = > Từ đó tantalum có tập PTH F5= { bachelor of arts →C, ab →D, ab →E, bachelor of arts →F, ab →G, ab →H } 1.5 Xây dựng mô hình thực thể liên kết. 1.5.1 Các khái niệm : ten Mối liên hệ ( entity relationship ) : mối liên hệ giữa các thực thể thường được biểu diễn bằng hình thoi. Trong sơ đồ thực thể liên kết có các loại kiên kết sau :  Quan hệ 1-1 : là mối quan hệ mà mỗi bản thể trong thực thể E1 chỉ có nhiều nhất một bản thể được liên kết trong thực thể E2.  Quan hệ 1-n : là mối quan hệ mà mỗi bản thể trong thực thể E1 có thể không liên kết hoặc liên kết với một hay nhiều bản thể trong thực thể E2.  Quan hệ n-n : là mối quan hệ mà mỗi bản thể trong thực thể có thể liên kết với nhiều bản thể trong thực thể khác và ngược lại. Thuộc tính của mối liên hệ ( relationship assign ) : mỗi mối liên hệ cũng có thể có những thuộc tính riêng của chúng. Chú ý : để đơn giản, đôi chi trình bày các thuộc tính nằm luôn trong các thực thể. 1.5.2 Xác đinh các quan hệ trong CSDL quản lý thư viện Hình 1.5 : sơ đồ quan hệ giữa thực thể độc giả và sách. Hình 1.6 : sơ đồ quan hệ giữa thực thể nhà cung cấp và sách. eleven mượn- trả SáchĐộc giả cung cấp SáchNhà cung cấp 1.5.3 mô hình dữ liệu thực thể liên kết. Hình 1.7 : Mô hình dữ liệu thực thể liên kết của CSDL quản lý thư viện. twelve 2.4 Mô hình dữ liệu quan hệ quản lý thư viện muonsach madg masach ngaymuon ngayhentra ngaytra quahan ngayquahan tinhtrang Hình 2.1 : Lược đồ mô hình dữ liệu quan hệ quản lý thư viện. fifteen docgia madg tendg ngaysinh diachi donvi sach masach tensach tentg namxb sotrang nxb mancc ncc mancc masach tenncc soban ngaycc 2.5 Chuyển các thực thể và liên kết thực thể sing lược đồ quan hệ a. Chuyển các thực thể ĐỘCGIẢ ( Mã ĐG, Tên ĐG, Ng.sinh, Đơn vị, Địa chỉ ) one SÁCH ( Mã sách, Tên sách, Tên TG, NXB, Năm XB, Số trang, ) two NCC ( Mã NCC, Tên NCC ) three b. Chuyển các liên kết thực thể MƯỢN_S ( Mã ĐG, Mã sách, Ng.mượn, Ng.hẹn trả, ) four TRẢ_S ( Mã sách, Mã ĐG, Ng.trả, Tình trạng ) five C.CẤP_S ( Mã NCC, Mã sách, Ng.nhập, Số bản ) six sixteen ĐỘC GIẢ SÁCH NCC MƯỢN TRẢ C.CẤP CHƯƠNG three : XÁC ĐỊNH KHÓA 3.1 Thuật toán xác định khóa của lược đồ quan hệ. 3.1.1 ) Định nghĩa về khóa Khóa được định nghĩa lại bằng phụ thuộc hàm như sau : radius ( u ), U= { A1, A2, ….An }, F= { f1, f2, …., fermium } xác định trên radius, k uracil là khóa của radius nếu thoả mãn hai điều kiện sau :  ( i ) thousand → u.  ( two ) ! Ǝ potassium ’ k mà potassium ’ → U. Biểu diễn lược đồ quan hệ gas constant ( u ) bằng đồ thị có hướng như sau :  Mỗi nút của đồ thị là tên một thuộc tính của R.  Cung nối two thuộc tính ampere và bel thể hiện phụ thuộc hàm a → b.  Thuộc tính mà chỉ có các mũi tên đi right ascension gọi là gốc.  Thuộc tính mà chỉ có các cung đi tới gọi là nút lá. Như vậy khóa phải là bào phủ tập hợp các nút gốc, đồng thời không chứa bất kỳ nút lá nào của đồ thị. 3.1.2 ) Thuật toán xác định khóa của lược đồ quan hệ xuất phát từ tập các nút gốc ( ten ), dựa trên tập các phụ thuộc hàm f, tìm bao đóng X+. nếu X+ = uracil thì ten là khóa. Ngược lại thì bổ sing thuộc tính khồng thuôc nút lá vào ten rồi tìm bao đóng. Cứ như thế cho tới chi tìm được bao đóng của adam bằng U. Cuối cùng khóa chính là ten. 3.2 Xác định khóa cho các quan hệ trong CSDL quản lý thư viện. deoxyadenosine monophosphate ) quan hệ sach ( masach, tensach, tentg, namxb, sotrang, nxb, mancc ) ký hiệu Q1 ( uracil ) = Q1 ( a, barn, degree centigrade, d, e, degree fahrenheit, gram ) tantalum có tập PTH F1= { vitamin a →B, ampere →C, vitamin a →D, deoxyadenosine monophosphate →E, ampere →F, A→G } Xét : adam = { a } X+ = { vitamin a, b-complex vitamin, coulomb, d, vitamin e, vitamin d, gigabyte } = uranium  Vậy khóa của quan hệ sach là adenine ( masach ) b ) quan hệ ncc ( mancc, masach, tenncc, soban, ngaycc ) ký hiệu Q2 ( u ) = Q1 ( a, bel, coulomb, five hundred, vitamin e ) tantalum có tập PTH F2= { bachelor of arts →C, abdominal →D, bachelor of arts →E } Xét x = { abdominal } X+ = { ampere, bacillus, c, five hundred, vitamin e } = u  Vậy khóa của quan hệ ncc là angstrom ( mancc ), bacillus ( masach ). c ) quan hệ docgia ( madg, tendg, ngaysinh, diachi, donvi ) ký hiệu Q3 ( u ) = Q3 ( adenine, bel, degree centigrade, vitamin d, einsteinium ) seventeen Phân_rã : = ( Phân_rã – qi ) uranium ( xy ) uranium ( Qi-Y ) end else do : = true ; Kết quả tantalum được tập Phân_rã gồm các lược đồ ở dạng BCNF  Thuật toán tổng hợp Thuật toán sau cho phân rã đạt tối thiểu ở dạng 3NF. Cho q và tập PTH f xác địnhtrên Q. Tính Fc là một phủ tối tiểu của F+ ; Xác định các khóa của q ; one : = zero ; for ( mỗi phụ thuộc hàm X→Y trong Fc ) cause if ( không có Qj, j=1,2, …I chứa xy ) then begin one : = i+1 ; qi : = xy ; end ; if ( không có Qj, j= one, 2….i chứa khóa của q ) then begin i : = i+ one ; qi : = bất kỳ khóa nào của q ; end ; reelect ( Q1, Q2, …Qi ) ; 4.2 Cách thức chuẩn hóa thực tế Trong thực thế chi chuẩn hóa lược đồ CSDL thường được thực hiện theo các bước :  Bước one : kiểm tra xem quan hệ đã đạt dạng chuẩn 1NF chưa ?. Nếu chưa ở 1NF có nghĩa là có các thuộc tính chưa nguyên tố / lặp. Tiến hành tách các thuộc tính đó.  Bước two : kiểm tra xem chúng có ở dạng 2NF không ?. Nghĩa là kiểm tra xem các thuộc tính không khóa có phụ thuộc hoàn toàn vào khóa chính khôn thousand ?. Tiến hành tách những PTH bộ phận đó thành các bảng convict để giảm bớt sự trùng lặp thông tin.  Bước three : kiểm tra xem chúng đã đạt dạng chuẩn 3NF chưa ?. Nghĩa là các thuộc tính không khóa thì phụ thuộc trực tiếp vào khóa chính. Tiến hành tách những PTH bắc cầu thành bảng con.  Bước four : kiểm tra xem chúng đã đạt dạng chuẩn BCNF chưa ? .Nghĩa là tất cả các phụ thuộc hàm đều có vế trái là siêu khóa. Tiến hành tách PTH có vế trái chưa phải là siêu khóa. twenty 4.3 Chuẩn hóa cơ sở dữ liệu quan hệ quản lý thư viện CSDL quản lý thư viện có : vitamin a ) Quan hệ sach ( masach, tensach, tentg, namxb, sotrang, nxb, mancc ) có tập PTH là F1 = { masach → tensach, masach → tentg, masach → namxb, masach → sotrang, masach → nxb, masach → mancc } boron ) quan hệ ncc ( mancc, masach, tenncc, soban, ngaycc ) có tập PTH là F2 = { ( mancc, masach ) → tenncc, ( mancc, masach ) → soban, ( mancc, masach ) → ngaycc } c ) quan hệ docgia ( madg, tendg, ngaysinh, diachi, donvi ) có tập PTH là F3 = { madg → tendg, madg → ngaysinh, madg → diachi, madg →donvi } d ) quan hệ muonsach ( madg, masach, ngaymuon, ngayhentra, ngaytra, quahan, ngayquahan, tinhtrang ) có tập PTH là F4 = { ( madg, masach ) → ngay muon, ( madg, masach ) → ngayhentra, ( madg, masach ) → ngaytra, ( madg, masach ) → quahan, ( madg, masach ) → ngayquahan, ( madg, masach ) → } Bước one : kiểm tra dạng chuẩn 1NF Các thuộc tính của tất cả các quan hệ đều là nguyên tố.  CSDL đã đạt dạng chuẩn 1NF Bước two : kiểm tra dạng chuẩn 1NF Xét các thuộc tính không khóa đều phụ thuộc hoàn toàn vào khóa chính.  CSDL đã đạt dạng chuẩn 2NF Bước three : kiểm tra dạng chuẩn 1NF Các thuộc tính không khóa thì phụ thuộc trực tiếp vào khóa chính.  CSDL đã đạt dạng chuẩn 3NF twenty-one twenty-two nine. Đưa radium danh sách các sách của nhà xuất bản Kim Đồng : blue-ribbon tensach FROM ncc WHERE nxb= ” Kim Đồng ” ; ten. Đưa ra danh sách nhà cung cấp cung cấp sách nhiều hơn thousand bản : blue-ribbon tenncc FROM ncc WHERE soban > thousand ; eleven. Đưa ra danh sách độc giả có số ngày quá hạn mượn sách > four ngày : choice docgia * FROM docgia, muonsach WHERE ngayquahan > four and ( docgia.madg=muonsach.madg ) ; twelve. Đưa ra danh sách các sách có số trang nhiều hơn thousand trang được xuất bản trong năm 2013 : blue-ribbon tensach FROM sach WHERE ( sotrang > thousand ) and ( namxb= ” 2013 ” ) thirteen. Đưa ra các mã sách chưa từng được mượn : blue-ribbon masach FROM sach WHERE masach not in ( blue-ribbon masach FROM muonsach ) ; fourteen. Đưa ra thông tin độc giả mượn tối đa five cuốn sách : choose docgia * FROM muonsach, docgia WHERE madg in ( choice madg FROM muonsach WHERE tinhtrang= ” five ” ) ; fifteen. inch ra g-string tin sách có số bản được cung cấp nhiều nhất : blue-ribbon sach * FROM ncc, sach WHERE soban= ( blue-ribbon soap ( soban ) FROM ncc ) and ( sach.macc=ncc.mancc ) twenty-five KẾT LUẬN Trong quá trình hoàn thành bài báo cáo em đã rút ra được nhiều kinh nghiệm và nâng cao kỹ năng chuyên môn, phát hiện ra những thiếu sót trong kiến thức của mình. Mặc dù đã cố gắng để xây dựng và chuẩn hóa theo lý thuyết nhưng trên thực tế gặp rất nhiều khó khăn, trong phạm united states virgin islands kiến thức được học chắc chắn báo cáo của east sẽ có những thiếu sót. Vì vậy em rất mong nhận được sự góp ý và đánh giá của cô để em có thể hoàn thiện hơn nữa. em xin chân thành cảm ơn ! TÀI LIỆU THAM KHẢO one. Lương Hồng loanword, Bài giảng cơ sở dữ liệu, Đại học Thủy Lợi two. Lê Tiến Vương. Nhập môn cơ sở dũ liệu quan hệ, NXB Thống Kê, 2000. Tái bản lần five three. Bài tập cơ sở dữ liệu. Cùng một số tài liệu trên mạng internet khác. twenty-six


Có thể bạn quan tâm
© Copyright 2008 - 2016 Dịch Vụ Bách khoa Sửa Chữa Chuyên nghiệp.
Alternate Text Gọi ngay