Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ

Chia sẻ: Zcsdf Zcsdf | Ngày: | Loại File: PDF | Số trang:43

0
85
lượt xem
11
download

Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục tiêu chính của bài 2 Mô hình cơ sở dữ liệu quan hệ nằm trong bài giảng Cơ sở dữ liệu nêu mô hình cơ sở dữ liệu quan hệ, ràng buộc toàn vẹn (RBTV), đại số quan hệ. Giải bài toán dùng đại số quan hệ, chuyển các quy tắc quản lý thành RBTV. Cài đặt cơ sở dữ liệu trực tiếp trên DBMS.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ

  1. CƠ SỞ DỮ LIỆU Bài 2: MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ (NGÔN NGỮ MÔ HÌNH HÓA DỮ LIỆU MỨC VẬT LÝ) 30/07/2012 HVĐ – THQL 1
  2. MỤC TIÊU • Kiến thức – Mô hình CSDL quan hệ – Ràng buộc toàn vẹn (RBTV) – Đại số quan hệ • Kỹ năng – Giải bài toán dùng đại số quan hệ – Chuyển các quy tắc quản lý thành RBTV – Cài đặt cơ sở dữ liệu trực tiếp trên DBMS – Cài đặt cơ sở dữ liệu dùng Power Designer • Yêu cầu: áp dụng thực tế 30/07/2012 HVĐ – THQL 2
  3. NỘI DUNG • Tổng quan • Mô hình cơ sở dữ liệu quan hệ • Đại số quan hệ • Thảo luận tình huống 30/07/2012 HVĐ – THQL 3
  4. TỔNG QUAN • Tổng quan – Các ví dụ – Khái niệm • Mô hình cơ sở dữ liệu quan hệ • Đại số quan hệ • Thảo luận tình huống 30/07/2012 HVĐ – THQL 4
  5. VÍ DỤ • Xét hệ thống quản lý kho • Bài toán: tổ chức các bảng lưu dữ liệu đủ cho yêu cầu “biết số lượng và trị giá hàng tồn kho của từng mặt hàng tại bất kỳ thời điểm nào” • Rõ ràng ở mỗi lần nhập xuất ngày giao dịch, số lượng và đơn giá nhập là các dữ liệu vào ảnh hưởng đến dữ liệu ra theo yêu cầu. • Chúng ta có 2 thái cực lưu trữ – Tính sẵn dữ liệu ra, lưu để sẵn sàng đáp ứng yêu cầu – Lưu dữ liệu gốc, khi được yêu cầu sẽ tính rồi trả lời 30/07/2012 HVĐ – THQL 5
  6. GIẢI PHÁP • Số tồn kho được tính qua số đầu kỳ và số phát sinh • Số đầu kỳ gắn với hàng hóa, lưu trong bảng h-hóa • Số phát sinh gắn với giao dịch, lưu trong các bảng nhập và xuất 30/07/2012 HVĐ – THQL 6
  7. VÍ DỤ • Môn: kỹ thuật bàn phím (15 tiết), Internet, (20 tiết) • Quản lý Minh (hsl 3), giảng viên Lan (hsl 3), giảng viên Hùng (hsl 2), giảng viên mời Thảo. • Lan dạy 1 lớp kỹ thuật bàn phím và 1 lớp Internet, Hùng dạy 1 lớp kỹ thuật bàn phím, Thảo dạy 2 lớp Internet. • Phương thức tính lương: – Lương quản lý = lương cứng + 1800 – Lương giảng viên = lương cứng + tiền giảng – Lương giảng viên mời = tiền giảng * 1.5 Trong đó • lương cứng = hsl * 450 • tiền giảng = tổng số tiết x 50 30/07/2012 HVĐ – THQL 7
  8. PHÂN TÍCH • Bám vào mục tiêu: tính lương • Theo công thức, cần biết – Hệ số lương – Số tiết mỗi môn – Số môn giảng • Hệ số lương lưu, cùng với thông tin khác của giảng viên, trong bảng giảng viên • Số tiết mỗi môn lưu, cùng với thông tin khác của môn, trong bảng môn học • Số môn giảng lưu trong bảng phân công giảng 30/07/2012 HVĐ – THQL 8
  9. GIẢI PHÁP id Họ tên lương QL Minh 3150 G1 Lan 3100 G2 Hùng 1650 M1 Thào 3000 30/07/2012 HVĐ – THQL 9
  10. KHÁI NIỆM • Lược đồ quan hệ: cấu trúc bảng – Cột (thuộc tính): tên, miền giá trị – Cột định danh: khoá, siêu khoá • Quan hệ (tập các bộ): nội dung bảng 30/07/2012 HVĐ – THQL 10
  11. MÔ HÌNH CSDL QUAN HỆ • Tổng quan • Mô hình cơ sở dữ liệu quan hệ – Lược đồ quan hệ – Lược đồ CSDL – Ràng buộc toàn vẹn – Cài đặt cơ sở dữ liệu • Đại số quan hệ • Thảo luận tình huống 30/07/2012 HVĐ – THQL 11
  12. LƯỢC ĐỒ QUAN HỆ • Lược đồ quan hệ – Tập thuộc tính – Miền giá trị của mỗi thuộc tính • Quy tắc lưu trữ cơ bản – Mỗi dòng thể hiện một đơn vị thông tin – Giữa 2 dòng phải thể hiện sự phân biệt – Quan hệ giữa các dữ liệu trong cùng 1 dòng – Quan hệ giữa các dữ liệu trên nhiều dòng 30/07/2012 HVĐ – THQL 12
  13. VÍ DỤ • Quan hệ giảng viên (gv): – Mỗi dòng lưu thông tin của một giảng viên – Dữ liệu cụ thể được xác định bởi lược đồ cho trước • Ký hiệu gv (gvID char(6), gvTEN char(10), nSINH date) cho biết – Quan hệ giảng viên gv – Được định nghĩa trên lược đồ GV = {gvID char(6), gvTEN char(10), nSINH date} • Trong lược đồ GV ở trên: – Hai giảng viên khác nhau được phân biệt qua dữ liệu được lưu trong thuộc tính gvID – Miền giá trị của các thuộc tính phụ thuộc nhu cầu lưu trữ 30/07/2012 HVĐ – THQL 13
  14. VIEW • Quan hệ gồm hai loại – Quan hệ gốc: được lưu – Quan hệ dẫn xuất: kết quả xử lý • View là một quan hệ dẫn xuất được thiết kế gần gũi với người dùng để có: – Một cái nhìn đầy đủ trong ngữ cảnh sử dụng – Những thông tin riêng và các quy tắc riêng trong ngữ cảnh này – Cài đặt cơ chế hạn chế truy xuất 30/07/2012 HVĐ – THQL 14
  15. THẢO LUẬN • Một cửa hàng bán đĩa CD muốn quản lý thông tin của khách hàng. Những thông tin này được thể hiện qua quan hệ khachHang • Hãy xác định: – Lược đồ (tập thuộc tính và miền giá trị) – Khóa – Quan hệ này là quan hệ lưu trữ hay là quan hệ dẫn xuất (view) – Nếu là view, cho biết mục tiêu của view 30/07/2012 HVĐ – THQL 15
  16. LƯỢC ĐỒ CƠ SỞ DỮ LIỆU • Tập các lược đồ quan hệ • Tập các RBTV – Khoá (siêu khoá) – Miền giá trị – NULL, NOT NULL – Khoá ngoại – Ràng buộc trên 1 bộ giữa các thuộc tính – Ràng buộc trên nhiều bộ – Ràng buộc tồn tại – Ràng buộc trên nhiều bảng 30/07/2012 HVĐ – THQL 16
  17. VÍ DỤ • {gvID char(6), gvTEN char(10), nSINH date} • {monID char(6), monTEN char(10), soTC integer} • {lopID char(6), nganhID char(6), phongID char(6)} • {svID char(6), svTEN char(10), lopID char(6)} • {nganhID char(6), monID char(6), hocKY integer} • {lopID char(6), monID char(6), buoiHOC char(2)} • {gvID char(6), monID char(6), lopID char(6)} • {gvID char(6), monID char(6), lopID char(6), phongID char(6), buoiHOC char(2)} • {svID char(6), monID char(6), diemTHI integer} 30/07/2012 HVĐ – THQL 17
  18. THẢO LUẬN RBTV, VIEW • Bảng – gVien(gvID, gvTEN, nSINH ) – monHoc(monID , monTEN, soTC) – lopHoc(lopID, nganhID, phongID) – sVien(svID, svTEN, lopID) – chuongTrinh(nganhID , monID , hocKY ) – lichHoc(lopID, monID, buoiHOC) – phanCong(gvID, monID, lopID ) – ketQua(svID, monID, diemTHI) • View – thoiKhoaBieu(gvID, monID, lopID, phongID, buoiHOC) – khoiLuong(gvID, tongSoTiet) 30/07/2012 HVĐ – THQL 18
  19. VÍ DỤ RB MIỀN GÍA TRỊ • DOM(soTC) = {3, 4} • DOM(hocKY) = {1, 2, …, 8} • DOM(buoiHOC) = {“S2”, “C2”, …, “TN”} • DOM(diemTHI) = {0, 1, …, 10} 30/07/2012 HVĐ – THQL 19
  20. VÍ DỤ RB KHOÁ • gVien(gvID, gvTEN, nSINH ) • monHoc(monID , monTEN, soTC) • lopHoc(lopID , phongID) • sVien(svID, svTEN, lopID) • chuongTrinh(nganhID , monID , hocKY ) • lichHoc(lopID, monID, buoiHOC) • phanCong(gvID, monID, lopID) • ketQua(svID, monID, diemTHI) 30/07/2012 HVĐ – THQL 20

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản