Database developers còn được gọi là nhân viên phát triển dữ liệu, công việc chính là quản lý, kiểm tra cơ sở dữ liệu. Đồng thời thực hiện việc thiết kế, phát triển cấu trúc dữ liệu, nhằm đảm bảo hệ thống quản lý dữ liệu có thể xử lý được số lượng lớn data đưa vào. Mục đích của quá trình phát triển dữ liệu là có thể xử lý một khối lượng lớn các thông tin cùng một lúc, đảm bảo thông tin không bị ứ đọng, trục trặc. Giúp cho hoạt động tổ chức không bị gián đoạn, nhờ đó tối ưu chi phí, gia tăng hiệu quả làm việc, dễ dàng nhìn nhận cơ hội và rủi ro trên thị trường.
CƠ SỞ DỮ LIỆU (DATABASE) BỘ MÔN HỆ THỐNG THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN TỔNG QUAN VỀ MƠN HỌC Mơn học cung cấp kiến thức về: Kiến trúc hệ thống sở liệu Mơ hình quan hệ-thực thể, ngun tắc thiết kế sở liệu Mơ hình quan hệ, đại số quan hệ, SQL khung nhìn Phụ thuộc hàm khóa, ràng buộc tồn vẹn, dạng chuẩn, chuẩn hóa Tối ưu hóa câu hỏi truy vấn TỔNG QUAN VỀ MÔN HỌC… Phân bổ thời gian: Tổng số: 3TC 45 tiết Lý thuyết: 30 tiết; Bài tập, thảo luận: 15 tiết Yêu cầu: Đối với sinh viên: Dự lớp đầy đủ, Nộp tập lớn Tham gia thảo luận, Dự kiểm tra thi TÀI LIỆU THAM KHẢO Đặng Thị Thu Hiền, Cơ sở liệu, NXB Giao Thông Vận Tải, 2013 Phạm Thị Hoàng Nhung, Cơ sở liệu I, Trường Đại học Thuỷ Lợi Phạm Thị Hoàng Nhung, Cơ sở liệu II, Trường Đại học Thuỷ Lợi Gillenson, Mark L : Fundamentals of database management systems //Mark L Gillenson - Hoboken, NJ ::Wiley,,2005 ĐỀ CƯƠNG TỔNG QUAN MÔN HỌC Số tiết TT Tên chương Thảo luận, BT, TH Tổng số Lý thuyết 2 2 TỔNG QUAN HỆ THỐNG CƠ SỞ DỮ LIỆU GIỚI THIỆU THIẾT KẾ CƠ SỞ DỮ LIỆU MƠ HÌNH QUAN HỆ SQL 14 PHỤC THUỘC HÀM VÀ KHÓA DẠNG CHUẨN VÀ CHUẨN HÓA Cộng: 45 30 15 Tiểu luận, KTra BÀI TẬP LỚN Mỗi sinh viên tự chọn đề tài thực tế để làm Yêu cầu trình bày báo cáo: Nội dung từ 15-25 trang Font: Time New Roman, size 13, dãn dòng 1.3 cm Định dạng trang: Đầu cuối trang 2cm, lề trái 3.5, lề phải BÀI TẬP LỚN … Nội dung báo cáo: Lời nói đầu Mục lục: yêu cầu đánh mục lục tự động I Xác định quy tắc/ràng buộc, xây dựng mơ hình thực thể liên kết ER II Chuyển từ mơ hình thực thể liên kết sang mơ hình quan hệ III Xác định khóa IV Chuẩn hóa lược đồ quan hệ thành dạng chuẩn 3NF BCNF V Câu lệnh truy vấn liệu SQL Kết luận Tài liệu tham khảo ĐÁNH GIÁ MÔN HỌC TT Các hình thức đánh giá Trọng số QT= Bài tập, Chuyên cần, xây dựng bài, Kiểm tra, BTL 0.5 (BT nhà 20%, KT lớp 30%, Chuyên cần+ Thường xuyên 20%, BTL 30%) Thi hết môn (THM): Thi viết 0.5 Điểm môn học = QT x 0.4 + THM x 0.6 Chương TỔNG QUAN HỆ THỐNG CƠ SỞ DỮ LIỆU TỔNG QUAN VỀ HỆ CSDL Sự cần thiết CSDL Khái niệm CSDL, Hệ CSDL Hệ quản trị CSDL (DBMS – DataBase Management System) Mơ hình liệu (Data model) 10 Bước 3: Kiểm tra xem chúng đạt dạng chuẩn 3NF chưa?, nghĩa thuộc tính khơng khố phụ thuộc trực tiếp vào khố Tiến hành tách PTH bắc cầu thành bảng Bước 4: kiểm tra xem chúng đạt dạng chuẩn BCNF chưa?, nghĩa tất phụ thuộc hàm có vế trái siêu khố Tiến hành tách PTH có vế trái chưa phải siêu khố 52 Ta tóm tắt lại q trình chuẩn hố sau: 1NF Loại bỏ thuộc tính chưa nguyên tố lặp 2NF Loại bỏ phụ thuộc hàm phận 3NF Loại bỏ phụ thuộc hàm bắc cầu BCNF Chỉ lại phụ thuộc X->Y mà X siêu khố 53 Ví dụ minh hoạ Giả sử khảo sát thực tế việc mua bán vật tư, ta có lược đồ quan hệ sau: PHIEUNHAP(sophieu, ngaynhap, makhach,tenkh, diachikh, dienthoai, makho, diachikho, hinhthucthanhtoan, loaitien, mavattu*, tenvattu*, soluong*, 10 11 12 13 donvitinh*, dongia*, tyleVAT*) 14 15 16 Có phụ thuộc hàm sau: F={1(2,3,4,5,6,7,8,9,10); 4,5,6); 8; 11 (12,14,15,16); (1,11) 13} 54 Bước1: Khố quan hệ PHIEUNHAP K=(1,11)=(sophieu, mavattu) Chưa dạng 1NF có thuộc tính (có dấu *) thuộc tính lặp Ta tiến hành phân rã thành hai quan hệ: Quan hệ 1: Các thuộc tính lặp phần khố xác định chúng Quan hệ 2: thuộc tính cịn lại phần khố xác định phần này(các thuộc tính khơng lặp) Quan hệ gồm thuộc tính lặp (11,12,13,14,15,16) khố là(1) Tức VATTU(Sophieu, mavattu, tenvattu, soluong, donvitinh, dongia , tyleVAT) 11 12 13 14 15 16 Phụ thuộc hàm quan hệ F1={ 11 (12,14,15,16); (1,11) 13} Khoá quan hệ {1,11} 55 Quan hệ gồm thuộc tính (2,3,4,5,6,7,8,9,10) khố (1) PHIEUNHAP(sophieu, ngaynhap, makhach, tenkh, diachikh, dienthoai, makho, diachikho, hinhthucthanhtoan, loaitien) 10 Phụ thuộc hàm quan hệ F2={1(2,3,4,5,6,7,8,9,10);3 (4,5,6); 8} Khố {1} 56 Bước 2: Xét xem quan hệ đạt dạng chuẩn 2NF chưa? Nếu chưa ta tiến hành tách đơi thành quan hệ 1: gồm thuộc tính phụ thuộc vào phần khóa phần khố chính; Quan hệ : thuộc tính cịn lại khố Xét quan hệ 1: Ta thấy chưa đạt dạng 2NF khố {1,11}, mà lại có phụ thuộc hàm 11->12,14,15,16, nghĩa thuộc tính 12,14,15,16 khơng phụ thuộc hồn tồn vào khố Để đạt dạng chuẩn ta tách thành quan hệ: Quan hệ 1_1: VATTU(mavattu, tenvattu, donvitinh, dongia, tyleVAT) 11 12 14 15 16 F1_1={11 12,14,15,16}, khoá {11} Quan hệ 1_2: DONGVATTU(sophieu, mavattu, soluong) 11 13 F1_2={(1,11) 13} 57 - Xét quan hệ 2: đạt dạng chuẩn 2NF thuộc tính khố sophieu thuộc tính phụ thuộc hồn tồn vào khố Bước 3: Xem chúng đạt dạng 3NF chưa? Nếu chưa ta tiến hành tách đôi thành quan hệ 1: gồm thuộc tính phụ thuộc bắc cầu thuộc tính cầu; quan hệ 2: gồm thuộc tính cịn lại thuộc tính cầu - Xét quan hệ 1_1: Quan hệ 1_1: VATTU(mavattu, tenvattu, donvitinh, dongia, tyleVAT) 11 12 14 15 16 Đã dạng chuẩn 3NF khơng có phụ thuộc hàm bắc cầu - Xét quan hệ 1_2: Quan hệ 1_2: DONGVATTU(sophieu, mavattu, soluong) 11 13 Đã dạng chuẩn 3NF khơng có phụ thuộc hàm bắc cầu 58 - Xét quan hệ 2: PHIEUNHAP(sophieu, ngaynhap, makhach,tenkh, diachikh, dienthoai, makho, diachikho, hinhthucthanhtoan, loaitien 10 F2={1->(2,3,4,5,6,7,8,9,10);3->(4,5,6); 7->8}, Khố {1} Chưa đạt dạng 3NF có PTH bắc cầu: Các thuộc tính (4,5,6) PTH bắc cầu vào khố qua cầu (3), cịn thuộc tính (8) phụ thuộc bắc cầu vào khố qua cầu (7) Để có dạng chuẩn 3NF tách thành quan hệ sau: Quan hệ 2_1: KHACH(makhach,tenkh, diachikh, dienthoai) F2_1={3->4,5,6}, khố (3) 59 Quan hệ 2_2: KHO(makho, diachikho) F2_2={7->8}; khố (7) Quan hệ 2_3: PHIEUNHAP(sophieu, ngaynhap, makhach, makho, hinhthucthanhtoan, loaitien) 10 F2_3={1-(2,3,7,9,10)} ; khố (1) Bước 4: Kiểm tra xem chúng đạt dạng BCNF chưa? Ta thấy tất quan hệ đạt dạng BCNF tất vế trái phụ thuộc hàm siêu khố 60 Tóm lại: Ta có quan hệ sau chuẩn hố đạt dạng chuẩn BCNF sau: VATTU(mavattu, tenvattu, donvitinh, dongia, tyleVAT) DONGVATTU(sophieu, mavattu, soluong) KHACH(makhach,tenkh, diachikh, dienthoai) KHO(makho, diachikho) PHIEUNHAP(sophieu, ngaynhap, makhach, makho, hinhthucthanhtoan, loaitien) 61 6.1: Xác định khoá xét phân rã sau theo hai tiêu chuẩn bảo tồn thơng tin bảo toàn phụ thuộc hàm a Q(ABCD), F = {A BC, C D} Q1(AB), F1 = {A B} Q2(CD), F2={CD} b Q(ABCD), F={AB, ACD} Q1(AB), F1={AB} Q2(ADC),F2={ACD} c Q(ABDCE),F={AC, BC, CD, DEC, CEA} Q1(AB),F1={AD} Q2(CD),F2= Q3(AB),F3= Q4(CD),F4={CD, DEC, CED} Q5(AB), F5= d Q(ABCD), F={AB, CD} Q1(AB), F1={AB} Q2(CD), F2={CD} 62 6.2: Xét dạng chuẩn lược đồ quan hệ sau: Q(ABCD), F={AB, CD} Q(ABCD), F={ABC, CD} Q(ABCD), F={ABCD, CDAB, CB} Q(ABCDE), F={ABCD, DE, DEABC} Q(ABCDEF), F={ABE, ACF, ADB, BC, CD} 6.3: Cho lược đồ quan hệ Q(ABCDEF), F={CF, EA, CED, AB} Xác định khoá Q Phân rã thành dạng chuẩn Boyce-Codd bảo tồn thơng tin Phân rã thành dạng chuẩn bảo tồn thơng tin bảo toàn phụ thuộc hàm 6.4: Giả sử phân rã thành Q1(CDEF) Q2(ABE), xác định F1, F2 đánh giá phân rã 63 6.5: Nếu phân rã thành Q1(CF), Q2(AE), Q3(CDE), Q4(AB) Hãy xác định F1, F2, F3, F4 đánh giá chúng 6.6: Cho lược đồ quan hệ VẬNCHUYỂN(TÀU, LOẠITÀU, CHUYẾN, HÀNG, CẢNG, NGÀY) Mỗi tàu (TÀU) thuộc loại tàu (LOẠITÀU), chuyến có mã số riêng biệt (CHUYẾN) dùng để xác định chuyến tàu (TÀU) chở khối lượng hàng hoá (HÀNG), tàu ngày(NGÀY) cập vào cảng (CẢNG) chuyến vận chuyển (CHUYẾN) Xác định tập phụ thuộc hàm Xác định dạng chuẩn VẬNCHUYỂN Nếu VẬNCHUYỂN chưa tốt tìm phân rã tốt cho 64 6.7 Cho quan hệ PHIEUNHAP(số phiếu, ngày, mã NCC, tên NCC, địa chỉ, Mã vật tư, tên vật tư, số lượng, đơn vị, đơn giá) Có phụ thuộc hàm F={ Số phiếu->ngày, mã NCC; mã NCC->tên NCC, địa chỉ; mã vật tư->tên vật tư, đơn vị, đơn giá; số phiếu, mã vật tư -> số lượng} Giả sử tách thành hai quan hệ: PHIEUNHAP(số phiếu, ngày, mã NCC, Mã vật tư, tên vật tư, số lượng, đơn vị, đơn giá) NHACUNGCAP(mã NCC, tên NCC, địa chỉ) Kiểm tra xem chúng đạt dạng chuẩn nào? sao? 65 Giả sử tách thành quan hệ: PHIEUNHAP(số phiếu, ngày, mã NCC) DONGPHIEU(số phiếu, Mã vật tư, số lượng) NHACUNGCAP(mã NCC, tên NCC, địa chỉ) VATTU(Mã vật tư, tên vật tư, đơn vị, đơn giá) Kiểm tra xem chúng đạt dạng chuẩn nào? sao? 6.8 Giả sử có quan hệ BANHANG(Ngày tháng, mã hàng, tên hàng, đơn giá, số lượng, tổng tiền theo ngày, tốn) Có phụ thuộc hàm sau: {mã hàng}->{tên hàng, đơn giá} {ngày tháng}->{ tổng tiền theo ngày, toán} {ngày tháng, mã hàng}->{số lượng} Hãy chuẩn hoá quan hệ BANHANG thành dạng chuẩn BCNF 66 ... 14 CƠ SỞ DỮ LIỆU, HỆ CSDL… Hệ sở liệu (Database System) gồm: Phần cứng (Hardware) Phần mềm (Software) Người sử dụng (People) Những thủ tục (Procedures) Cơ sở liệu (Database) 15 CƠ SỞ... TẬP CHƯƠNG 1.1 Định nghĩa thuật ngữ sau: - Cơ sở liệu - Hệ sở liệu - Hệ quản trị sở liệu 1.2 Nêu sơ đồ kiến trúc hệ sở liệu 1.3 Hiểu lấy ví dụ mơ hình sở liệu 40 BÀI TẬP CHƯƠNG 1… 1.4 Dựa vào khái... (People) Những thủ tục (Procedures) Cơ sở liệu (Database) 15 CƠ SỞ DỮ LIỆU, HỆ CSDL… 16 CƠ SỞ DỮ LIỆU, HỆ CSDL … 17 CƠ SỞ DỮ LIỆU, HỆ CSDL … Phần cứng: Gồm thiết bị vật lý hệ thống Phần mềm: