Bài 6. Ràng buộc toàn vẹn và dữ liệu tham chiếu
Khi nhiều bảng nối với nhau qua khoá ngoài, một thao tác cập nhật bất cẩn có thể để lại dữ liệu mồ côi. Bài này bạn học cách để phần mềm tự canh giữ tính hợp lệ của dữ liệu qua các ràng buộc toàn vẹn.
- Kết nối tri thứcTin học 11 (Tin học ứng dụng) - Bài 22. Thực hành cập nhật bảng dữ liệu có tham chiếutr. 105
Bắt đầu bằng một hình dung
Lớp 11A5 lập một sổ điểm danh câu lạc bộ bằng máy tính. Bạn Minh nhập danh sách thành viên vào một bảng, mỗi thành viên có một mã riêng. Bảng thứ hai ghi từng buổi sinh hoạt: buổi nào, thành viên nào có mặt, chỉ chép lại mã thành viên cho gọn.
Một hôm, Minh thấy bạn Hùng đã nghỉ hẳn câu lạc bộ nên xoá luôn Hùng khỏi bảng thành viên. Vài tuần sau, khi tổng kết chuyên cần, cả nhóm hoảng hồn: bảng điểm danh vẫn còn hàng chục dòng ghi mã của Hùng, nhưng tra sang bảng thành viên thì chẳng còn ai mang mã đó. Những dòng ấy trỏ tới một người không còn tồn tại.
Có bạn lại lỡ tay nhập hai thành viên trùng y hệt một mã. Đến lúc cộng điểm chuyên cần, máy không biết dòng điểm danh thuộc về ai trong hai người. Cả sổ điểm danh vừa lập đã rối tung chỉ vì vài thao tác tưởng như vô hại.
Nội dung bài học
- 1) Ràng buộc toàn vẹn là gì
- 2) Toàn vẹn tham chiếu
- 3) Khi xoá hoặc sửa bản ghi đang được tham chiếu
- 4) Vì sao ràng buộc giúp tránh dữ liệu rác
Tóm tắt lý thuyết cần nhớ
- Ràng buộc toàn vẹn là quy tắc khai báo trong bảng để hệ QTCSDL tự kiểm tra mỗi khi thêm, sửa, xoá dữ liệu.
- Toàn vẹn tham chiếu: mọi khoá ngoài ở bảng con phải trỏ tới một khoá chính có thật ở bảng cha, không được có bản ghi mồ côi.
- Xoá hoặc sửa bản ghi cha đang được tham chiếu phải theo một cách xử lí: hạn chế, xoá lan truyền hoặc đặt khoá ngoài về rỗng.
- Ràng buộc chặn sai sót ngay lúc nhập, giúp CSDL không tích tụ dữ liệu rác và báo cáo luôn đáng tin.
Thuật ngữ tiếng Anh trong bài
| Tiếng Anh | Đọc là | Nghĩa |
|---|---|---|
| DBMS | đi-bi-em-ét | hệ quản trị cơ sở dữ liệu Phần mềm giúp tạo, lưu và quản lí cơ sở dữ liệu - giống người thủ thư trông coi cả thư viện. |
| primary key | PRAI-mơ-ri ki | khoá chính Cột dùng để phân biệt mỗi hàng, không ai trùng ai - như số báo danh riêng của mỗi học sinh. |
| foreign key | PHO-rìn ki | khoá ngoài Cột dùng để nối bảng này với bảng kia - như số lớp trong bảng học sinh chỉ sang bảng danh sách lớp. |
| constraint | cơn-STRÂY-nt | ràng buộc Là điều kiện gài sẵn ở từng cột để hệ quản trị tự động từ chối dữ liệu sai ngay khi nhập. |
| referential integrity | re-phơ-REN-sồ in-TE-gri-ti | toàn vẹn tham chiếu Là yêu cầu mọi khoá ngoài ở bảng con phải trỏ tới một khoá chính có thật ở bảng cha. |
| cascade | kes-KÂY-đơ | lan truyền (xoá/sửa dây chuyền) Chọn kiểu xử lí cascade nghĩa là khi xoá hoặc sửa bản ghi cha thì mọi bản ghi con đang trỏ tới nó cũng bị xoá hoặc sửa theo. |
Câu hỏi trắc nghiệm có đáp án
Mấy câu mẫu để bạn tự kiểm tra ngay. Trong ứng dụng, bài này có đủ 23 câu, chấm điểm tự động và giải thích từng câu sai.
- Đặt ra quy tắc để phần mềm tự kiểm tra, giữ dữ liệu luôn hợp lệ khi thêm, sửa, xoá
- Làm cho bảng hiển thị đẹp và dễ đọc hơn nhờ tự căn chỉnh cột, kẻ khung và tô màu xen kẽ
- Tăng tốc độ mở tệp CSDL bằng cách nén bớt những bản ghi ít dùng để giảm dung lượng
- Tự động dịch dữ liệu trong bảng sang ngôn ngữ khác cho người dùng ở nhiều quốc gia
- Phải là một số lớn hơn 0
- Phải khác với mọi khoá ngoài khác trong cùng bảng
- Phải khớp với một khoá chính đang tồn tại ở bảng cha
- Phải được nhập cuối cùng sau tất cả các trường khác
- Thêm một dòng điểm danh với mã thành viên đã có trong bảng THANHVIEN
- Thêm một dòng điểm danh với mã thành viên chưa hề có trong bảng THANHVIEN
- Thêm một thành viên mới hoàn toàn vào bảng THANHVIEN
- Sửa lại buổi sinh hoạt của một dòng điểm danh đã hợp lệ
- a)Ràng buộc toàn vẹn được hệ QTCSDL tự kiểm tra mỗi khi có thao tác thêm, sửa hoặc xoá dữ liệu.Đúng
- b)Đã bật ràng buộc thì người dùng vẫn phải tự dò lại từng dòng để bảo đảm dữ liệu hợp lệ.Sai
- c)Ràng buộc khoá chính không cho phép hai bản ghi mang cùng một giá trị khoá chính.Đúng
- d)Ràng buộc miền giá trị cho phép nhập điểm là 15 vào trường điểm giới hạn từ 0 đến 10.Sai
- (a) Đúng - đó chính là vai trò của ràng buộc, kiểm tra tự động khi cập nhật.
- (b) Sai - phần mềm đã canh giữ nên không cần dò tay từng dòng.
- (c) Đúng - khoá chính phải duy nhất.
- (d) Sai - ràng buộc miền giá trị sẽ từ chối giá trị 15 vì vượt khoảng 0 đến 10.
Thử ngay: minh hoạ từng bước
Bấm từng bước để tự xem cơ chế hoạt động, hoặc bấm “Tự chạy” cho nó tiến mỗi giây một lần. Đổi được dữ liệu đầu vào - không cần đăng nhập.
Học trọn bài này trong ứng dụng
Bài giảng đầy đủ, 23 câu luyện tập chấm tự động, thi thử đúng cấu trúc đề tốt nghiệp (24 trắc nghiệm + 4 Đúng/Sai), bài thực hành máy tự chấm và gia sư AI giải thích chỗ sai.
Phần học miễn phí, không cần tạo tài khoản.
Bài liên quan - Tổ chức, lưu trữ & tìm kiếm thông tin
Cùng mạch kiến thức với bài này, học nối tiếp cho chắc phần lí thuyết.