btvn.vn

Cập nhật, bảo mật và sao lưu CSDL

Lưu trên thiết bị này
Cơ sở dữ liệu và SQL · Chọn bài khác

Sửa một hàng hay cả bảng?

Một câu UPDATE thiếu điều kiện có thể đổi nhiều bản ghi ngoài ý muốn. Khi thao tác CSDL, ta cần biết đối tượng được thay đổi và có cách khôi phục nếu xảy ra lỗi.

Cập nhật có phạm vi

INSERT thêm hàng; UPDATE ... SET sửa giá trị; DELETE FROM xóa hàng. WHERE giới hạn hàng trong UPDATE/DELETE; thiếu WHERE có thể tác động toàn bảng. Thực hành trên bản dữ liệu mẫu, kiểm tra tập hàng trước và dùng sao lưu/giao dịch khi phù hợp. Phân quyền theo nhiệm vụ: người xem không mặc nhiên cần quyền sửa/xóa. Sao lưu tạo bản dùng khôi phục; cần kiểm tra khả năng khôi phục, không chỉ tạo tệp. Hệ tập trung quản lí dữ liệu tại một nơi trung tâm; hệ phân tán phân bố dữ liệu qua nhiều vị trí liên kết. Phân tán không đồng nghĩa dữ liệu ai cũng truy cập được, cũng không thay thế sao lưu.

Sửa đúng một học sinh

```sql UPDATE HocSinh SET Lop = '12B' WHERE MaHS = 'H01'; ``` Điều kiện theo mã duy nhất giới hạn học sinh cần sửa. Nếu bỏ WHERE, câu lệnh đặt Lop thành 12B cho mọi hàng, không chỉ hàng đang nhìn trên màn hình.

Thử vận dụng

Người chỉ cần đọc báo cáo nên được cấp quyền nào trước hết?
Chọn một đáp án

Sao lưu và phân tán không giống nhau

Hai nơi cùng đồng bộ một dữ liệu bị xóa nhầm có thể cùng nhận thay đổi xóa. Bản sao lưu ở thời điểm trước sự cố, có kiểm tra khôi phục, mới giúp phục hồi phần cần thiết. Vì vậy có nhiều bản đồng bộ chưa tự bảo đảm phục hồi được mọi lỗi.

Ví dụ xem cách làm

DELETE FROM HocSinh WHERE MaHS = 'H02'; khác DELETE FROM HocSinh; thế nào?

Ví dụ xem cách làm

Sau khi tạo bản sao lưu, nêu một việc cần làm để biết bản sao có dùng được.

Những điều cần nhớ

Ràng buộc bảo vệ tính hợp lệ, phân quyền giới hạn người thao tác, sao lưu hỗ trợ phục hồi. Cần phối hợp các biện pháp thay vì coi một biện pháp giải quyết mọi lỗi.

Đang học