1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Cơ sở dữ liệu: Bài 7 - Đại học CNTT

17 15 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Bài giảng Cơ sở dữ liệu - Bài 7 trình bày về ràng buộc vẹn toàn. Nội dung chính trong bài giảng gồm có: Giới thiệu ràng buộc toàn vẹn, các đặc trưng của một ràng buộc toàn vẹn, phân loại ràng buộc toàn vẹn, bảng tầm ảnh hưởng tổng hợp. Mời các bạn cùng tham khảo.

Bài 7: Ràng buộc toàn vẹn Khoa HTTT-Đại học CNTT Nội dung Giới thiệu ràng buộc toàn vẹn (RBTV) Các đặc trưng RBTV Phân loại RBTV Bảng tầm ảnh hưởng tổng hợp Khoa HTTT-Đại học CNTT 1 Giới thiệu Š Ràng buộc toàn vẹn quy định, điều kiện từ ứng dụng thực tế, điều kiện bất biến ⇒Vì phải ln đảm bảo sở liệu thoả ràng buộc toàn vẹn sau thao tác làm thay đổi tình trạng sở liệu Khoa HTTT-Đại học CNTT Các đặc trưng RBTV 2.1 Nội dung 2.2 Bối cảnh 2.3 Bảng tầm ảnh hưởng Khoa HTTT-Đại học CNTT 2.1 Nội dung Š Mô tả chặt chẽ ý nghĩa ràng buộc toàn vẹn Š Nội dung phát biểu ngôn ngữ tự nhiên ngôn ngữ hình thức (ngơn ngữ tân từ, đại số quan hệ, mã giả,…) „ „ Ngôn ngữ tự nhiên: dễ hiểu khơng chặt chẽ, logic Ngơn ngữ hình thức: chặt chẽ, cô đọng Khoa HTTT-Đại học CNTT 2.2 Bối cảnh Š Là tập quan hệ thao tác quan hệ có khả làm cho ràng buộc bị vi phạm Š Đó quan hệ vi phạm ràng buộc tồn vẹn thực thao tác thêm, xoá, sửa Khoa HTTT-Đại học CNTT 2.3 Bảng tầm ảnh hưởng (1) Š Nhằm xác định tiến hành kiểm tra ràng buộc tồn vẹn Thao tác thực làm vi phạm ràng buộc toàn vẹn Š Phạm vi ảnh hưởng ràng buộc toàn vẹn biểu diễn bảng chiều gọi bảng tầm ảnh hưởng Khoa HTTT-Đại học CNTT 2.3 Bảng tầm ảnh hưởng (2) Một số quy định Š Những thuộc tính khố (những thuộc tính nằm khố quan hệ) không phép sửa giá trị Š Thao tác thêm xoá xét quan hệ Thao tác sửa xét sửa thuộc tính quan hệ Š Trước xét thao tác thực làm vi phạm ràng buộc hay khơng CSDL phải thoả ràng buộc tồn vẹn trước Khoa HTTT-Đại học CNTT 2.3 Bảng tầm ảnh hưởng (3) Š Bảng tầm ảnh hưởng ràng buộc Ràng buộc Ri Thêm Xóa Sửa Quan hệ ……… Quan hệ n + : thực thao tác làm vi phạm RBTV : thực thao tác làm vi phạm RBTV +(A) : làm vi phạm RBTV sửa thuộc tính A –(*) : khơng vi phạm RBTV thao tác không thực Khoa HTTT-Đại học CNTT Phân loại 3.1 RBTV có bối cảnh quan hệ 3.2 RBTV có bối cảnh nhiều quan hệ 3.3 Phụ thuộc hàm (functional dependency) Khoa HTTT-Đại học CNTT 10 3.1 RBTV có bối cảnh quan hệ 3.1.1 RBTV miền giá trị 3.1.2 RBTV liên thuộc tính 3.1.3 RBTV liên Khoa HTTT-Đại học CNTT 11 Lược đồ CSDL quản lý giáo vụ HOCVIEN (MAHV, HO, TEN, NGSINH, GIOITINH, NOISINH, MALOP) LOP (MALOP, TENLOP, TRGLOP, SISO, MAGVCN) KHOA (MAKHOA, TENKHOA, NGTLAP, TRGKHOA) MONHOC (MAMH, TENMH, TCLT, TCTH, MAKHOA) DIEUKIEN (MAMH, MAMH_TRUOC) GIAOVIEN(MAGV,HOTEN,HOCVI,HOCHAM,GIOITINH,NGSINH,NGVL, HESO, MUCLUONG, MAKHOA) GIANGDAY(MALOP,MAMH,MAGV,HOCKY, NAM,TUNGAY,DENNGAY) KETQUATHI (MAHV, MAMH, LANTHI, NGTHI, DIEM, KQUA) Khoa HTTT-Đại học CNTT 12 3.1.1 Ràng buộc miền giá trị Š Là tập giá trị mà thuộc tính nhận Š R1: Giới tính học viên Nam Nữ „ „ „ Nội dung: ∀hv ∈ HOCVIEN: hv.Gioitinh ∈ {‘Nam’,’Nữ’} Bối cảnh: quan hệ HOCVIEN Bảng tầm ảnh hưởng: Thêm Xóa R1 HOCVIEN + - Sửa +(Gioitinh) Khoa HTTT-Đại học CNTT 13 3.1.2 Ràng buộc liên thuộc tính Š Là ràng buộc thuộc tính với quan hệ Š R2:Ngày bắt đầu (TUNGAY) giảng dạy môn học cho lớp nhỏ ngày kết thúc (DENNGAY) „ Nội dung: „ ∀gd ∈ GIANGDAY: gd.TUNGAY < gd.DENNGAY Bối cảnh : GIANGDAY Bảng tầm ảnh hưởng: „ Thêm Xóa R2 GIANGDAY + - Sửa +(Tungay, Denngay) Khoa HTTT-Đại học CNTT 14 3.1.3 Ràng buộc liên (1) Š Là ràng buộc quan hệ (có thể liên quan đến nhiều thuộc tính) Š R3: Tất học viên phải có mã số phân biệt với „ „ „ Nội dung: ∀h1,h2∈ HOCVIEN: Nếu h1≠h2 h1.Mahv≠h2.Mahv Bối cảnh: quan hệ HOCVIEN Bảng tầm ảnh hưởng: R3 Thêm Xóa Sửa HOCVIEN + - -(*) Khoa HTTT-Đại học CNTT 15 3.1.3 Ràng buộc liên (2) Š R4: Các giáo viên có học vị, hệ số lương mức lương „ „ „ Nội dung: ∀gv1,gv2∈ GIAOVIEN: Nếu (gv1.Hocvi=gv2.Hocvi)∧(gv1.Heso=gv2.Heso) gv.Mucluong=gv.Mucluong Bối cảnh: quan hệ GIAOVIEN Bảng tầm ảnh hưởng: R4 GIAOVIEN Thêm Xóa + - Sửa +(Hocvi, Heso, Mucluong) Khoa HTTT-Đại học CNTT 16 3.2 RBTV có bối cảnh nhiều quan hệ 3.2.1 RBTV tham chiếu (khoá ngoại, phụ thuộc tồn tại) 3.2.2 RBTV liên thuộc tính 3.2.3 RBTV thuộc tính tổng hợp 3.2.4 RBTV chu trình lược đồ biểu diễn quan hệ Khoa HTTT-Đại học CNTT 17 3.2.1 Ràng buộc tham chiếu (1) Š Là ràng buộc quy định giá trị thuộc tính quan hệ R (tập thuộc tính gọi khố ngoại), phải phụ thuộc vào tồn quan hệ S (tập thuộc tính khố quan hệ S) Š RBTV tham chiếu gọi ràng buộc phụ thuộc tồn hay ràng buộc khóa ngoại Khoa HTTT-Đại học CNTT 18 3.2.1 Ràng buộc tham chiếu (2) Š R5: Học viên thi môn học mơn học phải có danh sách môn học „ Nội dung: z z „ „ ∀k ∈ KETQUATHI, ∃m ∈ MONHOC: k.Mamh = m.Mamh Hoặc: KETQUATHI[Mamh] ⊆ MONHOC[Mamh] Bối cảnh: quan hệ KETQUATHI, MONHOC Bảng tầm ảnh hưởng: Thêm Xóa R5 Sửa KETQUATHI + - -(*) MONHOC - + -(*) Khoa HTTT-Đại học CNTT 19 3.2.2 Ràng buộc liên thuộc tính (1) Š Là ràng buộc thuộc tính quan hệ khác Š R6: Ngày giáo viên giảng dạy môn học phải lớn ngày giáo viên vào làm „ „ „ Nội dung: ∀gd ∈ GIANGDAY Nếu ∃gv ∈ GIAOVIEN: gd.Magv = gv.Magv gv.NGVL ≤ gd.TUNGAY Bối cảnh: GIANGDAY, GIAOVIEN Bảng tầm ảnh hưởng: R6 Thêm Xóa Sửa GIANGDAY + - +(Tungay) GIAOVIEN - - +(Ngvl) Khoa HTTT-Đại học CNTT 20 10 3.2.2 Ràng buộc liên thuộc tính (2) Š R7: Ngày thi mơn học phải lớn ngày kết thúc học môn học „ Nội dung: ∀kq ∈ KETQUATHI Nếu ∃gd ∈GIANGDAY, ∃hv ∈HOCVIEN: (gd.Malop=hv.Malop)∧(kq.Mamh=gd.Mamh) gd.Denngay < kq.Ngthi „ Bối cảnh: GIANGDAY, HOCVIEN, KETQUATHI Khoa HTTT-Đại học CNTT 21 3.2.2 Ràng buộc liên thuộc tính (3) „ Bảng tầm ảnh hưởng: R7 Thêm Xóa Sửa HOCVIEN - - +(Malop) GIANGDAY - - +(Denngay) KETQUATHI + - +(Ngthi) Khoa HTTT-Đại học CNTT 22 11 3.2.3 RBTV thuộc tính tổng hợp (1) Š Là ràng buộc thuộc tính, quan hệ khác Š Thuộc tính tổng hợp thuộc tính tính tốn từ giá trị thuộc tính khác, khác Š Ví dụ : SANPHAM(Masp,Tensp, Nuocsx, Gia) KHACHHANG(Makh, Hoten, Doanhso) HOADON(Sohd, Nghd,Makh,Trigia) CTHD(Sohd,Masp,Soluong,Gia) „ Trị giá hoá đơn tổng thành tiền chi tiết thuộc hố đơn Khoa HTTT-Đại học CNTT 23 3.2.3 RBTV thuộc tính tổng hợp (2) Š Doanh số khách hàng tổng trị giá hoá đơn mà khách hàng mua „ Nội dung: ∀kh ∈ KHACHHANG, kh.Doanhso = ∑(hd ∈ HOADON: hd.Makh=kh.Makh)(hd.Trigia) „ „ Bối cảnh: KHACHHANG, HOADON Bảng tầm ảnh hưởng: Thêm Xóa Sửa KHACHHANG + - +(Doanhso) HOADON + + +(Makh) Khoa HTTT-Đại học CNTT 24 12 3.2.3 RBTV thuộc tính tổng hợp (3) Š R8: Sỉ số lớp số lượng học viên thuộc lớp „ Nội dung: „ „ ∀l ∈ LOP, l.Siso = Count(hv ∈ HOCVIEN: hv.Malop = lp.Malop)(*) Bối cảnh: quan hệ LOP, HOCVIEN Bảng tầm ảnh hưởng: R8 Thêm Xóa Sửa LOP + - +(Siso) HOCVIEN + + +(Malop) Khoa HTTT-Đại học CNTT 25 3.2.4 Do diện chu trình (1) Biểu diễn lược đồ quan hệ dạng đồ thị: „ „ „ „ Quan hệ biểu diễn nút tròn rỗng to Thuộc tính biểu diễn nút trịn đặc nhỏ Tất nút rõ tên quan hệ thuộc tính Thuộc tính thuộc quan hệ biểu diễn cung nối nút tròn to nút tròn nhỏ Nếu đồ thị biểu diễn xuất đường khép kín => lược đồ CSDL có diện chu trình Khoa HTTT-Đại học CNTT 26 13 3.2.4 Do diện chu trình (2) Magv Malop GIANGDAY X GIAOVIEN Mamh Y Hoten Hocvi Tenmh MONHOC Makhoa … TCLT Khoa HTTT-Đại học CNTT 27 3.2.4 Do diện chu trình (3) Š X = GIANGDAY[Magv, Mamh] Makhoa Š Y = (GIAOVIEN ⋈ MONHOC) [Magv,Mamh] Š Ý nghĩa: „ „ X: giáo viên môn học phân công cho giáo viên giảng dạy Y: giáo viên mơn học thuộc khoa giáo viên phụ trách Š Mối quan hệ X Y ràng buộc sau: Khoa HTTT-Đại học CNTT 28 14 3.2.4 Do diện chu trình (4) Š Ràng buộc 1: giáo viên phân công giảng dạy môn thuộc khoa giáo viên phụ trách X⊆Y Š Ràng buộc 2: giáo viên phải phân công giảng dạy tất mơn thuộc khoa giáo viên phụ trách X=Y Š Ràng buộc 3: phân cơng giáo viên giảng dạy môn học X ≠ Y Khoa HTTT-Đại học CNTT 29 3.2.4 Do diện chu trình (4) Š R9: giáo viên phân công giảng dạy môn thuộc khoa giáo viên phụ trách X⊆Y R9 Thêm Xóa Sửa MONHOC - - +(Makhoa) GIAOVIEN - - +(Makhoa) GIANGDAY + - +(Magv) Khoa HTTT-Đại học CNTT 30 15 3.3 Phụ thuộc hàm (1) Š Cho quan hệ Q(A, B, C) Phụ thuộc hàm A xác định B Ký hiệu A → B nếu: ∀q1,q2∈Q: Nếu q1.A=q2.A q1.B=q2.B Š A → B gọi phụ thuộc hàm hiển nhiên B⊆A Š A → B gọi phụ thuộc hàm nguyên tố ¬∃A’⊂A, A’≠A cho A’→ B Khoa HTTT-Đại học CNTT 31 3.3 Phụ thuộc hàm (2) Š Mỗi quan hệ có phụ thuộc hàm Š Ràng buộc khoá phụ thuộc hàm Mamh → Tenmh, Tclt, Tcth, Makhoa Š R4: Các giáo viên có học vị, hệ số lương mức lương Ràng buộc biểu diễn phụ thuộc hàm sau: Hocvi,Heso → Mucluong Khoa HTTT-Đại học CNTT 32 16 Bảng tầm ảnh hưởng tổng hợp (1) Š Bảng tầm ảnh hưởng tổng hợp m ràng buộc n quan hệ bối cảnh QH1 QH2 T X S T X S … QHn … T X S R1 R2 … Rm Khoa HTTT-Đại học CNTT 33 Bảng tầm ảnh hưởng tổng hợp (2) R1 HOCVIEN GIAOVIEN T X S T + - + X S LOP T X MONHOC S T X S R2 R3 + - KETQUA THI T X S T X S + - + + - -* + - + - - + + - + + - + -* R4 + - + - - + R5 - R6 R7 - - + R8 + + + R9 GIANGDAY + - - + - + -* + - - Khoa HTTT-Đại học CNTT + 34 17 ... + - + X S LOP T X MONHOC S T X S R2 R3 + - KETQUA THI T X S T X S + - + + - -* + - + - - + + - + + - + -* R4 + - + - - + R5 - R6 R7 - - + R8 + + + R9 GIANGDAY + - - + - + -* + - - Khoa HTTT -Đại. .. Khoa HTTT -Đại học CNTT 21 3.2.2 Ràng buộc liên thuộc tính (3) „ Bảng tầm ảnh hưởng: R7 Thêm Xóa Sửa HOCVIEN - - +(Malop) GIANGDAY - - +(Denngay) KETQUATHI + - +(Ngthi) Khoa HTTT -Đại học CNTT 22... Xóa Sửa GIANGDAY + - +(Tungay) GIAOVIEN - - +(Ngvl) Khoa HTTT -Đại học CNTT 20 10 3.2.2 Ràng buộc liên thuộc tính (2) Š R7: Ngày thi môn học phải lớn ngày kết thúc học mơn học „ Nội dung: ∀kq

Ngày đăng: 11/05/2021, 03:30

TỪ KHÓA LIÊN QUAN