Tải bản đầy đủ (.pdf) (20 trang)

Bài giảng Cơ sở dữ liệu - Chương 7: Tìm hiểu ràng buộc toàn vẹn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (556.98 KB, 20 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

Chương 7



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>Nội dung chi tiết</b>



<b>Khái</b>

<b>niệm</b>



Các

đặc trưng của RBTV


Phân

loại



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

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


<b>Khái niệm</b>



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



</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<b>Khái niệm (tt)</b>



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 qn của dữ liệu


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


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


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

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


<b>Nội dung chi tiết</b>



Khái

niệm



<b>Các</b>

<b>đặc trưng của RBTV</b>



- Bối cảnh


- Nội dung


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


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<b>Bối cảnh</b>




Bối cảnh của một RBTV



- Là những quan hệ có khả năng bị vi phạm RBTV khi


thực hiện các phép cập nhật


dụ

(R

1

)



- Mức lương của một người nhân viên khơng được vượt


q trưởng phịng


• Các phép cập nhật


 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


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

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


<b>Bối cảnh (tt)</b>



dụ

(R

2

)



- Người quản lý trực tiếp phải là một nhân viên trong cơng


ty



• Các phép cập nhật


 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


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

<b>Nội dung</b>



Nội dung của một RBTV được phát biểu bằng



- Ngôn ngữ tự nhiên


• Dễ hiểu nhưng thiếu tính chặt chẽ


- Ngơn ngữ hình thức


• 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ệ


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

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


<b>Nội dung (tt)</b>



dụ

(R

1

)




- Ngơn ngữ tự nhiên


• Mức lương của một người nhân viên khơng được vượt q
trưởng phịng


- Ngơn ngữ hình thức


• <sub></sub><sub>t </sub><sub></sub> <sub>NHANVIEN ( </sub>


u  PHONGBAN ( v  NHANVIEN (
u.TRPHG  v.MANV 


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

<b>MANV</b> <b>HOTEN</b> <b>PHG</b> <b>LUONG</b>


1 Tùng 1 45000


2 Tiến 3 50000


3 Trang 4 15000


4 Trung 3 60000


5 Thủy 1 20000


6 Tuấn 4 35000


7 Trường 4 45000


<b>MAPHG</b> <b>TENPHG</b> <b>TRPHG</b>



1 Điều Hành 1


3 Nghiên cứu 2


4 Kinh Doanh 7


NHANVIEN <sub>PHONGBAN</sub>


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

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


<b>Nội dung (tt)</b>



dụ

(R

2

)



- Ngơn ngữ tự nhiên


• Người quản lý trực tiếp phải là một nhân viên trong cơng ty


- Ngơn ngữ hình thức


t  NHANVIEN ( t.MA_NQL <b>=</b> null 


s  NHANVIEN (s.MANV = t.MA_NQL))


t  NHANVIEN ( t.MA_NQL !<b>=</b> null 


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

<b>MANV</b> <b>HOTEN</b> <b>PHG</b> <b>LUONG</b> <b>MA_NQL</b>


1 Tùng 1 45000 <i>null</i>



2 Tiến 3 50000 1


3 Trang 4 15000 <i>null</i>


4 Trung 3 60000 3


5 Thủy 1 20000 4


6 Tuấn 4 35000 <i>null</i>


7 Trường 4 45000 6


NHANVIEN


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

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


<b>Bảng tầm ảnh hưởng</b>



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 cho một RBTV


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

<b>Bảng tầm ảnh hưởng một RBTV</b>




<b>Tên_RB</b>


Quan hệ n
Quan hệ 1
Quan hệ 2




Thêm Xóa Sửa


   (Thuộc tính)




 




 


() Vi phạm RBTV


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

<b>Bảng tầm ảnh hưởng</b>



Phái

của nhân viên phải là Nam hoặc Nữ



- Bối cảnh: NHANVIEN


- Nội dung:



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


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


Thêm Xóa Sửa


<b>+</b> <b>-</b> +(PHAI)


NHANVIEN


t 

NHANVIEN ( t.PHAI = 'Nam' 

t.PHAI = 'Nu' 


t.PHAI = NULL )



t 

NHANVIEN ( t.PHAI != NULL

t.PHAI= 'Nam'


t.PHAI = 'Nu')



</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

<b>Bảng tầm ảnh hưởng</b>



Phòng

của nhân viên phải là một trong những


phòng

của phòng ban



- Bối cảnh:


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


Thêm Xóa Sửa


<b>+</b> <b>-</b> +(PHG)



NHANVIEN


<b>-</b> <b>+</b> + (MAPHG)


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

<b>Bảng tầm ảnh hưởng</b>



Người quản lý trực tiếp của nhân viên nếu có thì


phải là một nhân viên trong cơng ty



- Bối cảnh:


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


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


Thêm Xóa Sửa


<b>+</b> <b>+</b> + (MA_NQL, MANV)


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

<b>Bảng tầm ảnh hưởng</b>



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.



- Bối cảnh:



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


Thêm Xóa Sửa


<b>+</b> <b>-</b> + (PHAI,


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

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


<b>Bảng tầm ảnh hưởng tổng hợp</b>



Quan hệ 1
Quan hệ 2
Quan hệ 3
Quan hệ n




T X S T X S … … … T X S


Ràng buộc 1 Ràng buộc 2 Ràng buộc m


</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

<b>Nội dung chi tiết</b>



Khái

niệm



Các

đặc trưng của RBTV


<b>Phân</b>

<b>loại</b>



- Một quan hệ



• Miền giá trị


• Liên bộ


• Liên thuộc tính


- Nhiều quan hệ


• Tham chiếu


• 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


</div>

<!--links-->

×