-
Chương 1: CÁC KHÁI NIỆM CƠ BẢN
Các khái niệm cơ bản
-
Chương 2: MÔ HÌNH THỰC THỂ LIÊN KẾT
Mô hình thực thể liên kết
-
Chương 3: MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ
Mô hình cơ sở dữ liệu quan hệ
-
Chương 4: ĐẠI SỐ QUAN HỆ
Các phép toán trên dữ liệu
-
Chương 5: RÀNG BUỘC TOÀN VẸN
-
Chương 6: PHỤ THUỘC HÀM
-
Chương 7: CHUẨN HÓA CƠ SỞ DỮ LIỆU
4.1. Các phép toán cập nhật
4.1.1. Phép chèn (Insert):
- Cho phép bổ sung một bộ vào quan hệ R.
- Biểu diễn: INSERT(r; A1 = d1, A2 = d2,…, An = dn) trong đó:
- r là quan hệ cần chèn
- Ai là thuộc tính
- di là một giá trị cụ thể, di thuộc dom(Ai), với i = 1,.., n.
Nếu thứ tự các trường là cố định, có thể biểu diễn phép chèn dưới dạng không tường minh INSERT(r; d1,d2,…, dn).
Ví dụ 4.1: Chèn thêm một bộ t4=(‘004’, ‘Hoàng’,1969, ‘Hà nội’,235) vào quan hệ EMPLOYEE(SSN, Name, BDate, Address, Salary) ta có thể viết tường minh như sau:
INSERT(EMPLOYEE; SSN=‘004’, Name=‘Hoàng’, BDate=1969, Address= ‘Hà nội’, Salary=235).
Hoặc viết thu gọn như sau:
INSERT(EMPLOYEE; ‘004’, ‘Hoàng’, 1969, ‘Hà nội’, 235).
Lưu ý khi viết thu gọn thì trật tự dữ liệu đưa vào phải tương ứng với các trường trong bảng.
Chú ý: Kết quả của phép chèn có thể gây ra một số sai sót là:
– Bộ mới được thêm không phù hợp với lược đồ quan hệ cho trước
– Một số giá trị của một số thuộc tính nằm ngoài miền giá trị của thuộc tính đó.
– Giá trị khoá của bộ mới có thể là giá trị đã có trong quan hệ đang lưu trữ.
4.1.2. Phép xóa (Delete)
- Là phép xoá một bộ ra khỏi một quan hệ cho trước.
- Biểu diễn: DEL(r; A1 = d1, A2 = d2,…, An = dn) hay DEL(r, d1, d2,…, dn) trong đó:
- r là quan hệ cần xóa
- Ai là thuộc tính
- di là một giá trị cụ thể, di thuộc dom(Ai), với i = 1,.., n.
Nếu K=(E1, E2,…, Em) là khoá thì có thể viết:
DEL(r; E1 = e1, E2 = e2,…, Em = em) trong đó:
- r là quan hệ cần xóa
- Ei là thuộc tính khóa
- ei là một giá trị cụ thể, ei thuộc dom(Ei), với i = 1,.., n.
Ví dụ 4.2: Để xoá bộ t1 ra khỏi quan hệ r, ta có thể viết tường minh:
DEL(EMPLOYEE; SSN=‘004’, Name=‘Hoàng’, BDate=1969, Address=‘Hànội’, Salary=235).
Cần loại bỏ một nhân viên trong quan hệ EMPLOYEE mà biết giá trị khóa SSN là ‘004’ thì chỉ cần viết: DEL(EMPLOYEE; SSN= ‘004’)
Chú ý: Phép xóa có thể vi phạm ràng buộc dữ liệu
– Bộ dữ liệu cần xóa có ràng buộc dữ liệu với các bộ ở bảng khác.
4.1.3. Phép cập nhật (UPDATE):
- Là phép dùng để sửa đổi một số giá trị nào đó tại một số thuộc tính.
- Biểu diễn:
- UPD (r; A1 = d1, A2 = d2, …, An=dn; B1 = b1, B2 = b2,…, Bk = bk)
trong đó:
- r là quan hệ cần cập nhật
- Ai là thuộc tính
- di là một giá trị cụ thể, di thuộc dom(Ai), với i = 1,.., n.
- {B1, B2,…, Bk} là tập các thuộc tính mà tại đó các giá trị của bộ cần thay đổi. {B1, B2,…, Bk} ứng với tập thuộc tính {A1, A2,…, An}
Hay UPD(r; E1 = e1, E2 = e2,…, Em = e; B1 = b1, B2 = b2,…, Bk = bk) với K=(E1, E2,…, Em) là khoá.
Ví dụ 4.3: Để thay đổi tên nhân viên có SSN= ‘003’ trong quan hệ EMPLOYEE thành Nguyễn Thanh Mai ta có thể viết:
UPD (EMPLOYEE; SSN= ‘003’; Name= ‘Nguyễn Thanh Mai’)
Chú ý: Phép sửa đổi có thể vi phạm ràng buộc khi:
- Sửa thuộc tính khóa chính, khóa ngoại
- Sửa thuộc tính thông thường: miền giá trị, kiểu dữ liệu,..