Công ty TNHH Minh Trí chuyên cung cấp các loại máy ảnh số, Digital SLR,... và phụ kiện của các hãng như Canon, Nikon, Sony,.... Thời gian đầu công ty sử dụng phần mềm Excel để quản lý giấy tờ, sổ sách, ...
Công ty cũng chú trọng đến việc chăm sóc khách hàng và các chương trình khuyến mại, bảo hành. Công ty có các đường dây điện thoại nóng và email để hỗ trợ giải đáp các thắc mắc của khách hàng về mua hàng, các chương trình khuyến mại vào một ngày lễ như xả hàng tồn kho, hàng trưng bày,... khuyến mãi cho các khách hàng có điểm tích lũy cao.
Điểm tích lũy của khách hàng được tính thông qua thẻ của khách hàng đó. Quy trình làm thẻ như sau: Khách hàng (yêu cầu trên 18 tuổi) muốn làm thẻ phải cung cấp đầy đủ chính xác thông tin theo mẫu của cửa hàng. Mỗi lần mua hàng với giá trị thanh toán từ 100000đ trở lên khách hàng được tích lũy 1 điểm. Có 3 loại thẻ: thẻ khách hàng thân thiết (áp dụng cho tất cả khách hàng làm thẻ) khi đạt từ 100 đến 300 điểm khách hàng sẽ được giảm giá 1% khi mua hàng tại cửa hàng và thẻ sẽ được nâng cấp theo số điểm tích lũy hàng năm. Thẻ khách hàng Vàng sẽ được giảm giá 2% khi mua hàng với điểm tích lũy từ 300 đến 500. Thẻ Vip được hỗ trợ 3% khi mua hàng với điểm tích lũy từ 500 điểm trở lên.
Sau 2 năm đi vào hoạt động công ty ngày càng phát triển và lượng thông tin cũng ngày càng nhiều. Ban quản trị nhận thấy rằng việc quản lý thông tin bằng Excel chưa đáp ứng được nhu cầu đặt ra và họ đã thuê đội dự án HM của công ty ABC Shop để xây dựng hệ thống quản lý bán hàng.
Sau quá trình phân tích yêu cầu, nhóm đã tiến hành thiết kế chức năng và cơ sở dữ liệu. Kết quả của giai đoạn thiết kế cơ sở dữ liệu bao gồm thiết kết logic và thiết kế vật lý như sau:
Thiết kế chi tiết cho từng bảng như sau: 1. Bảng NhaCungCap
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
MaNCC Char 20 NCCxxx Khóa
chính
TenNCC Nvarchar2 50 Not Null
Diachi Nvarchar2 50
Dienthoai Nvarchar2 50 xxxx-xxx-xxx. Ví dụ 0902-345-678
2. Bang Khachhang
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
Makhach Char 10 KHxxx Khóa
chính
Tenkhach Nvarchar2 50 Not Null
Diachi Nvarchar2 50
Dienthoai Nvarchar2 20 xxxx-xxx-xxx. Ví dụ 0902-345-678
Mathe Char 10
3. Bang TheTichLuy (thẻ tích lũy)
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
Mathe Char 10 Khóa chính
Loaithe Nvarchar2 30 Thẻ Thân
thiện, thẻ Vàng, thẻ Vip Giamgiathe Nvarchar2 30 1%, 2%, 3% 4. Bảng Nhanvien
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
Manhanvien Char 10 NVxxxx Khóa
chính
Tennhanvien Nvarchar2 30 Not Null
Dienthoai Nvarchar2 20 xxxx-xxx-xxx. Ví dụ 0902-345-678
Diachi Nvarchar2 50
một trong 2 giá trị Nam hoặc Nữ Chuyenmon Nvarchar2 15 Bán hàng, Kế Toán, Quản lý Ngaysinh Date
Luongthang Number 10 Not Null
Que
5. Bảng HoaDonBan (Hóa đơn bán)
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
MaHDB Char 20 HDxxxx Khóa chính
Manhanvien Char 10 Not Null
Ngayban Date Not Null
Makhach Char 10 Not Null
6. Bảng ChiTietHoaDon
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng
buộc
MaHDB Char 20 HDxxxx Khóa
chính
Mahang Char 10 Not Null
Soluong Number 10 Not Null
Giamgia Number 10
Phuongthucvanchuyen Nvarchar2 30
7. Bang DonDatHang
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
MaDDH Char 10 DDHxxxx Khóa
chính
Manhanvien Char 10 Not Null
Makhach Char 10 Not Null
Ngaydat Date Not Null
Ngayhengiao Date Not Null
MaDDH Char 10 DDHxxxx Khóa chính
Manhanvien Char 10 Not Null
Makhach Char 10 Not Null
Ngaydat Date Not Null
Ngayhengiao Date Not Null
9. Bảng PhieuBaoHanh
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
MaphieuBH Char 10 BHxxxx Khóa
chính
Manhanvien Char 10 Not Null
NgaygioBH Date Tinhtrang Date
Cachgiaiquyet Nvarchar2 40 Serialmoi Nvarchar2 20
MaHDB Char 20 Not Null
10. Bảng HoaDonNhap
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
MaHDN Char 10 HDNxxxx Khóa
chính
Manhanvien Char 10 Not Null
Ngaynhap Date
MaNCC Char 20
11. Bảng ChitietHDN
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
MaHDN Char 10 HDNxxxx Khóa
chính
Mahang Char 10 Not Null
Soluong Number 10
12. Bảng Hang
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
Mahang Char 10 HGxxxx Khóa
chính
Tenhang Nvarchar2 20 Not Null
NuocSX Nvarchar2 30
Soluong Number 10 Not Null
ThoigianBH Nvarchar2 10 Not Null
Loaimay Nvarchar2 20 Dungluong Nvarchar2 20 Dophangiai Nvarchar2 20 Dolonmanhinh Nvarchar2 20 Donhaysang Nvarchar2 20 LoaipinSD Nvarchar2 20 Kichco Nvarchar2 20 Trongluong Nvarchar2 20 Tinhnang Nvarchar2 20 13. Bảng BangGia
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
Mahang Char 10 Khóa chính
Dongiaban Number 10
Dongianhap Number 10
Giả sử nhóm của anh/chị được giao nhiệm vụ phát triển cơ sở dữ liệu cho hệ thống trên hệ quản trị CSDL Oracle 11g. Anh/chị hãy thực hiện một số công việc cần thiết sau:
1. Tạo cơ sở dữ liệu với tên gọi phù hợp.
Lượng giao dịch hàng ngày của công ty khá lớn (trên 2000 giao dịch/ngày). Do vậy lượng dữ liệu sinh ra hàng ngày không nhỏ. Hơn nữa, công ty còn bán hàng qua mạng nên cùng lúc sẽ có nhiều kết nối tới cơ sở dữ liệu. Anh/chị hãy cân nhắc các thông số phù hợp cho cơ sở dữ liệu.
2. Có cần thiết phải tạo nhiều tablespace cho cơ sở dữ liệu này không? Hãy đưa ra những giải thích hợp lý cho quyết định của anh chị.
3. Tạo các tablespace cần thiết, các bảng theo thiết kế vật lý đã nêu ở trên và mối quan hệ tương ứng giữa các bảng.
4. Ban quản lý của công ty thường thực hiện các truy vấn như mô tả dưới đây. Anh/chị hãy thực hiện các truy vấn sau đây và tìm cách tối ưu tốc độ thực hiện của những truy vấn này:
- Hiển thị thông tin về nhà cung cấp theo tên
- Hiển thị chi tiết và thành tiền của hóa đơn theo mã hóa đơn đã biết - Tìm kiếm thông tin về khách hàng theo tên
- Tổng tiền các hóa đơn theo một ngày cụ thể
5. Hệ thống chủ yếu được dùng bởi các nhóm người dùng sau: - Quản trị: có toàn quyền với hệ thống
- Bộ phận bán hàng: cập nhật các thông tin trong các bảng Dondathang, ChitietDDH, Hoadonban, ChitietHDB, PhieuBH, Banggia, Hoadonnhap, ChitietHDN, Hang, Khachhang, Thetichluy
- Khách hàng: xem thông tin về sản phẩm
Anh/chị hãy thiết lập cơ chế bảo mật phù hợp cho cơ sở dữ liệu.
6. Dữ liệu về sản phẩm cũng như thông tin xuất, nhập hàng thay đổi hàng ngày. Bất kì sự cố nào về cơ sở dữ liệu cũng có thể ảnh hưởng tới hoạt động kinh doanh của công ty. Anh/chị hãy đưa ra và triển khai phương án backup phù hợp.
7. Để cải thiện hiệu năng hoạt động cho hệ thống, một số quy tắc nghiệp vụ sẽ thực hiện ở tầng cơ sở dữ liệu. Anh/chị hãy triển khai những quy tắc nghiệp vụ này sao cho tối ưu và phù hợp nhất.
- Ngày hẹn giao hàng phải lớn hơn ngày lập hóa đơn đặt hàng - Số lượng sản phẩm đặt mua của một đơn hàng ít nhất phải là một - Đơn giá bán phải lớn hơn đơn giá nhập trong Bảng giá
- Loại thẻ gồm 3 loại: Thẻ Thân thiện, thẻ Vip, Thẻ Vàng. Giảm giá thẻ nhận một trong ba gia trị là 1%, 2%, 3%
- Số lượng hàng đã bán theo tháng nhập vào - Số lượng hàng tồn kho của tháng nhập vào - Doanh thu của cửa hàng theo quý nhập vào - Tổng chi của cửa hàng theo năm nhập vào
8. Giả sử cơ sở dữ liệu đã triển khai và đi vào hoạt động. Do trình diệt virus trên server lâu ngày không cập nhật nên virus đã tấn công và làm hỏng một trong số
những file log của cơ sở dữ liệu. Theo anh/chị điều gì sẽ xảy ra với cơ sở dữ liệu. Để khắc phục sự cố mất log file, anh/chị sẽ phải làm gì?