Bài tập và thực hành 11 - Bảo mật cơ sở dữ liệu - Giải BT Tin học 12
1. Mục đích, yêu cầu
- Qua bài toán quản lý một cơ sở kinh doanh, học sinh cần đạt được các yêu cầu sau:
- Hiểu thêm khái niệm và tầm quan trọng của bảo mật cơ sở dữ liệu.
- Biết một số cách thong dụng bảo mật cơ sở dữ liệu.
- Có thái độ đúng đắn trong việc sử dụng và bảo mật cơ sở dữ liệu.
2. Nội dung
Câu 1: (sgk trang 105 Tin 12): Một cửa hàng bán buôn hàng điện tử thường xuyên nhận hàng từ một số công ty và bán lại cho khách hàng. Hàng nhập và xuất trực tiếp từ kho của cửa hàng (để bài toán đơn giản, hạn chế chỉ có một thủ kho kiêm người giao hàng). Cửa hàng này đã xây dựng một cơ sở dữ liệu BAN_HANG (bán hàng) gồm các bảng sau:
- Bảng MAT_HANG (mặt hàng – quản lí các mặt hàng).
- Bảng KHACH_HANG (khách hàng-quản lí khách hàng).
- Bảng CONG_TI (công ti-quản lí các công ti cung cấp hàng).
- Bảng PHIEU_NHAP (phiếu nhập – quản lí phiếu nhập hàng).
- Bảng PHIEU_XUAT (phiếu xuất – quản lí phiếu xuất hàng).
Các đối tượng sử dụng chương trình quản lí CSDL BAN_HANG là:
- Khách hàng.
- Thủ kho (kiêm người giao hàng).
- Kế toán.
- Người quản lí cửa hàng.
Theo em, mỗi đối tượng trên sẽ yêu cầu chương trình có những chức năng gì?
Giải đáp:
- Khách hàng được biết tên, số lượng các mặt hàng còn trong cửa hàng, một số thông tin cần thiết về mặt hàng.
- Thủ kho kiêm người giao hàng biết được tình hình hàng nhập xuất và tồn kho.
- Kế toán biết được tình hình thu, chi.
- Người quản lí cửa hàng biết về tình hình xuất/nhập từng loại mặt hàng, tình hình lãi/lỗ của từng mặt hàng.
Câu 2: (sgk trang 106 Tin 12):
Giả sử chương trình có các chức năng:
- Khách hàng được biết tên, số lượng các mặt hàng còn trong cửa hàng, một số thông tin cần thiết về mặt hàng.
- Các công ti cần biết tình hình đã cung cấp hàng cho cửa hàng này.
- Thủ kho kiêm người giao hàng biết được tình hình hàng nhập xuất và tồn kho.
- Kế toán biết được tình hình thu, chi.
- Người quản lí cửa hàng biết được mọi thông tin, trong đó đặc biệt quan tâm về tình hình xuất/nhập từng loại mặt hàng, tình hình lãi/lỗ của từng mặt hàng.
- Bảo mật cơ sở dữ liệu.
Nếu chức năng bảo mật cơ sở dữ liệu được thực hiện bằng bảng phân quyền, thì từng đối tượng nêu trên có thể được trao quyền như thế nào?
Trong bảng phân quyền kí hiệu: đọc (Đ), sửa (S), bổ sung (B), xóa (X), không được truy cập (K). Trong một số bảng dữ liệu, đối tượng không được quyền Đ, S, B, X đối với một số cột thì ghi K kèm theo chỉ số cột. Ví dụ, quyền của đối tượng khách hàng đối với bảng HANG nếu ghi Đ (K6) thì được hiểu khách hàng có quyền đọc các cột của bảng dữ liệu HANG trừ cột 6 (là cột giá mua mặt hàng từ công ti cung cấp hàng cho cửa hàng, khách hàng không được biết giá mua mà chỉ được biết giá bán mặt hàng này).
Dưới đây là một bảng thể hiện phân quyền, theo em có những điểm nào chưa phù hợp, vì sao?
Giải đáp:
- Khách hàng: Sửa thông tin của mình, còn lại chỉ có quyền đọc.
- Công ty được quyền sửa giá bán mặt hàng, thêm mặt hàng cho công ty mình. Còn lại không được truy cập.
- Thủ kho: Được quyền đọc.
- Kế toán: Được quyển đọc, sửa, bổ xung xóa phiếu nhập và xuất. Còn các cái khác chỉ đọc.
- Quản lí: Được toàn quyển đọc, sửa, bổ sung, xóa tất cả các bảng.
Câu 3: (sgk trang 107 Tin 12):
Khi xây dựng cơ sở dữ liệu BANHANG như trên, người ta thường tạo biểu mẫu được mở ngay khi mở cơ sở dữ liệu, với các nút lệnh yêu cầu người dùng khai báo định danh (tên, mật khẩu) và xác định quyền truy cập. Sau khi khai báo, biểu mẫu tiếp theo được mở sẽ hiển thị một danh sách các chức năng tương ứng với bộ "định danh và quyền truy cập" được phép sử dụng. Người dùng có thể tiếp tục chọn trong các chức năng này làm xuất hiện các cửa sổ thích hợp cho truy cập phần dữ liệu với các mức phân quyền mà người lập trình đã dành cho.
Hãy cho biết, tại sao người ta làm như vậy.
Giải đáp:
- Làm như vậy để từng đối tượng chỉ có thể thực hiện được những chức năng tương ứng với quyền của mình. Tránh sự truy cập trái phép của người dùng làm tăng sự an toàn và bảo mật thông tin.
- Ví dụ như: Người dùng chỉ có quyền xem thông tin về tài khoản của mình. Không được quyền thay đổi và xem thông tin về những khách hàng khác.
Bài trước: Bài 13: Bảo mật thông tin trong các hệ cơ sở dữ liệu - Giải BT Tin học 12