Bài giảng Tin học 12 - Bài: Cơ sở dữ liệu quan hệ

pptx 25 trang Thủy Hạnh 11/12/2023 480
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học 12 - Bài: Cơ sở dữ liệu quan hệ", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxbai_giang_tin_hoc_12_bai_co_so_du_lieu_quan_he.pptx

Nội dung text: Bài giảng Tin học 12 - Bài: Cơ sở dữ liệu quan hệ

  1. CƠ SỞ DỮ LIỆU QUAN HỆ
  2. 1. Mô hình dữ liệu quan hệ: Mô hình là gì? Ví dụ? 2
  3. 1. Mô hình dữ liệu quan hệ: a. Mô hình dữ liệu là gì? Trong lĩnh vực CSDL, người ta dùng mô hình dữ liệu để mô tả dữ liệu ở mức cao, tổng quát, vì vậy mô hình dữ liệu được dùng để thiết kế CSDL. Cấu trúc dữ liệu? Vậy khi thiết kế CSDL cần Các thao tác, quan tâm những phép toán trên yếu tố nào? dữ liệu? Ràng buộc dữ liệu? 3
  4. 1. Mô hình dữ liệu quan hệ: a. Mô hình dữ liệu là gì? Mô hình dữ liệu là gì? Mô hình dữ liệu là một tập khái niệm dùng để mô tả cấu trúc dữ liệu, các thao tác, phép toán trên dữ liệu và các ràng buộc dữ liệu trên một CSDL. 4
  5. 1. Mô hình dữ liệu quan hệ: b. Các đặc trưng của mô hình dữ liệu quan hệ? Các đặc trưng của mô hình dữ liệu quan hệ? Về mặt cấu trúc: Dữ liệu được thể hiện trong các bảng; Mỗi bảng có nhiều cột, dòng => thể hiện thông tin về 1 chủ thể; Mỗi cột biểu thị thuộc tính của chủ thể; Mỗi dòng biểu thị cho một cá thể trong chủ thể. 5
  6. 1. Mô hình dữ liệu quan hệ: b. Các đặc trưng của mô hình dữ liệu quan hệ? Các đặc trưng của mô hình dữ liệu quan hệ? Về mặt thao tác trên dữ liệu: Cập nhật dữ liệu: thêm, sửa, xóa 1 bảng ghi; Khai thác dữ liệu: tìm kiếm thông qua truy vấn, sắp xếp, 6
  7. 1. Mô hình dữ liệu quan hệ: b. Các đặc trưng của mô hình dữ liệu quan hệ? Các đặc trưng của mô hình dữ liệu quan hệ? Về mặt ràng buộc dữ liệu: Dữ liệu được trong các bảng phải thỏa mãn một số ràng buộc, thể hiện mối liên hệ giữa các dữ liệu; Thí dụ: ràng buộc về khóa chính, ràng buộc về liên kết giữa các bảng, ràng buộc miền giá trị 7
  8. 2. CSDL quan hệ: a. Khái niệm: Khái niệm: CSDL quan hệ là CSDL được xây dựng dựa trên mô hình quan hệ. Hệ QT CSDL quan hệ là hệ QT CSDL dùng để tạo lập, cập nhật và khai thác CSDL quan hệ. Trong CSDL quan hệ: Quan hệ dùng để chỉ bảng; Thuộc tính dùng để chỉ cột (trường); Bộ dùng để chỉ dòng (bản ghi); Miền giá trị dùng để chỉ kiểu dữ liệu. 8
  9. 2. CSDL quan hệ: a. Khái niệm: Ví dụ: Quan hệ Thuộc tính Bảng HOC_SINH Ma_hoc_sinh Ho_dem Ten 35103031 Nguyễn Ngọc Nhất Linh 35103023 Phan Văn Huy 35103037 Lê Thị Kim Nga 35103070 Mai Thị Giang Thùy 35103056 Trần Thị Hồng Nhung 35103008 Phùng Đức Bộ Miền giá trị: text 9
  10. 2. CSDL quan hệ: b. Các đặc trưng của quan hệ Trong Acsess, có thể tạo được 2 bảng: MON_HOC(Ma_mon_hoc,Ten_mon_hoc) và MON_HOC(Ma_mon_hoc,So_tiet) trong cùng CSDLX HOC_TAP???  Mỗi quan hệ có tên phân biệt 10
  11. 2. CSDL quan hệ: b. Các đặc trưng của quan hệ Trong Acsess, việc tạo khóa chính có ý nghĩa gì? Hãy nhập 1 dòng mới vào đầu bảng HOC_SINH!X  Mỗi bộ là phân biệt và thứ tự các bộ không quan trọng. 11
  12. 2. CSDL quan hệ: b. Các đặc trưng của quan hệ Trong thực tế Ma_mon_hoc Ten_mon_hoc Ma_mon_hoc Ten_mon_hoc TO Toán TrongTI Acsess, Tin học có thể tạo được bảng: VA Văn VL Vật lý MON_HOC(Ma_mon_hoc,Ten_mon_hoc, AV Anh văn HH Hóa học Ma_mon_hoc,Ten_mon_hoc) Xtrong CSDL HOC_TAP???  Mỗi thuộc tính có tên phân biệt và thứ tự các thuộc tính không quan trọng. 12
  13. 2. CSDL quan hệ: b. Các đặc trưng của quan hệ Bảng BANG_DIEM Ma_hoc_sinh Ma_mon_hoc Ngay_kiem_tra Diem_so 1 Bao2 nhiêu bạn 31/12/2012 10 Đa trị trong 3lớp tạo được01/01/2013 1 2 2 31/12/2012 9 Cách2 bảng khắc trên phục? trong 3 2 31/12/2012 8 Access??? Bảng HOC_SINH Ma_hoc_sinh Ho_ten Ho_dem Ten 1 Nguyễn VănPhức hợpA 2 Trần Thị B  Quan hệ không có thuộc tính đa trị hay phức hợp 13
  14. 2. CSDL quan hệ: b. Các đặc trưng của quan hệ Các đặc trưng của quan hệ: Mỗi quan hệ có tên phân biệt; Mỗi bộ là phân biệt và thứ tự các bộ không quan trọng; Mỗi thuộc tính có tên phân biệt và thứ tự các thuộc tính không quan trọng; Quan hệ không có thuộc tính đa trị hay phức hợp. 14
  15. 2. CSDL quan hệ: b. Các đặc trưng của quan hệ Bảng Mượn sách Số thẻ Mã sách Thời gian mượn Ngày mượn Ngày trả 1 1 31/12/2012 31/12/2013 2 31/12/2012 01/01/2014 2 3 01/01/2012 30/04/2013 2 4 02/02/2012 01/05/2013 Bảng Người mượn Bảng Sách Số thẻ Họ tên Mã Tên sách Mã Tên sách sách sách 1 Lê Văn C 1 Toán 12 3 Tin 12 1 Lê Văn C 2 Văn 12 4 Lý 12 2 Phan Văn H Tìm tất cả các vi phạm đặc trưng của quan hệ trong CSDL Thư viện ở trên! 15
  16. 2. CSDL quan hệ: c. Ví dụ về CSDL quan hệ Để quản lí kết quả học tập của học sinh, thông thường phòng học vụ cần quản lý các thông tin sau: Thông tin về Thông tin về Học sinh Môn học Thông tin về Bảng điểm 16
  17. 2. CSDL quan hệ: c. Ví dụ về CSDL quan hệ Học sinh: có những Mã học sinh, họ thông tin nào? đệm, tên Môn học: gồm những thông tin Mã môn học, tên nào? môn học Bảng điểm: gồm ID, mã học sinh, mã những thông tin môn học, ngày kiểm nào? tra, điểm số 17
  18. 2. CSDL quan hệ: c. Ví dụ về CSDL quan hệ Bảng BANG_DIEM ID Ma_hoc_sinh Ma_mon_hoc Ngay_kiem_tra Diem_so 1 1 1 24/12/2012 9 Rút ra được 2 2 1 24/12/2012 9 thông tin gì 3 1 2 25/12/2012 8 nhờ vào mối liên kết Bảng HOC_SINH giữa các bảng? Ma_hoc_sinh Ho_dem Ten 1 Nguyễn Văn Tèo 2 Đinh Văn Tí Bảng MON_HOC Ma_mon_hoc Ten_mon_hoc 1 Toán 2 Tin 18
  19. 2. CSDL quan hệ: c. Ví dụ về CSDL quan hệ Sự xuất hiện lại của thuộc tính Ma_hoc_sinh và Ma_mon_hoc ở bảng BANG_DIEM trong bảng HOC_SINH và MON_HOC thể hiện một sự liên hết giữa học sinh và môn học dự thi. Nhờ liên kết này mà ta biết được nhiều thông tin, chẳng hạn những học sinh thi một môn học nào đó, môn đó do một học sinh nào đó dự thi 19
  20. 2. CSDL quan hệ: d. Khóa và liên kết giữa các bảng 20
  21. 2. CSDL quan hệ: d. Khóa và liên kết giữa các bảng * KHÓA Hãy cho biết, khóa của một bảng là gì? • Khóa của một bảng là một tập thuộc tính gồm một hay một số thuộc tính của bảng Hãy trình bày tính chất khóa của một bảng. • Không có hai bộ khác nhau trong bảng có giá trị bằng nhau trên khóa. • Không có tập con thực sự nào của tập thuộc tính này có tính chất trên. 21
  22. 2. CSDL quan hệ: d. Khóa và liên kết giữa các bảng Ví dụ Thuộc tính ‘Số thẻ’ là một khóa 22
  23. 2. CSDL quan hệ: d. Khóa và liên kết giữa các bảng Địa chỉ người gửi: khóa Nếu không ghi một trong hai địa chỉ thì điều gì sẽ xảy ra? * Vậy địa chỉ người nhận phải bắt buộc ghi khóa chính Địa chỉ Khóangười chính nhận: khóa 23
  24. 2. CSDL quan hệ: d. Khóa và liên kết giữa các bảng * KHÓA CHÍNH • Một bảng có thể có nhiều khóa. • Trong các khóa của một bảng, ta chọn (chỉ định) một khóa làm khóa chính. • Khi nhập dữ liệu cho một bảng, dữ liệu tại các cột khóa chính không được để trống Chú ý • Mỗi bảng có ít nhất một khóa. • Việc xác định khóa phụ thuộc vào quan hệ logic của các dữ liệu chứ không phụ thuộc vào giá trị dữ liệu. • Nên chọn khóa chính là khóa có ít thuộc tính nhất. 24
  25. 2. CSDL quan hệ: d. Khóa và liên kết giữa các bảng * LIÊN KẾT Tại sao ta phải xác định khóa của một bảng? • Việc xác định khóa của một bảng là để thiết lập sự liên kết giữa các bảng. 25