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,..

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *