Thiết kế chi tiết cho từng bảng như sau: Bảng HOCSINH Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc Bảng KHENTHUONG_GV
Trang 1KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ
Trang 2- Ngoài những yêu cầu trong đề phải có thêm ý mới thì mới được điểm tối đa
- Nếu đề có điểm chưa hợp lý có thể sửa đổi thì phải trình bày tại sao chỉnh sửa (Nếu sửa đúng và sửa tốt, hợp lý thì sẽ được cộng điểm)
- Phải ghi rõ phần trăm công việc đóng góp của từng thành viên
Trang 3CASE STUDY 1:
QUẢN LÝ HỒ SƠ VÀ ĐIỂM Ở TRƯỜNG TRUNG HỌC PHỔ THÔNG
Nhóm dự án đang tiến hành dự án CS1 – xây dựng hệ thống quản lý hồ sơ và điểm ở trường trung học phổ thông Nghiệp vụ hoạt động được nhóm dự án mô tả tóm tắt như dưới đây:
Trong nhà trường phổ thông trung học, mỗi khi nhập trường phải nộp một bộ hồ sơ cá nhân Các thông tin về từng học sinh sẽ được nhà trường nắm rõ thông qua hồ sơ đó và tiến hành làm thẻ học sinh cho từng em
Mỗi học kỳ, một học sinh có thể nhận được các loại điểm: miệng, 15 phút, 1 tiết, điểm thi học kì của từng môn Cuối học kì nhà trường tổng kết điểm trung bình của từng môn, của toàn kì cho mỗi học sinh Học sinh sẽ nhận được kết quả học tập và nhận xét về ý thức học tập và xếp loại vào cuối kì và cả năm
Ban giám hiệu có trách nhiệm cung cấp các quy định tính điểm, các đánh giá xếp loại, quy định về khen thưởng kỷ luật Cuối mỗi kỳ học, ban giám hiệu nhận được các báo cáo
về tình hình chung của từng lớp và đưa ra quyết định khen thưởng cho từng cá nhân học sinh, đồng thời ra quyết định danh sách lên lớp
Sau quá trình thu thập và phân tích hồ sơ dữ liệu, nhóm dự án đã đưa ra được bản thiết kế logic và thiết kế vật lý cho hệ thống như dưới đây:
Trang 4Mô hình quan hệ cơ sở dữ liệu quản lý hồ sơ và điểm ở trường PTTH
Trang 5Thiết kế chi tiết cho từng bảng như sau:
Bảng HOCSINH
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
Bảng KHENTHUONG_GV
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
Bảng KHENTHUONG_HS
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
Trang 6DanhHieu NVARCHAR2 30 NOTNULL
Bảng KETQUA
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
K: không lên lớp
Bảng GIAOVIEN
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
Bảng DAY
Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc
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:
Trang 71 Tạo cơ sở dữ liệu với tên gọi phù hợp
Chú ý: Lượng học sinh của mỗi khóa của một trường PTTH là không lớn, khoảng 150
học sinh/khóa Do vậy, hãy cân nhắc các thông số khi khởi tạo 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 Trường PTTH thường xuyên thực hiện các truy vấn như mô tả dưới đây Anh/chị hãy tìm cách nâng cao tốc độ thực hiện của những truy vấn này:
- Hiển thị danh sách những học sinh giỏi trong toàn trường
- Hiển thị danh sách những học sinh bị lưu ban
- Thống kê những học sinh có hạnh kiểm yếu/kém
- Hiển thị TOP 3 lớp có nhiều học sinh khá/giỏi nhất trường (nhằm mục đích khen thưởng cho lớp)
- Hiển thị những giáo viên chủ nhiệm có lớp đạt nhiều học sinh khá/giỏi nhất trường
5 Hệ thống quản lý hồ sơ và điểm chỉ cho phép một số nhóm người dùng nhất định,
cụ thể như sau:
- Nhóm quản trị: có toàn quyền
- Nhóm giáo viên: chỉ được phép thêm mới vào bảng KETQUA
- Nhóm hiệu trưởng được đọc dữ liệu ở tất cả các bảng
Căn cứ vào mô tả trên đây, anh/chị hãy triển khai phương án bảo mật phù hợp cho cơ
sở dữ liệu này
6 Hệ thống quản lý hồ sơ và điểm được sử dụng nhiều nhất vào thời điểm cuối và đầu mỗi kì/mỗi năm học Anh chị hãy lựa chọn và triển khai phương án backup phù hợp nhất
7 Để cải thiện hiệu năng hoạt động của hệ thống, một số yêu cầu nghiệp vụ được yêu cầu thực hiện ở tầng cơ sở dữ liệu Các yêu cầu đó bao gồm:
- Tìm học sinh có thành tích học tập xuất sắc nhất trường trong một năm học nhất định
Trang 8- Thống kê tỉ lệ học sinh khá, giỏi, trung bình, kém của một lớp nhất định trong năm học nào đó
- Xem tỉ lệ học sinh lưu ban của từng lớp nhất định
- Tìm kiếm lớp có tỉ lệ bỏ học nhiều nhất
Anh/chị hãy triển khai yêu cầu nêu trên trên cở sở dữ liệu
8 Giả sử hệ thống đã đi vào hoạt động, cơ sở dữ liệu đang chạy thì bị mất điện Khi
có điện trở lại thì hệ thống quản lý hồ sơ và điểm không kết nối được với cơ sở dữ liệu nữa Trong khi đó, hiệu trưởng đang rất cần số liệu để làm bản báo cáo cuối năm học Anh/chị sẽ xử lý như thế nào trong trường hợp này?
Trang 9CASE STUDY 2:
HỆ THỐNG QUẢN LÝ BÁN HÀNG CHO BÁCH KHOA COMPUTER
Nhóm dự án CS2 đang tiến hành xây dựng hệ thống bán hàng cho công ty máy tính Bách Khoa Computer
Sau quá trình phân tích yêu cầu, nhóm đã bắt tay vào thiết kế chức năng và cơ sở dữ liệu Kết quả của giao đ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:
Mô hình dữ liệu quan hệ
Thiết kế chi tiết các bảng
Bảng NhaCungCap
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
DiaChi Nvarchar2 200
DienThoai Varchar2 50
Trang 10Bảng SanPham
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
DiaChi Nvarchar2 200
DienThoai Nvarchar2 50
Bảng PhieuNhapHang
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
Trang 11MaPNH Varchar2 6 PNHxxx Khóa chính
SoLuong Nvarchar2 50
Bảng PhieuXuat
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
Bảng ChiTietPhieuXuat
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
Bảng BaoHanh
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
NgayBH date
TinhTrang Nvarchar2 300
Bảng NhaSanXuat
Trang 12Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
Bảng NhaCC_SX
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
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 phù hợp
Chú ý: Lượng giao dịch hàng ngày của công ty khá lớn (trên 3000 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 Với các bảng đã thiết kế vật lý ở trên, anh/chị thấy có cần thiết phải tạo nhiều tablespace? Hãy trình bày lý do
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 Bach Khoa Computer thường xuyên phải thực hiện một số truy vấn mô tả dưới đây Anh/chị hãy tìm cách tối ưu tốc độ thực hiện của những truy vấn này
- Tìm kiếm khách hàng dựa theo tên của họ
- Tìm kiếm khách hàng cùng với những giao dịch mua bán đã thực hiện
- Kiểm tra xem sản phẩm khách hàng mua đã bảo hành bao nhiêu lần, nội dung bảo hành của mỗi lần đó là gì
- Thống kê sản phẩm tồn kho bao gồm các thông tin: mã sản phẩm, tên sản phẩm, số
Trang 13- Kiểm tra có bao nhiêu lỗi về sản phẩm, nội dung lỗi là gì của nhà cung cấp xác định
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 kho: cập nhật các thông tin trong các bảng Xuất, Nhập, Sản phẩm
- 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
- Mỗi khi nhập hàng, số lượng hàng hóa trong kho tự động thay đổi:
TonKho (mới) = TonKho (cũ) + số lượng mới nhập
- Mỗi khi xuất kho, số lượng hàng hóa trong kho tự động thay đổi:
TonKho (mới) = TonKho (cũ) – số lượng xuất kho
- Thống kê doanh thu trong tháng hiện tại
- Tìm khách hàng Vàng (mua nhiều sản phẩm nhất trong năm)
- Tìm loại mặt hàng bán chạy nhất trong tháng
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ì?
Trang 15NHA HANG MaNH DiaChi TenNH
MON AN
MaMon TenMon DonGia
GHI_CHITIET
SoHDCB MaMon SL ThanhTien
GHI_TQ SoHDCB MaNV NgayLap SoBan TongCong
KIEM KE TQ
SoHDKK MaNV GhiChu
NHAN VIEN
MaNV TenNV
THANH TOAN_CHI TIET SoHD MaMon SL ThanhTien
THANH TOAN_TQ
SoHD MaNV MaTN NgayTT GioVao GioRa GiamGia VAT PhiDV
THU NGAN
MaTN TenTN
THUOC
MaNH MaMon
DAT_TQ SoHDDH MaNH NgayLap TongCongN VL DatTruoc
SoHDKK MaNVL SoLuong
NVL MaNVL TenNVL DonGia Thue CK
MUA_
CHITIET
SoHDNH MaNVL SL ThanhTienN VL
Trang 16Thiết kế chi tiết các bảng
1 Bảng NHÀ CUNG CẤP
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
2 Bảng NVL
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
3 Bảng THU NGAN
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
4 Bảng NHA HANG
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
5 Bảng MON AN
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
Trang 176 Bảng NHAN VIEN
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
7 Bảng GHI_CHI TIET
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
SoHDCB CHAR(10) 10 CBxxxxxxxx Khóa chính
8 Bảng GHI_TQ
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
SoHDCB CHAR(10) 10 CBxxxxxxxx Khóa chính
9 Bảng KIEM KE_CHI TIET
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
10 Bảng KIEM KE_TQ
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
hh:mm-dd/mm/yy
NOTNULL
Trang 1811 Bảng THANH TOAN_CHI TIET
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
12 Bảng THANH TOAN_TQ
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
13 Bảng DAT_CHI TIET
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
14 Bảng DAT_TQ
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
Trang 19MaNH CHAR(8) 8 NHxxxxxx Khóa ngoại
hh:mm-dd/mm/yy
NOTNULL
15 Bảng MUA_CHI TIET
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
16 Bảng MUA_TQ
Thuộc tính Kiểu dữ liệu Cỡ Định dạng Ràng buộc
Giả sử anh/chị là thành viên của đội CS3 và được giao nhiệm vụ phát triển cơ sở dữ liệu này trên hệ quản trị CSDL Oracle 11g Anh/chị hãy thực hiện những công việc cần thiết sau đây để giải quyết công việc được giao:
1 Tạo cơ sở dữ liệu với tên phù hợp
Chú ý: Lượng dữ liệu lưu trữ của nhà hàng không nhiều (khoảng 200 bản ghi/ngày),
người dùng chủ yếu là nhân viên nhà hàng Anh/chị hãy lựa chọn các thông số để tạo
cơ sở dữ liệu cho phù hợp
2 Với số lượng bảng như trên, theo anh/chị có cần thiết phải tạo nhiều tablespace không? Hãy đưa ra những giải thích cho lựa chọn của anh/chị?
3 Tạo các tablespace cần thiết, các bảng như đã thiết kế và mối quan hệ giữa chúng
Trang 204 Nhà hàng Sen Hồng thường xuyên thực hiện một số truy vấn sau:
- Tính tiền lãi của nhà hàng trong tháng hiện tại:
Lãi = Tổng tiền thanh toán – tổng tiền nguyên vật liệu
- Thống kê món ăn mà khách hay gọi nhất
- Xem thông tin đặt nguyên vật liệu của nhà hàng khi biết ngày đặt
- Thống kê nguyên vật liệu thường xuyên đặt mua nhất
- Tìm nhân viên ghi bàn xác định (dựa theo mã số ghi)
Để cải thiện hiệu năng hoạt động của hệ thống thì cần phải cải thiện tốc độ thực hiện của những truy vấn này trước tiên Anh/chị hãy vận dụng những kiến thức đã học để tối ưu tốc độ thực hiện của những truy vấn đã nêu, đồng thời thực hiện truy vấn đã nêu
5 Nhà hàng chỉ có một người sử dụng hệ thống đồng thời là người quản trị cơ sở dữ liệu, đó là kế toán Ngoài ra, thỉnh thoảng chủ nhà hàng xem các thông tin về mua bán của nhà hàng Anh/chị hãy thiết lập cơ chế bảo mật phù hợp cho cơ sở dữ liệu
6 Phần mềm quản lý nhà hàng và cơ sở dữ liệu cùng được cài đặt trên máy tính của
kế toán Chủ nhà hàng yêu cầu thứ 2 hàng tuần cơ sở dữ liệu phải được backup Dung lượng ổ cứng của máy tính không lớn Anh/chị hãy lựa chọn phương án backup phù hợp với yêu cầu đề ra và triển khai nó
7 Để giảm lượng dữ liệu truyền giữa cơ sở dữ liệu và ứng dụng Quản trị dự án yêu cầu một số quy tắc nghiệp vụ thực hiện ở tầng cơ sở dữ liệu Anh/chị hãy lựa chọn những đối tượng phù hợp để cài đặt những quy tắc nghiệp vụ này
- Tính tổng tiền mà khách phải thanh toán cho lần ăn xác định
- Tính tổng tiền đã mua nguyên vật liệu của nhà cung cấp xác định
- Tính lãi của nhà hàng trong tháng xác định: lãi = Tổng thu – tổng chi
- Hãy đảm bảo là ngày đặt nguyên vật liệu (trong bảng Đặt) và ngày nhận nguyên vật liệu trong bảng mua là trùng khớp và là ngày hiện tại
- Hãy đảm bảo rằng tiền đặt cọc nhỏ hơn tổng tiền nguyên vật liệu của lần đặt cọc đó
8 Giả sử cơ sở dữ liệu đã đi vào hoạt động Kế toán rất hay dùng máy tính để lướt web và download các file (cài đặt, nhạc, video,…) về máy tính Một ngày nọ, máy tính của kế toán bị nhiễm virus Virus làm hỏng data file Anh/chị thử phỏng đoán điều gì sẽ xảy ra với cơ sở dữ liệu và đưa ra phương án khắc phục sự cố trên
Trang 22CASE STUDY 4:
HỆ THỐNG QUẢN LÝ NHÂN SỰ CHI NHÁNH NGÂN HÀNG NÔNG
NGHIỆP VÀ PHÁT TRIỂN NÔNG THÔN BẮC HÀ NỘI
Đội dự án CS4 vừa đấu thầu được dự án xây dựng hệ thống quản lý nhân sự cho ngân hàng Nông nghiệp và phát triển nông thôn chi nhánh Bắc Hà Nội Yêu cầu chính của
hệ thống được mô tả tổng quát như sau:
Phân tích, thiết kế hệ thống nhằm phục vụ cho công tác quản lý nhân sự dùng cho chi nhánh ngân hàng Agribank Bắc Hà Nội một cách tốt nhất, giúp cho người quản lý đưa
ra được những báo cáo cần thiết cho lãnh đạo để có những biện pháp quản lý và xử lý kịp thời nhằm không ngừng nâng cao hiệu quả hoạt động của Ngân hàng trong hiện tại
và tương lai Hệ thống được sử dụng tại phòng nhân sự của chi nhánh Chức năng chính của hệ thống bao gồm:
- Quản lý tuyển dụng
- Quản lý đào tạo
- Quản lý hồ sơ nhân viên
- Quản lý khen thưởng và kỉ luật
Đội dự án chia làm 2 nhóm: 1 nhóm phát triển chức năng, 1 nhóm phát triển cơ sở dữ liệu Sau 2 tháng phân tích và thiết kế, nhóm phát triển cơ sở dữ liệu đã đưa ra được bản thiết kế sơ bộ cho cơ sở dữ liệu hệ thống quản lý nhân sự như sau:
Mô hình quan hệ
Trang 23Thiết kế chi tiết các bảng
Bảng ỨNG VIÊN
Tên cột Kiểu dữ liệu Khoá Ràng buộc
Trang 24Hoctap Varchar2(40) Bằng cấp từ đại
Tên cột Kiểu dữ liệu Khoá Ràng buộc
Bảng TUYỂN_CHI TIẾT
Tên cột Kiểu dữ liệu Khoá Ràng buộc
Bảng TUYỂN_TQ
Tên cột Kiểu dữ liệu Khoá Ràng buộc
Vitri Varchar2(15) Yeucau Varchar2(200)
Bảng CƠ SỞ ĐÀO TẠO
Tên cột Kiểu dữ liệu Khoá Ràng buộc
TenCSDT Varchar2(20) Khoá chính DiachiCSDT Varchar2(20)
Bảng THAM GIA ĐÀO TẠO
Tên cột Kiểu dữ liệu Khoá Ràng buộc
TenCSDT Varchar2(20) Khoá chính ThoigianDT Date
Trang 25DiadiemDT Varchar2(20) KetquaDT Varchar2(10)
Tên cột Kiểu dữ liệu Khoá Ràng buộc
NoinhanHS Varchar2(20) ThoigiannhanHS Date
Bảng KÝ_TQ
Tên cột Kiểu dữ liệu Khóa Ràng buộc
LoaiHD Varchar2(25) Chedo Varchar2(100)
Bảng KÝ_CHI TIẾT
Tên cột Kiểu dữ liệu Khóa Ràng buộc
Thoigianlam Date Thoigianthu Date Thoigianhieuluc Date Diadiem Varchar2(20)
Bảng YÊU CẦU CÔNG TÁC
Tên cột Kiểu dữ liệu Khóa Ràng buộc
Trang 26Bảng ĐỀ NGHỊ TẠM ỨNG
Tên cột Kiểu dữ liệu Khóa Ràng buộc
MaPhong Char (5)
LydoTU VarChar2(300) ThoigianTU Date
Bảng KẾ HOẠCH CÔNG TÁC
Tên cột Kiểu dữ liệu Khóa Ràng buộc
MaPhong Char (5) NoidungCT Varchar2 (500) DiadiemCT Varchar2 (500)
ThanhphanCT Varchar2 (500) Dutrukinhphi Number
Tongcong Number
Bảng BẢNG TỔNG KẾT CÔNG
Tên cột Kiểu dữ liệu Khóa Ràng buộc
Trang 27Bảng DỮ LIỆU CHẤM CÔNG
Tên cột Kiểu dữ liệu Khóa Ràng buộc
Tên cột Kiểu dữ liệu Khóa Ràng buộc
Diemchuan Number(6,1)
Bảng NGUỒN VỐN
Tên cột Kiểu dữ liệu Khóa Ràng buộc
NgayTatToan Date SoDuHTai Number(18,2) QuyVNDtheothang Number(18,2)
SoDuThang Number (18,2)
Bảng QUY ĐỊNH
Tên cột Kiểu dữ liệu Khóa Ràng buộc
MaQuyDinh Char(6) Khóa chính Not Null TenQuyDinh Varchar2(20)
DieuKhoan Varchar2(2000)
Bảng VI PHẠM_CHI TIẾT
Trang 28Tên cột Kiểu dữ liệu Khóa Ràng buộc
MaQuyDinh Char(6) Khóa ngoại Not Null DiaDiemViPham Varchar2(40)
NgayViPham Date
Bảng VI PHẠM_TQ
Tên cột Kiểu dữ liệu Khóa Ràng buộc
MucDoPhamLoi Varchar2(12) HinhThucKyLuat Varchar2(15) NgayThiHanhKy
Luat
Date
Bảng CHẤM ĐIỂM THEO_CHI TIẾT
Tên cột Kiểu dữ liệu Khóa Ràng buộc
Char(10) Khóa ngoại Not Null
DSngay15 Number (18,2) DScuoithang Number (18,2) TongDS Number (18,2)
Trang 29Giả sử anh/chị là thành viên của đội CS4 và được giao nhiệm vụ phát triển cơ sở dữ liệu này trên hệ quản trị CSDL Oracle 11g Anh/chị hãy thực hiện những công việc cần thiết sau đây để giải quyết công việc được giao:
1 Tạo mới cơ sở dữ liệu với tên phù hợp
Chú ý: Số lượng nhân viên cũng như số lượng ứng viên ứng tuyển tại ngân hàng Nông
nghiệp và phát triển nông thôn chi nhánh Bắc Hà Nội không lớn Do vậy, hãy lựa chọn những thông số phù hợp cho cơ sở dữ liệu
2 Với số lượng bảng và nhóm các chức năng của hệ thống nêu trên, theo anh/chị có cần thiết phải tạo nhiều tablespace cho cơ sở dữ liệu không? Hãy đưa ra lý do của anh/chị
3 Tạo tablespace cần thiết, các bảng và mối quan hệ tương ứng giữa các bảng
4 Nhân viên phòng nhân sự thường xuyên phải thực hiện các truy vấn sau:
- Tìm kiếm những nhân viên đã vi phạm kỉ luật ít nhất 1 lần trong năm xác định
- Thống kê những nhân viên nghỉ quá 50h trong tháng xác định
- Tìm những nhân viên mới vào tuyển dụng trong năm nhưng chưa tham gia khóa đào tạo nào
- Tìm những nhân viên được khen thưởng từ 2 lần trở lên trong năm xác định
- Thống kê lương trung bình của toàn chi nhánh trong năm nhất định
Anh/chị hãy cải thiện tốc độ thực hiện của những truy vấn trên
5 Chi nhánh Bắc Hà Nội có một số nhân viên IT làm nhiệm vụ quản lý các hệ thống thông tin và hỗ trợ nhân viên nghiệp vụ nếu gặp trục trặc trong qua trình sử dụng các
hệ thống Những nhân viên IT này sẽ quản trị cơ sở dữ liệu Ngoài ra, nhân viên ở phòng nhân sự có thể thực hiện các thao tác chỉnh sửa (bao gồm thêm mới, sửa đổi, xóa) dữ liệu trong các bảng
Anh/chị hãy thiết lập cơ chế bảo mật phù hợp với chi nhánh
6 Để tăng hiệu năng hoạt động của hệ thống, một số quy tắc nghiệp vụ được xử lý ở tầng cơ sở dữ liệu Anh/chị hãy triển khai những yêu cầu nghiệp vụ này bằng những đối tượng phù hợp
- Tính lương cơ bản của từng nhân viên theo công thức:
Trang 30- Tínhh lương kinh doanh theo công thức:
7 Hãy đưa ra phương án backup phù hợp cho cơ sở dữ liệu
8 Giả sử hệ thống đã đi vào hoạt động Một ngày nào đó, đột nhiên nhân viên phòng nhân sự kêu ca rằng: họ thấy mất toàn bộ dữ liệu của đợt tuyển dụng vừa rồi Anh/chị thử phỏng đoán nguyên nhân là gì? Khắc phục tình trạng trên bằng cách nào? Để đề phòng trường hợp trên anh chị sẽ làm gì?
Trang 31CASE STUDY 5:
HỆ THỐNG HOẠCH TOÁN KINH DOANH CÔNG TY LIVEL
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
Mô hình quan hệ
Trang 32Thiết kế chi tiết các bảng
Bảng NHA CUNG CAP
Trang 33Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
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
Bảng THU KHO
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
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
Trang 34DiaChi Nvarchar2 200
DienThoai Varchar2 50
Bảng NVBH
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
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
DiaChi Nvarchar2 200
Bảng KHO
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
DiaChi Nvarchar2 200
Bảng CONG VIEC
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
Trang 35Bảng HOA DON MUA HANG
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
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
Bảng PHIEU NHAP KHO
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
Trang 36Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
Bảng HOA DON BAN
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
NgayBang Date
Bảng CHI TIET HOA DON BAN
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
Bảng PHIEU THU
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
Trang 37LyDoThu Varchar2 100
NgayThu Date
Bảng PHIEU CHI
Thuộc tính Kiểu Độ rộng Định dạng Ràng buộc
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
Trang 385 Đâ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 đó
Trang 39CASE STUDY 6:
HỆ THỐNG QUẢN LÝ KHÁM BỆNH VÀ ĐIỀU TRỊ BỆNH
Công ty Abix vừa nhận được hợp đồng xây dựng hệ thống quản lý khám chữa bệnh và điều trị cho phòng khám 73 Điện BiênPhủ - Hải Phòng Nghiệp vụ của hệ thống mô tả khái quát như sau:
Phòng khám bệnh đa khoa 73 Điện Biên Phủ - Hải Phòng là phòng khám chất lượng cao, phục vụ bệnh nhân từ 6h-21h (hàng ngày kể cả chủ nhật và ngày nghỉ) Ở đây các bác sĩ có trình độ chuyên môn cao, thái độ thân thiện, tất cả với mục đích phục vụ bệnh nhân tốt nhất
Khi bệnh nhân đi khám bệnh, trước hết bệnh nhân phải mua phiếu khám bệnh và nhân viên tại bàn bán phiếu ghi thông tin cá nhân của bệnh nhân lưu lại vào trong hồ sơ bệnh nhân Khi đó bệnh nhân nhận được số thứ tự khám và vào khám ở phòng khám của bác sĩ đa khoa Bác sĩ đa khoa sau khi nghe thông tin triệu chứng của bệnh nhân
sẽ quyết định cho bệnh nhân khám tại các phòng khám chuyên khoa hoặc làm các xét nghiệm khác không
Bệnh nhân đi khám tại các phòng khám chuyên khoa, lấy kết quả Cầm các kết quả khám chuyên khoa (hoặc xét nghiệm) đó quay trở lại phòng khám đa khoa, bác sĩ đa khoa dựa vào kết quả nhận được để chuẩn đoán bệnh và kê đơn thuốc cho bệnh nhân Bệnh nhân có thể mua thuốc tại phòng khám hoặc mua ở bên ngoài Khi mua thuốc bệnh nhân phải đưa đơn thuốc cho dược sĩ, dược sĩ sẽ kiểm tra đơn thuốc xem có loại thuốc đó không Nếu có sẽ bán thuốc theo báo giá và đưa hoá đơn cho bệnh nhân Nhóm dự án CS6 chịu trách nhiệm thực hiện dự án này Sau 3 tháng phân tích nghiệp
vụ hệ thống, nhóm đã đưa ra bản thiết kế chi tiết chức năng và cơ sở dữ liệu của hệ thống Dưới đây là thiết kế chi tiết về cơ sở dữ liệu:
Mô hình quan hệ
Trang 40Thiết kế vật lý các bảng
KHOA
STT Tên trường Kiểu dữ liệu Kích thước Caption Ghi chú