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

Chương 7: Ràng buộc toàn vẹn pptx

72 823 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 1,33 MB

Nội dung

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 3Khái niệm  RBTV Integrety Constraints xuất phát từ những qui định hay điều kiện - Trong thực tế - Trong mô hình dữ liệu • Các thao tác làm th

Trang 1

Chương 7 Ràng buộc toàn vẹn

Trang 2

Nội dung chi tiết

Khái niệm

 Các đặc trưng của RBTV

 Phân loại

 Cài đăăt

Trang 3

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 3

Khái niệm

 RBTV (Integrety Constraints) xuất phát từ những qui định hay điều kiện

- Trong thực tế

- Trong mô hình dữ liệu

• Các thao tác làm thay đổi dữ liệu không nên được thực hiện

một cách tùy tiện vì có thể đưa CSDL đến một tình trạng ‘xấu’

 RBTV là một điều kiện được định nghĩa trên một hay nhiều quan hệ khác nhau

 Các RBTV là những điều kiện bất biến mà mọi thể hiện của quan

hệ đều phải thỏa ở bất kỳ thời điểm nào

Trang 4

Khái niệm (tt)

 Tại sao cần phải có RBTV?

- Bảo đảm tính kết dính của các thành phần cấu tạo nên

CSDL

- Bảo đảm tính nhất quán của dữ liệu

- Bảo đảm CSDL luôn biểu diễn đúng ngữ nghĩa thực tế

 Ví dụ

- Mức lương của một người nhân viên không được vượt quá trưởng phòng (R1)

- Người quản lý trực tiếp (của một nhân viên) phải là một

nhân viên trong công ty (R2)

Trang 5

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 5

Nội dung chi tiết

Trang 6

∗ Cập nhật lương cho nhân viên

∗ Thêm mới một nhân viên vào một phòng ban

∗ Bổ nhiệm trưởng phòng cho một phòng ban

• Bối cảnh: NHANVIEN, PHONGBAN

Trang 7

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 7

∗ Cập nhật người quản lý trực tiếp của một nhân viên

∗ Thêm mới một nhân viên

• Bối cảnh: NHANVIEN

Trang 8

• Cô đọng, chặt chẽ nhưng đôi lúc khó hiểu

• Biểu diễn thông qua

∗ Đại số quan hệ

∗ Phép tính quan hệ

∗ Mã giả (pseudo code)

Trang 9

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 9

Trang 10

MANV HOTEN PHG LUONG

Trang 11

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 12

∀t ∈ NHANVIEN ( t.MA_NQL = null

∃s ∈ NHANVIEN (s.MANV = t.MA_NQL))

∀t ∈ NHANVIEN ( t.MA_NQL != null 

∃s ∈ NHANVIEN (s.MANV = t.MA_NQL))

Trang 12

MANV HOTEN PHG LUONG MA_NQL

Trang 13

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 14

Bảng tầm ảnh hưởng

 Bảng tầm ảnh hưởng

- Xác định thao tác cập nhật nào cần phải kiểm tra RBTV

khi được thực hiện trên quan hệ bối cảnh

 Có 2 loại

- Bảng tầm ảnh hưởng tổng hợp

Trang 14

Bảng tầm ảnh hưởng một RBTV

Tên_RB

Quan hệ n

Quan hệ 1 Quan hệ 2

Trang 15

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 16

Thêm Xóa Sửa

Trang 17

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 18

Thêm Xóa Sửa

+ + + (MA_NQL, MANV) NHANVIEN

Trang 18

Bảng tầm ảnh hưởng

 Cho lược đồ:

NHANVIEN (MANV, HOTEN, PHAI, TUOIVEHUU)

 RBTV: Tuổi về hưu của nhân viên Nam là 60, của nhân viên nữ là 55

Trang 19

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 20

+ -

-+ - +

+ -

-+ - +

Trang 20

Nội dung chi tiết

• Liên bộ liên quan hệ

• Liên thuộc tính liên quan hệ

• Thuộc tính tổng hợp

• Chu trình

 Cài đặt

Trang 21

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 22

C 1 5 12

D 1 7 3 9

α β β β

β ∈ { 9 α ∈, {1 10}β, γ }

Trang 23

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 24

hay

Trang 24

Ví dụ 4b

Giới tính của nhân viên nếu có thì phải là ‘Nam’ hoặc ‘Nu’

Trang 25

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 26

C 1 5 12

D 1 7 3 9

α β β β

Trang 27

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 28

Trang 28

Ví dụ 7

 THIDAU(NGAY, GIO, DOI, SOBAN)

 Mỗi trận đấu là cuộc thi đấu của đúng 2 đội

Thêm Xóa Sửa

+ + + (NGAY, GIO, DOI)

Trang 29

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 30

C 1 5 12

D 1 7 3 9

α β β β

Trang 31

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 32

Ví dụ 9

 KHOAHOC(MAKH, TENKH, BDAU, KTHUC)

 Mỗi khóa học kéo dài ít nhất 3 tháng

Trang 32

C 1 5 12

D 1 7 3 9

α β β β

E F 7

S

3

1 2

Bắt buộc phải tồn tại trước

Trang 33

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 34

R 10

NHANVIEN

Thêm Xóa Sửa

− +

+ (MANV) THANNHAN

+

Trang 34

RBTV - Tham chiếu (tt)

 Còn gọi là phụ thuộc tồn tại

 Thường có bối cảnh là hai quan hệ

- Nhưng có trường hợp suy biến thành một quan hệ

∀t ∈ NHANVIEN ( t.MA_NQL ≠ null ∧

∃s ∈ NHANVIEN (t.MA_NQL = s.MANV ))

R 2

NHANVIEN

Thêm Xóa Sửa

+ + + (MANV, MA_NQL)

Trang 35

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 36

RBTV - Liên bộ, liên quan hệ

 Là ràng buộc xãy ra giữa các bộ trên nhiều quan hệ khác nhau

A B

α

R

α β

C 1 5 12

D 1 7 3 9

α β β β

β γ

2 2

C 7 7 3 10

Trang 36

Ví dụ 11

 Cho lược đồ CSDL:

 Mỗi hóa đơn phải có ít nhất một chi tiết hóa đơn

Trang 37

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 38

RBTV - Liên thuộc tính, liên quan hệ

 Là ràng buộc xãy ra giữa các thuộc tính trên nhiều quan hệ khác nhau

A B

α

R

α β

C 1 5 12

D 1 7 3 9

α β β β

β γ

2 2

C 7 7 3 10

Trang 38

Ví dụ 12

 Ngày sinh của trưởng phòng phải nhỏ hơn ngày nhận chức:

Trang 39

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 40

MANV HOTEN PHG LUONG NGSINH

Trang 41

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 42

+

− + (SO_NV, MAPHG)

Trang 43

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 44

MANV, MADA

MA_NVIEN, SODA

Trang 44

− + (MADA,PHONG)

Trang 45

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 46

Trang 46

Ví dụ 15

 Người quản lý của nhân viên và nhân viên phải cùng phòng

MANV HOTEN PHG LUONG MA_NQL

Trang 47

Ví dụ 16

DDH (MADH, NGAYDH, MAHD)

CT_DDH (MADH, MAMH, SOLUONG)

HOADON (MAHD, NGAYGH, TONGTIEN, MADH)

CT_HOADON (MACT, MAHD, MAMH, SOLUONG, DONGIA)

Ràng buộc toàn vẹn: Chỉ giao hàng các mặt hàng có đặt

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 48

Trang 48

Nội dung chi tiết

Trang 49

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 50

Trang 50

 Là một biểu thức SQL luôn mang giá trị TRUE tại mọi thời điểm

- Người sử dụng cần cho biết cái gì phải đúng

 Cú pháp

CREATE ASSERTION <Tên_assertion> CHECK (<Điều_kiện>)

DROP ASSERTION <Tên_assertion>

Trang 51

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 52

Ví dụ 12

 Ngày sinh của trưởng phòng phải nhỏ hơn ngày nhận chức

Trang 52

Ví dụ 15

 Lương của trưởng phòng phải lớn hơn 50000

Trang 53

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 54

Ví dụ 15 (tt)

TENPB VARCHAR (20) UNIQUE , MAPHG INT NOT NULL ,

TRPHG CHAR (9), NG_NHANCHUC DATETIME,

TRPHG NOT IN ( SELECT MANV FROM NHANVIEN

)

 Lương của trưởng phòng phải lớn hơn 50000

Check Constraint

Trang 54

Ví dụ 16

 Số lượng nhân viên của mỗi phòng ban không quá 20 người

20 >= ALL ( SELECT COUNT (MANV)

FROM NHANVIEN

)

Trang 55

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 56

Ví dụ 16 (tt)

 Số lượng nhân viên của mỗi phòng ban không quá 20 người

20 >= ALL ( SELECT COUNT (MANV) FROM NHANVIEN

Check Constraint

Trang 56

Assertion hay Check Constraint ?

Trang 57

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 58

Trigger

 Là tập hợp các lệnh được thực hiện tự động khi xuất hiện một biến

cố nào đó

row-level statement-level

trước sau

giá trị mới giá trị cũ

thêm xóa sửa

Trang 58

Trigger (tt)

 Cú pháp

CREATE TRIGGER <Tên_trigger>

AFTER|BEFORE INSERT|UPDATE|DELETE ON <Tên_bảng> REFERENCING

NEW ROW|TABLE AS <Tên_1>

OLD ROW|TABLE AS <Tên_2>

FOR EACH ROW | FOR EACH STATEMENT

WHEN (<Điều kiện>)

<Tập_lệnh_SQL>

DROP TRIGGER <Tên_trigger>

Trang 59

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 60

Ví dụ 15

 Lương của trưởng phòng phải lớn hơn 50000

REFERENCING

FOR EACH ROW

WHEN (50000 >= ( SELECT LUONG FROM NHANVIEN

Thông báo lỗi cho người dùng

Trang 60

Ví dụ 15 (tt)

 Lương của trưởng phòng phải lớn hơn 50000

REFERENCING

FOR EACH ROW

WHEN (50000 >= ( SELECT LUONG FROM NHANVIEN

SET TRPHG=OldTuple.TRPHG

Trang 61

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 62

Ví dụ 15 (tt)

 Lương của trưởng phòng phải lớn hơn 50000

REFERENCING

FOR EACH ROW

WHEN (NewTuple.LUONG <= 50000 AND NewTuple.MANV IN (

SET LUONG=OldTuple.LUONG

Trang 62

 Là tập các lệnh thực hiện một xử lý nào đó trong một ứng dụng CSDL, sao cho

- Hoặc là tất cả các lệnh đều được thực hiện thành công

- Hoặc là không có lệnh nào được thực hiện

 Ví dụ: xử lý chuyển tiền trong ngân hàng

Giảm tiền trong tài khoản người gửi Tăng tiền trong tài khoản người nhận

Nếu tất cả đều thành công thì hoàn tất giao tác

Ngược lại quay lui giao tác

Trang 63

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 64

∗ Trong khi thực hiện giao tác

∗ Trước và sau khi thực hiện giao tác

Trang 64

Ví dụ 7

Thêm t vào THIDAU Thêm s vào THIDAU

Nếu có một thao tác thất bại thì

Quay lui giao tác

Trang 65

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 66

Ví dụ 7 (tt)

Với mọi s ∈ THIDAU (s.NGAY = ngay ∧ s.GIO = gio)

Xóa s khỏi THIDAU

Cuối với mọi Nếu có một thao tác thất bại thì

Quay lui giao tác

Ngược lại

Hoàn tất giao tác

Cuối nếu

Cuối giao tác

Trang 66

Ví dụ 11

Thêm HOADON Thêm chi tiết thứ 1 vào CTHD Thêm chi tiết thứ 2 vào CTHD

Nếu có một thao tác thêm thất bại thì

Quay lui giao tác

Trang 67

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 68

Ví dụ 11 (tt)

Thêm HOADON Thêm chi tiết thứ 1 vào CTHD Thêm chi tiết thứ 2 vào CTHD

Nếu có một thao tác thêm thất bại thì

Quay lui giao tác

Ngược lại

Hoàn tất giao tác

Cuối nếu

Cuối giao tác

Trang 68

Stored Procedure

 Các DBMS thương mại cung cấp cách thức lưu trữ các hàm hay thủ tục

- Được lưu trữ trong lược đồ CSDL

- Được sử dụng trong các câu lệnh SQL

Trang 69

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 70

Ví dụ 7

 Mỗi trận đấu là cuộc thi đấu của đúng 2 đội

t THIDAU , s THIDAU

AS

begin tran

Thêm t vào THIDAU

Thêm s vào THIDAU

commit tran GO

EXEC Thêm_trận_đấu x, y

Trang 70

Nhận xét

 DBMS sẽ kiểm tra RBTV

- Sau khi một thao tác cập nhật diễn ra trên CSDL

- Cuối mỗi giao tác

 Nên cài đặt RBTV ở đâu ???

- Application

- Trigger quá nhiều → hệ thống chậm chạm

- Stored Procedure → hiệu quả cao

Trang 71

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 72

Trang 72

 2 Trưởng phòng phải sinh sau năm 1975

 3 Một phòng phải có tối thiểu 1 nhân viên nữ

 4 Trưởng phòng phải là người lớn tuổi nhất trong phòng ban đó

 5 Nếu một nhân viên đã là trưởng phòng thì nhân viên đó không làm người quản lý

 6 Nhân viên và nhân viên quản lý của nhân viên đó phải thuộc về 1 phòng

Ngày đăng: 24/07/2014, 02:21

HÌNH ẢNH LIÊN QUAN

Bảng tầm ảnh hưởng một RBTV - Chương 7: Ràng buộc toàn vẹn pptx
Bảng t ầm ảnh hưởng một RBTV (Trang 14)
Bảng tầm ảnh hưởng - Chương 7: Ràng buộc toàn vẹn pptx
Bảng t ầm ảnh hưởng (Trang 15)
Bảng tầm ảnh hưởng - Chương 7: Ràng buộc toàn vẹn pptx
Bảng t ầm ảnh hưởng (Trang 16)
Bảng tầm ảnh hưởng - Chương 7: Ràng buộc toàn vẹn pptx
Bảng t ầm ảnh hưởng (Trang 17)
Bảng tầm ảnh hưởng - Chương 7: Ràng buộc toàn vẹn pptx
Bảng t ầm ảnh hưởng (Trang 18)
Bảng tầm ảnh hưởng tổng hợp - Chương 7: Ràng buộc toàn vẹn pptx
Bảng t ầm ảnh hưởng tổng hợp (Trang 19)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w