Xây dựng cơ sở dữ liệu quản lý nhà hàng Tin học 12

Giải Bài Tập Tin Học 12  Bài tập và thực hành 11  Bảo mật cơ sở dữ liệu giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

  • Sách Giáo Viên Tin Học Lớp 12

1. Mục đích, yêu cầu

Qua bài toán quản lý một cơ sở kinh doanh, HS 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 CSDL.

Biết một số cách thong dụng bảo mật CSDL.

Có thái độ đúng đắn trong việc sử dụng và bảo mật CSDL.

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 CSDL 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).

Xây dựng cơ sở dữ liệu quản lý nhà hàng Tin học 12

Bảng KHACH_HANG (khách hàng-quản lí khách hàng).

Xây dựng cơ sở dữ liệu quản lý nhà hàng Tin học 12

Bảng CONG_TI (công ti-quản lí các công ti cung cấp hàng).

Xây dựng cơ sở dữ liệu quản lý nhà hàng Tin học 12

Bảng PHIEU_NHAP (phiếu nhập  quản lí phiếu nhập hàng).

Xây dựng cơ sở dữ liệu quản lý nhà hàng Tin học 12

Bảng PHIEU_XUAT (phiếu xuất  quản lí phiếu xuất hàng).

Xây dựng cơ sở dữ liệu quản lý nhà hàng Tin học 12

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ì?

Trả lời:

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

Nếu chức năng bảo mật CSDL đượ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?

Xây dựng cơ sở dữ liệu quản lý nhà hàng Tin học 12

Trả lời:

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 CSDL BANHANG như trên, người ta thường tạo biểu mẫu được mở ngay khi mở CSDL, 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, vì sao người ta làm như vậy.

Trả lời:

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.