Nhóm dự án CS5 đang phát triển hệ thống hoạch định kinh doanh cho công ty Livel. Nghiệp vụ hoạt động của công ty có thể mô tả khái quát như sau:
Hàng Livel làm đại lý chuyên bán mô tô xe đạp.Hãng có khách hàng thường xuyên là các cửa hàng bán lẻ. Hàng của hãng do nhiều nhà cung cấp khác nhau cung cấp. Hãng đang quản lí việc hạch toán kết quả kinh doanh như sau:
Sau khi hãng tìm hiểu thị trường, xác định danh mục hàng cần nhập gửi lên ban giám đốc để nhập lô hàng. Hàng nhập về được thủ kho kiểm tra, ghi phiếu nhập kho rồi chuyển cho kế toán quỹ. Bộ phận kế toán quỹ sẽ thanh toán tiền hàng với nhà cung cấp ( việc thanh toán có thể bằng tiền mặt hoặc séc chuyển khoản). Nếu hãng chưa thanh toán được tiền hàng thì kế toán quỹ nhận giấy ghi nợ từ nhà cung cấp.
Các chi phí như nhập hàng, trả lương, vận chuyển, tiền điện, tiền nước… được ghi nhận bằng các phiếu chi do kế toán quỹ lập. Kế toán quỹ chuyển toàn bộ hóa đơn chứng từ sang bộ phận kế toán chi tiết. Kế toán chi tiết kiểm tra thông tin nếu đúng thì tiến hành ghi chép, xử lí chứng từ rồi chuyển sang kế toán tổng hợp.
Mỗi lần khách hàng đến mua hàng hoặc trả lại hàng, người bán lập hóa đơn bán hàng cho khách hàng. Thủ kho ghi phiếu xuất kho rồi chuyển cho kế toán quỹ. Khi khách hàng thanh toán tiền cho bộ phận kế toán quỹ, bộ phận này ghi nhận phiếu thu / chi. Phiếu thu / chi được chuyển cho kế toán chi tiết kiểm tra, nếu đúng tiến hành ghi chép, xử lí dữ liệu chuyển cho kế toán tổng hợp.
Kế toán tổng hợp hạch toán doanh thu, hạch toán chi phí phát sinh trong kì. Lãi, lỗ được tính ra thông qua lãi trên số hàng bán ra trong tháng trừ các chi phí phát sinh trong tháng. Kế toán tổng hợp lập báo cáo kết quả kinh doanh trong kì đồng thời lập báo cáo công nợ với nhà cung cấp rồi chuyển tới giám đốc. Giám đốc kiểm tra rồi đề ra phương án kinh doanh cho kì tiếp theo.
Sau 5 tháng phân tích và thiết kế, nhóm dự án đã đưa ra bản thiết kế chức năng và thiết kế cơ sở dữ liệu cho hệ thống. Dưới đây là bản thiết kế cơ sở dữ liệu.
Thiết kế chi tiết các bảng
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
MaNCC CHAR 5 NCxxx Khóa chính
TenNhaCC Nvarchar2 100 NOT NULL
DiaChi Nvarchar2 200 DienThoai Varchar2 50
Bảng HÀNG
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
MaHang CHAR 5 Hxxxx Khóa chính
TenHang Nvarchar2 100 NOT NULL
SoLuong NUMBER 4
DonGia NUMBER 9
DVT Nvarchar2 10
Bảng THU KHO
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
MaThuKho CHAR 5 NVxxx Khóa chính
TenThuKho Nvarchar2 100 NOT NULL
DiaChi Nvarchar2 200 DienThoai Varchar2 50
Bảng KE TOAN QUY
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
MaKTQuy CHAR 5 NVxxx Khóa chính
DiaChi Nvarchar2 200 DienThoai Varchar2 50
Bảng NVBH
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
MaNVBH CHAR 5 NVxxx Khóa chính
TenNVBH Nvarchar2 100 NOT NULL
DiaChi Nvarchar2 200 DienThoai Varchar2 50
Bảng KHACH HANG
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
MaKH CHAR 5 KHxxx Khóa chính
TenThuKho Nvarchar2 100 NOT NULL
DiaChi Nvarchar2 200
Bảng KHO
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
MaKho CHAR 5 Kxxxx Khóa chính
TenKho Nvarchar2 100 NOT NULL
DiaChi Nvarchar2 200 Bảng CONG VIEC
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
MaCV CHAR 5 CVxxx Khóa chính
Bảng HOA DON MUA HANG
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
SoHD CHAR 5 HDxxx Khóa chính
MaNCC Nvarchar2 100 NCxxx NOT NULL
TongTien Number 10
DienGiai Varchar2 50
Bảng CHI TIET HOA DON MUA
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
SoHD CHAR 5 HDxxx Khóa chính
MaHang CHAR 5 Hxxxx NOT NULL
SoLuong Number 10
ThanhTien Number 10 >=0
Bảng PHIEU NHAP KHO
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
SoPhieuN CHAR 5 PNxxx Khóa chính
MaThuKho CHAR 5 NVxxx NOT NULL
MaKho CHAR 5 Kxxxx
LyDo Varchar2 50
NgayNhap Date
TongTien Number 10 >=0
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
SoPhieuN CHAR 5 PNxxx Khóa chính
MaHang CHAR 5 Hxxx NOT NULL
SoLuong Number 5
ThanhTien Number 10
Bảng HOA DON BAN
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
SoHDBH CHAR 5 HDxxx Khóa chính
NgayBang Date
MaKH Char 5
MaNVBH Char 5
TongTien Number 12
Bảng CHI TIET HOA DON BAN
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
SoHDBH CHAR 5 HDxxx Khóa chính
MaHang Char 5
SoLuong Number 5
ThanhTien Number 10
Bảng PHIEU THU
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
SoPhieuThu CHAR 5 PTxxx Khóa chính
MaKH Char 5
LyDoThu Varchar2 100 NgayThu Date
TongTien Number 10
Bảng PHIEU CHI
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
SoPhieuChi CHAR 5 PTxxx Khóa chính
MaNCC Char 5
MaKTQuy Char 5
LyDoChi Varchar2 100 NgayChi Date
TongTien Number 10
Giả sử nhóm anh chị được giao cho nhiệm vụ thực thi thiết kế CSDL này trên Oracle 11g. Anh chị hãy thực hiện những công việc cần thiết sau để hoàn thành công việc được giao.
1. Tạo CSDL với tên gọi và các tham số phù hợp.
2. Theo anh chị, với thiết kế các bảng như trên có cần phải tạo nhiều tablespace không? Hãy đưa ra lý do cho lựa chọn của anh chị.
3. Tạo tablespace cần thiết, các bảng và mối quan hệ tương ứng. 4. Hệ thống thường xuyên phải thực hiện các truy vấn sau:
- Tìm xem ai là người đã kí quyết định chi tiêu trong ngày hiện tại - Thống kê tổng tiền nhập kho trong ngày hiện tại
- Thống kê tổng tiền xuất kho trong ngày hiện tại
- Thống kê trong các kho của công ty còn bao nhiêu tiền hàng
Anh chị hãy thực hiện truy vấn trên bằng ngôn ngữ SQL và tìm cách tối ưu tốc độ thực hiện cho mỗi truy vấn.
5. Đây là hệ thống thống kê kinh doanh nên đối tượng sử dụng chỉ có nhân viên phòng kinh doanh đồng thời đóng vai trò là quản trị CSDL. Anh chị hãy thiết lập cơ chế bảo mật cho phù hợp.
6. Để đảm bảo hiệu năng hoạt động của hệ thống, một số quy tắc nghiệp vụ được trưởng dự án yêu cầu thực hiện ở tầng CSDL. Anh chị hãy chọn đối tượng phù hợp để thực thi những yêu cầu này.
- Thông kê: tổng tiền bán hàng, tổng tiền nhập hàng, tổng tiền thu, tổng tiền chi trong tháng xác định.
- Khi nhập kho, số lượng hàng tự động tăng: Số lượng = Số lượng trong kho + số lượng mới nhập
- Khi xuất kho, số lượng hàng trong kho tăng tự động: Số lượng = Số lượng trong kho – Số lượng mới xuất
- Kiểm tra xem với loại hàng xác định trong kho còn lại bao nhiêu
7. Giám đốc công ty yêu cầu backup dữ liệu vào cuối mỗi tháng (16h chiều). Tuy nhiên, do tính chất công việc, không phải ngày cuối cùng nào trong tháng nhân viên kinh doanh cũng có mặt ở văn phòng để backup dữ liệu. Anh chị hãy thiết lập và thực thi phương án backup dữ liệu phù hợp.
8. Giả sử hệ thống đã đi vào hoạt động ổn định. Đột nhiên một ngày, nhân viên kinh doanh không thể sử dụng EMC để kết nối tới CSDL. Anh chị thử phỏng đoán những nguyên và đề ra phương án giải quyết cho những nguyên đó.