Bài giảng Nhập môn điện toán - Chương 5: Cơ sở dữ liệu cung cấp cho người học các kiến thức: Định nghĩa và thuật ngữ, các loại cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, cơ sở dữ liệu quan hệ, sự phát triển của các hệ cơ sở dữ liệu. Mời các bạn cùng tham khảo.
Chương CƠ SỞ DỮ LIỆU 5.1 Định nghĩa thuật ngữ 5.2 Các loại sở liệu 5.3 Hệ quản trị sở liệu 5.4 Cơ sở liệu quan hệ 5.5 Sự phát triển hệ sở liệu Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Toán - Chương https://fb.com/tailieudientucntt Slide 5.1 Định nghĩa thuật ngữ Dữ liệu (data): biểu diễn đối tượng kiện ghi nhận lưu trữ phương tiện máy tính Dữ liệu có cấu trúc: số, ngày, chuỗi ký tự, … Dữ liệu khơng có cấu trúc: hình ảnh, âm thanh, đoạn phim, … Các đối tượng biểu diễn liệu tìm thấy đâu ? Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Toán - Chương https://fb.com/tailieudientucntt Slide Cơ sở liệu Cơ sở liệu (database) tập hợp có tổ chức liệu có liên quan luận lý với Có tổ chức (organized): user dễ dàng lưu trữ, thao tác truy xuất liệu Có liên quan luận lý (logically related): liệu mô tả lãnh vực mà nhóm user quan tâm dùng để trả lời câu hỏi liên quan đến lãnh vực Market Shares From 2004 www.computerworld.com • IBM: 35% market with $2.5BN in sales • Oracle: 33% market with $2.3BN in sales • Microsoft: 19% market with $1.3BN in sales Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Các ứng dụng quản lý liệu • Hệ thống đặt vé máy bay (Airline Reservation Systems) – single passenger reservations; Information about flights and airports; Information about ticket prices and tickets restrictions • Hệ thống hoạt động ngân hàng (Banking Systems) – accounts, customers, loans, mortgages, balances, etc Failures are not tolerable Concurrent access must be provided • Hồ sơ cơng ty (Corporate Records) – sales, accounts, bill of materials records, employee and their dependents Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Các ứng dụng quản lý liệu • Client – Server architecture – DBMS serves as a server and client queries are sent to servers – Where to locate servers • Multimedia Applications • Multidatabase Applications • Data Warehouses • It’s everywhere now !!! Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Thông tin Thông tin (information) liệu xử lý để làm tăng hiểu biết user Dữ liệu ngữ cảnh Dữ liệu tổng hợp / xử lý Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Mẫu liệu ví dụ Dữ liệu 50010273 50100298 59900012 50200542 50000075 Nguyễn Trung Tiến Lê Việt Hùng Trần Hùng Việt Hồ Xuân Hương Bùi Đức Duy Thông tin: liệu ngữ cảnh Mã sinh viên Họ tên sinh viên 50010273 Nguyễn Trung Tiến 50100298 Lê Việt Hùng 59900012 Trần Hùng Việt 50200542 Hồ Xuân Hương 50000075 Bùi Đức Duy Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com MT00 MT01 MT99 MT02 MT00 Lớp MT00 MT01 MT99 MT02 MT00 20 19 21 18 20 Tuổi 20 19 21 18 20 Thông tin: liệu tổng hợp / xử lý MT99 20% MT00 40% MT02 20% MT01 20% Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 10 Ví dụ ràng buộc toàn vẹn tham chiếu Ràng buộc toàn vẹn tham chiếu biểu diễn mũi tên từ phía phụ thuộc đến phía cha tương ứng Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 68 ChuNn hóa liệu data normalization trình thuận nghịch bước để thay tập hợp quan hệ cho trước thành quan hệ có cấu trúc đơn giản chu n nhằm để cải tiến thiết kế CSDL thỏa mãn ràng buộc toàn vẹn tránh liệu bị lặp lại khơng cần thiết Mục đích chuNn hóa liệu Loại bỏ bất thường (anomaly) quan hệ để có quan hệ có cấu trúc tốt hơn, nhỏ Quan hệ có cấu trúc tốt (well-structured relation) Có dư thừa liệu tối thiểu Cho phép người sử dụng thêm vào, cập nhật xóa bỏ liệu mà khơng gây mâu thuẫn liệu Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Toán - Chương https://fb.com/tailieudientucntt Slide 69 Phụ thuộc hàm Functional Dependency Cho R quan hệ, X Y hai tập thuộc tính R Chúng ta nói “X xác định hàm Y” “Y phụ thuộc hàm vào X”, ký hiệu X → Y gọi phụ thuộc hàm với giá trị X R tương ứng với giá trị Y Khóa quan hệ xác định hàm thuộc tính khơng khóa quan hệ Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 70 Các loại phụ thuộc hàm Phụ thuộc hàm riêng phần partial functional dependency X → A gọi phụ thuộc hàm riêng phần tồn Y ⊂ X Y → A Phụ thuộc hàm đầy đủ full functional dependency X → A gọi phụ thuộc hàm đầy đủ không tồn Y ⊂ X Y → A Phụ thuộc bắc cầu transitive dependency X → A gọi phụ thuộc bắc cầu tồn Y X → Y, Y → A, Y −/→ X A ∉ XY Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 71 Ví dụ phụ thuộc hàm R Mãsv Họtên Mãlớp Tênlớp Mônhọc Điểm S1 Tiến L1 MT01 M1 S1 Tiến L1 MT01 M2 S1 Tiến L1 MT01 M3 S2 Trúc L1 MT01 M1 S2 Trúc L1 MT01 M2 S3 Hiền L2 MT02 M1 Khóa R: {Mãsv, Mơnhọc} Các phụ thuộc hàm: Mãsv → {Họtên, Mãlớp} Mãlớp → Tênlớp {Mãsv, Mônhọc} → Điểm {Mãsv, Môn học} → Họtên phụ thuộc hàm riêng phần {Mãsv, Mônhọc} → Điểm phụ thuộc hàm đầy đủ Mãsv → Tênlớp phụ thuộc bắc cầu Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 72 Dạng chuNn Định nghĩa Quan hệ R dạng chu n (1NF - First Normal Form) thuộc tính R chứa giá trị nguyên tố (atomic value), giá trị không danh sách giá trị giá trị phức hợp (composite value) Các thuộc tính quan hệ R Khơng thuộc tính đa trị (multivalued attribute) Khơng thuộc tính phức hợp (composite attribute) Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 73 R Mãsv Họtên Mãlớp Tênlớp S1 Tiến L1 MT01 M1 S1 Tiến L1 MT01 M2 S1 Tiến L1 MT01 M3 S2 Trúc L1 MT01 M1 S2 Trúc L1 MT01 M2 S3 Hiền L2 MT02 M1 Điểmthi Quan hệ R không dạng chuNn thuộc tính Điểmthi thuộc tính phức hợp Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 74 R Mãsv Họtên Mãlớp Tênlớp Mônhọc Điểm S1 Tiến L1 MT01 M1 S1 Tiến L1 MT01 M2 S1 Tiến L1 MT01 M3 S2 Trúc L1 MT01 M1 S2 Trúc L1 MT01 M2 S3 Hiền L2 MT02 M1 Quan hệ R 1NF thuộc tính R khơng thuộc tính đa trị, khơng thuộc tính phức hợp Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 75 Các bất thường quan hệ 1NF Thêm vào Không thể thêm thông tin sinh viên có mã S4, tên Thành, thuộc lớp có mã L1 sinh viên chưa đăng ký học môn học Cập nhật Sửa tên sinh viên có tên Tiến với tên Thành phải sửa tất hàng sinh viên Xóa bỏ Xóa thơng tin sinh viên S3 đăng ký môn học M1 làm thông tin sinh viên Nguyên nhân Tồn thuộc tính khơng khóa phụ thuộc hàm riêng phần vào khóa Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 76 Dạng chuNn • Quan hệ R dạng chu n (2NF - Second Normal Form) R dạng chuNn thuộc tính khơng khóa phụ thuộc hàm đầy đủ vào khóa R R Mãsv Họtên Mãlớp Tênlớp Mônhọc Điểm S1 Tiến L1 MT01 M1 S1 Tiến L1 MT01 M2 S1 Tiến L1 MT01 M3 Các phụ thuộc hàm: S2 Trúc L1 MT01 M1 S2 Trúc L1 MT01 M2 S3 Hiền L2 MT02 M1 Mãsv → {Họtên, Mãlớp} Mãlớp → Tênlớp {Mãsv, Mônhọc} → Điểm Khóa R {Mãsv, Mơnhọc} Lược đồ quan hệ R khơng 2NF thuộc tính khơng khóa Họtên phụ thuộc hàm riêng phần vào khóa {Mãsv, Mơnhọc} Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 77 R2 R1 Mãsv Họtên Mãlớp Tênlớp Mãsv Mônhọc Điểm S1 Tiến L1 MT01 S1 M1 S2 Trúc L1 MT01 S1 M2 S3 Hiền L2 MT02 S1 M3 S2 M1 S2 M2 S3 M1 Khóa R1: Mãsv Khóa R2: {Mãsv, Mơnhọc} Lược đồ quan hệ R1 R2 2NF thuộc tính khơng khóa phụ thuộc hàm đầy đủ vào khóa Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 78 Các bất thường quan hệ 2NF Thêm vào Không thể thêm thông tin lớp L3 có tên MT03 chưa có sinh viên học lớp Cập nhật Sửa tên lớp có mã L1 với tên MT_1 phải sửa tất hàng lớp Xóa bỏ Xóa thơng tin sinh viên có mã S3 làm thông tin lớp L2 Nguyên nhân Tồn thuộc tính khơng khóa phụ thuộc bắc cầu vào khóa Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 79 Dạng chuNn • Quan hệ R dạng chu n (3NF- Third Normal Form) R dạng chuNn thuộc tính khơng khóa khơng phụ thuộc bắc cầu vào khóa R R1 Mãsv Họtên Mãlớp Tênlớp S1 Tiến L1 MT01 S2 Trúc L1 MT01 S3 Hiền L2 MT02 Lược đồ quan hệ R1 khơng 3NF thuộc tính khơng khóa Tênlớp phụ thuộc bắc cầu vào khóa Mãsv Mãsv → Mãlớp Mãlớp → Tênlớp Mãlớp −/→ Mãsv Tênlớp ∉ {Mãsv, Mãlớp} Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 80 R11 R12 Mãlớp Tênlớp Mãsv Họtên Mãlớp L1 MT01 S1 Tiến L1 L2 MT02 S2 Trúc L1 S3 Hiền L2 Khóa R11: Mãlớp Khóa R12: Mãsv Lược đồ quan hệ R11 R12 3NF thuộc tính khơng khóa khơng phụ thuộc bắc cầu vào khóa Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 81 Sự phát triển hệ DB Hệ thống tập tin (flat file): 1960 - 1980 Hệ CSDL phân cấp (hierarchical): 1970 - 1990 Hệ CSDL mạng (network): 1970 - 1990 Hệ CSDL quan hệ (relational): 1980 - Hệ CSDL hướng đối tượng (object-oriented): 1990 - Hệ CSDL đối tượng - quan hệ (object-relational): 1990 - Kho liệu (data warehouse): 1980 - Web-enabled: 1990 - Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 82 ... CuuDuongThanCong.com Nhập mơn Điện Toán - Chương https://fb.com/tailieudientucntt Slide 18 Cách tiếp cận sở liệu Kho liệu trung tâm chứa liệu dùng chung Dữ liệu quản lý đơn vị điều khiển (controlling agent) Dữ liệu. .. BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Cơ sở liệu Cơ sở liệu (database) tập hợp có tổ chức liệu có liên quan luận lý với Có tổ chức... CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 24 Các loại sở liệu Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt