Bài giảng Cơ sở dữ liệu Visual Foxpro

• Hệ quản trị cơ sở dữ liệu (Database Management System) là một hệ thống phần mềm máy tính được thiết kế chuyên biệt cho bài toán quản lý. Mô hình dữ liệu của các hệ quản trị csdl là mô hình quan hệ. • Hệ quản trị csdl cung cấp 2 tính năng chính sau: 1- Lưu trữ, quản lý dữ liệu 2- Công cụ truy cập, khai thác dữ liệu

doc13 trang | Chia sẻ: haohao89 | Lượt xem: 2207 | Lượt tải: 2download
Bạn đang xem nội dung tài liệu Bài giảng Cơ sở dữ liệu Visual Foxpro, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 1 - Mở đầu I. Giới thiệu Nội dung môn học Khai thác hệ quản trị cơ sở dữ liệu Visual Foxpro Tiếp cận với công việc xây dựng một hệ thống quản lý Tài liệu tham khảo [1] - Sử dụng và khai thác Microsoft Visual Foxpro 6.0 - Nguyễn Ngọc Minh, Nguyễn Đình Đề - NXB Lao động 2003 [2] - Bộ Help MSDN của Microsoft (tiếng anh) [3] - Phân tích và thiết kế hệ thống thông tin - Đào Thanh Tĩnh - NXB Quân đội 2004 [4] - Help của Visual Foxpro II. Hệ quản trị csdl Hệ quản trị cơ sở dữ liệu (Database Management System) là một hệ thống phần mềm máy tính được thiết kế chuyên biệt cho bài toán quản lý. Mô hình dữ liệu của các hệ quản trị csdl là mô hình quan hệ. Hệ quản trị csdl cung cấp 2 tính năng chính sau: Lưu trữ, quản lý dữ liệu Công cụ truy cập, khai thác dữ liệu Các Hệ quản trị csdl thường dùng hiện nay: SQL Server: Phát triển bởi Microsoft; là hệ CSDL dùng cho các tổ chức, doanh nghiệp lớn; Khả năng đáp ứng trên mạng cao; Đảm bảo tính an toàn, bảo mật. Oracle: Phát triển bởi Oracle; là hệ CSDL dùng cho các tổ chức, doanh nghiệp lớn; Khả năng đáp ứng trên mạng cao; Đảm bảo tính an toàn, bảo mật. (Được đánh giá là mạnh hơn SQL verver và thực tế giá phần mền này cũng đắt hơn SQL Server) Foxpro, Access: Phát triển bởi Microsoft; là hệ CSDL dùng cho các tổ chức, doanh nghiệp vừa và nhỏ; có khả năng triển khai trên mạng; tính bảo mật, an toàn là không cao. MySQL: Hệ CSDL mã nguồn mở, được sử dụng chủ yếu cho các ứng dụng Web. III. Mô hình dữ liệu quan hệ Trong mô hình này người ta mô tả các [đối tượng] (như con người, hàng hóa, môn học ...) thông qua các bảng (Table), mỗi bảng lại được mô tả qua các trường dữ liệu. Bảng (Table): Mô tả qua các cột - trường (Field) và các dòng - Bản ghi (Record) (ví dụ) (Mỗi bảng có thể hiểu như một [quan hệ]) Trường (Field): Mô tả 1 thuộc tính nào đó của đối tượng thông qua tên trường (Field name), kiểu (Type) và động rộng (Width) (ví dụ). Bản ghi (Record): Tập các giá trị cụ thể của các trường của cùng 1 đối tượng (ví dụ). Quan hệ giữa các bảng (Relationship): Là cách thức mô tả một đối tượng lớn hơn từ những đối tượng nhỏ (ví dụ). IV. bài toán quản lý Bài toán quản lý có ở hầu hết mọi đơn vị, tổ chức, thậm chí với cả một số cá nhân. Những bài toán quản lý có thể kể đến như: Quản lý nhân sự Quản lý hàng hóa Quản lý kế toán Quản lý lương Quản lý sinh viên, điểm Quản lý sách .... Đặc điểm chung của những bài toán này: Không cần sử dụng những thuật toán phức tạp mà yêu cầu chủ yếu là: Thống kê, tìm kiếm, lọc thông tin. Khối lượng dữ liệu thường là rất lớn. Đặc điểm này thực sự là một thách thức lơn nếu chúng ta phải quản lý thủ công (việc tìm kiếm, thống kê, lọc -> mất rất nhiều thời gian và không chính xác) Bài tập môn học - Xây dựng hệ quản lý điểm A. Mô tả bài toán Bài toán Quản lý điểm (đối với các trường Đại học, Cao đẳng): Công tác quản lý điểm (hay kết quả học tập) của sinh viên đóng vai trò hết sức quan trọng đối với hoạt động của các trường ĐH và CĐ. Trong khoảng 10 năm trở lại đây công tác quản lý điểm (ở một số trường trong đó có HVKTQS) đã dần được tin học hóa nhằm đem lại hiệu quả cao hơn, tin cậy hơn. Bài toán Quản lý điểm đặt ra các vấn đề cơ bản như sau: Thể hiện được mô hình tổ chức quản lý sinh viên theo khóa, theo lớp, các loại hình đào tạo; Quản lý các môn học của các lớp theo học kỳ và kết quả học tập của sinh viên đối với các môn học đó. Hệ thống còn phải cho phép tạo ra các báo cáo từ kết quả học tập của sinh viên nhằm phục vụ công tác điều hành huấn luyện như: Tổng kết kết quả học tập theo kỳ, theo năm, theo khóa; In Danh sách thi lại; In Bảng điểm học kỳ; In Bảng điểm các nhân… Ngoài các chức năng chính như trên, hệ thống này còn cần thêm một số chức năng khác như: cập nhật các loại danh mục dữ liệu (danh mục lớp, danh mục loại hình đào tạo, danh mục ngành học …); các chức năng sao chép/copy dữ liệu; chuyển đổi – tách lớp; các chức năng trợ giúp … Có thể mô tả sơ lược các công việc chính (đối với 1 khóa học) trong hệ thống quản lý điểm như sau: Với mỗi khóa học mới -> cần phải có mô tả cho khóa mới này. Mô tả danh mục các lớp cho khóa mới. Với mỗi lớp đã có cập nhật danh sách sinh viên của lớp Với mỗi học kỳ cần cập nhật danh sách môn học/lớp Khi có kết quả các môn học -> Cập nhật điểm môn học/lớp Tổng kết kết quả học tập học kỳ, năm học, khóa học .. In Danh sách thi lại In Bảng điểm học kỳ In Bảng điểm các nhân. B. Yêu cầu Xây dựng hệ thống Quản lý điểm phục vụ công tác quản lý điểm của các trường ĐH và CĐ với các yêu cầu sau: Cập nhật từ điển Cập nhật danh mục khoá Cập nhật danh mục lớp Cập nhật danh mục ngành học Cập nhật danh mục loại hình đào tạo Cập nhật danh mục giáo viên Cập nhật dữ liệu Cập nhật hồ sơ sinh viên Cập nhật môn học/lớp/học kỳ Cập nhật điểm thi kết thúc môn Báo cáo/ thống kê In danh sách lớp In Danh sách thi In phiếu điểm In tổng kết kết quả học kỳ In tổng kết kết quả năm học In tổng kết kết quả toàn khóa học In bảng điểm học kỳ In bảng điểm cá nhân C. Một số gọi ý Các bảng dữ liệu trong hệ thống quản lý điểm có thể bao gồm các bảng sau: Danh mục khoá DMKHOA.DBF Tên trường Kiểu Độ rộng Ghi chú Ma C 10 Mã khoá (Khoá chính) Ten C 30 Tên khoá Nienkhoa C 11 Niên khoá (Ghi 2004 – 2005, hoặc 2005 – 2006 …) Ghichu C 200 Ghi chú Danh mục lớp DMLOP.DBF Tên trường Kiểu Độ rộng Ghi chú Ma C 10 Mã lớp (khoá chính) Ten C 30 Tên lớp NgayKG D 8 Ngày khai giảng NgayBG D 8 Ngày bế giảng Manganh C 10 Mã ngành (khoá ngoài – dùng để đặt liên kết đến bảng DMNGANH) MaLHDT C 10 Mã loại hình đào tạo (khoá ngoài – dùng để đặt liên kết đến bảng DMLHDT) Makhoa C 10 Ma khoá (khoá ngoài – dùng để đặt quan hệ đến bảng DMKHOA) Ghichu C 200 Ghi chú Danh mục ngành học DMNGANH.DBF Tên trường Kiểu Độ rộng Ghi chú Ma C 10 Mã ngành (khoá chính) Ten C 30 Tên ngành Ghichu C 200 Ghi chú Danh mục loại hình đào tạo DMLHDT.DBF Tên trường Kiểu Độ rộng Ghi chú Ma C 10 Mã loại hình đào tạo (khoá chính) Ten C 30 Tên loại hình Ghichu C 200 Ghi chú Hồ sơ sinh viên HOSOSV.DBF Tên trường Kiểu Độ rộng Ghi chú Ma C 10 Mã sinh viên (Khoá chính) Mã sinh viên có dạng XXXXYYYYYY, trong đó XXXX có dạng là năm sinh viên đó trúng tuyển vào trường, YYYYYY là số thứ tự của sinh viên nhập học năm XXXX (Ví dụ: mã 2004000012 là mã của sinh viên thứ 12 trúng tuyển năm 2004….) HoTen C 30 Họ tên sinh viên Ngaysinh D 8 Ngày sinh Gioi L 1 Logic, .T. – Nam, .F. – Nữ Hokhau C 200 Hộ khẩu trường trú Diachi C 200 Địa chỉ Malop C 10 Mã lớp (khoá ngoài – dùng để liên kết đến bảng DMLOP) Ghichu C 200 Ghi chú Môn học MONHOC.DBF Tên trường Kiểu Độ rộng Ghi chú Ma C 10 Mã môn (Khoá chính) Tenmon C 50 Tên môn Sotiet N 3 Số tiết SoDVHT N 3,1 Số đơn vị học trình Hocky N 1 Học kỳ (ghi 1 – Học kỳ 1, ghi 2 – Học kỳ 2) Namhoc N 4 Năm học (Ghi năm học đầu trong ) NgayThi D 8 Ngày thi Malop C 10 Mã lớp (khoá ngoài – dùng để liên kết đến bảng DMLOP) MaGV C 10 Mã giáo viên (Khoá ngoài – dùng để liên kết đến bảng GIAOVIEN) Ghichu C 200 Ghi chú Bảng GIAOVIEN.DBF Tên trường Kiểu Độ rộng Ghi chú Ma C 10 Mã giáo viên Hoten C 30 Họ tên giáo viên Hocham C 10 Học hàm (GV, GVC, GS, PGS) Hocvi C 10 Học vị (CN, KS, ThS, TS, TSHK) Ghichu C 200 Ghi chú Bảng điểm DIEM.DBF Tên trường Kiểu Độ rộng Ghi chú Mamon C 10 Mã môn MaSV C 10 Mã sinh viên Diem1 N 5,2 Điểm thi lần 1 Diem2 N 5,2 Điểm thi lần 2 Diem3 N 5,2 Điểm thi lần 3 Ghichu C 200 Ghi chú Các chức năng của chương trình có thể thiết kế như sau: Cập nhật danh mục khoá Giao diện này có dạng như sau: A1 – Danh sách khoá (Sử dụng GRID) Khi chọn 1 dòng (1 khoá) thông tin về khoá được chọn sẽ hiển thị trong ô A2 A2 – Chi tiết khoá được chọn A3 Các chức năng : Thêm, sửa, xoá …(1 khoá) Cập nhật danh mục lớp A1 Chọn khoá : ……… (sử dụng ô combox) Chức năng [OK] Khi chọn OK, danh sách các lớp của khoá được chọn sẽ hiển thị trong ô A2 A3 – Chi tiết về lớp được chọn A2 – Danh sách lớp của khoá được chọn (Sử dụng GRID) Khi chọn 1 dòng (1 lớp) thông tin chi tiết về lớp này sẽ hiển thị trong ô A3 Các chức năng: Thêm, sửa, Xoá … (1 lớp) Cập nhật danh mục ngành Tương tự cập nhật danh mục khoá Cập nhật danh mục loại hình đào tạo Tương tự cập nhật danh mục khoá Cập nhật danh mục giáo viên Tương tự cập nhật danh mục khoá Cập nhật hồ sơ sinh viên Giao diện này có dạng như sau: A1 Chọn khoá: ….. (Sử dụng ô Combox) Chọn lớp: …… (Sử dụng ô Combox) Chức năng [OK] Khi chọn [OK] danh sách sinh viên của lớp/khoá đã chọn sẽ hiển thị trong ô A2 A3 - Chi tiết về sinh viên được chọn A2 – Danh sách sinh viên của lớp/khoá đã chọn (sử dụng GRID) Khi chọn 1 dòng (1 sinh viên) thì thông tin chi tiết về sinh viên này sẽ hiển thị trong ô A3 Các chức năng: Thêm, Sửa, Xoá … (1 sinh viên) Cập nhật môn học/lớp/học kỳ Giao diện này có dạng như sau: A1 Chọn khoá: …. (sử dụng ô Combox) Chọn lớp: …. (Sử dụng ô Combox) Chọn học kỳ: …. Năm học: ……… Chức năng [OK] Khi chọn [OK] danh sách môn học của lớp/khoá/học kỳ-năm học đã chọn sẽ hiển thị trong ô A2 A3 – Chi tiết về môn học được chọn A2 – Danh sách môn học của lớp/khoá/học kỳ-năm học đã chọn (sử dụng GRID) Khi chọn 1 dòng (1 môn học) thì thông tin chi tiết về môn học này sẽ hiển thị trong ô A3 Các chức năng: Thêm, Sửa, Xoá … (1 môn học) Cập nhật điểm thi kết thúc môn Giao diện này có dạng như sau: A1 Chọn khoá: …. (sử dụng ô Combox) Chọn lớp: …. (Sử dụng ô Combox) Chọn học kỳ: …. Năm học: ……… Chọn môn học: ………….(sử dụng ô Combox) Thi lần: ………..(1 – thi lần đầu, 2 thi lại lần 1, 3 – thi lại lần 2) Chức năng [OK] Khi chọn [OK] danh sách “lớp-môn học” đã chọn sẽ hiển thị trong ô A2 A2 – Danh sách “lớp-môn học” đã chọn (Sử dụng GRID) (nếu là thi lần 1 – cho phép nhập vào cột điểm 1, lần 2 cho phép nhập vào cột điểm 2, lần 3 cho phép nhập vào cột điểm 3) Lưu ý: Danh sách “lớp-môn học” do chương trình tự động sinh ra, cần lưu ý khi thiết kế để tránh sinh ra nhiều lần. In danh sách lớp Giao diện này có dạng như sau: A1 Chọn khoá: …. (sử dụng ô Combox) Chọn lớp: …. (Sử dụng ô Combox) Chức năng: Xem, In, Thoát (chức năng Xem cho phép xem report “danh sách lớp” trên màn hình chức năng In cho phép đưa report “danh sách lớp” ra máy in) Report “danh sách lớp” có dạng như sau: Học viện KTQS Phòng Đào tạo Danh sách lớp Lớp: ……………………, Khoá: ………………… STT Mã SV Họ tên Ngày sinh Hộ khẩu Ghi chú … … … … … … In danh sách thi Giao diện này có dạng như sau: A1 Chọn khoá: …. (sử dụng ô Combox) Chọn lớp: …. (Sử dụng ô Combox) Chọn học kỳ: …. Năm học: ……… Chọn môn học: ………….(sử dụng ô Combox) Thi lần: ………..(1 – thi lần đầu, 2 thi lại lần 1, 3 – thi lại lần 2) Chức năng: Xem, In, Thoát (chức năng Xem cho phép xem report “danh sách thi” trên màn hình chức năng In cho phép đưa report “danh sách thi” ra máy in) Report “Danh sách thi” có dạng như sau: Học viện KTQS Phòng Đào tạo Danh sách thi Lớp: ………………….., khoá:…………………… Môn học: …………………….Học kỳ: .... năm học:……… Giáo viên: …………………….., ngày thi:……………….. STT Mã SV Họ tên Ngày sinh Đề số Kí nhận Ghi chú … … … … … … … Giáo viên coi thi (Ký và ghi rõ họ tên) In phiếu điểm Giao diện này có dạng như sau: A1 Chọn khoá: …. (sử dụng ô Combox) Chọn lớp: …. (Sử dụng ô Combox) Chọn học kỳ: …. Năm học: ……… Chọn môn học: ………….(sử dụng ô Combox) Thi lần: ………..(1 – thi lần đầu, 2 thi lại lần 1, 3 – thi lại lần 2) Chức năng: Xem, In, Thoát (chức năng Xem cho phép xem report “phiếu điểm” trên màn hình chức năng In cho phép đưa report “phiếu điểm” ra máy in) Report “phiếu điểm” có dạng như sau: Học viện KTQS Phòng Đào tạo Phiếu điểm Lớp: ………………….., khoá:…………………… Môn học: …………………….Học kỳ: .... năm học:……… Giáo viên: …………………….., ngày thi:……………….. STT Mã SV Họ tên Ngày sinh Đề số Điểm Ghi chú … … … … … … … Giáo viên chấm thi (Ký và ghi rõ họ tên) In tổng kết kết quả học kỳ Giao diện này có dạng như sau: A1 Chọn khoá: …. (sử dụng ô Combox) Chọn lớp: …. (Sử dụng ô Combox) Chọn học kỳ: …. Năm học: ……… Chức năng: Xem, In, Thoát (chức năng Xem cho phép xem report “Tổng kết học kỳ” trên màn hình chức năng In cho phép đưa report “Tổng kết học kỳ” ra máy in) Report “Tổng kết học kỳ” có dạng như sau: Học viện KTQS Phòng Đào tạo Tổng kết kết quả học kỳ Học kỳ: .... năm học:……… Lớp: ………………….., khoá:…………………… STT Mã SV Họ tên Ngày sinh Điểm TBC Xếp loại Ghi chú … … … … … … … Xếp loại theo điểm trung bình chung được tính như sau: Điểm TBC>=9 -> Xuất sắc; Điểm TBC>=8 -> Giỏi; Điểm TBC>=7 -> Khá; Điểm TBC>=6 -> Trung bình khá; Điểm TBC>=5 -> Trung bình; Điểm TBC Không đạt In tổng kết kết quả năm học Giao diện này có dạng như sau: A1 Chọn khoá: …. (sử dụng ô Combox) Chọn lớp: …. (Sử dụng ô Combox) Chọn Năm học: ……… Chức năng: Xem, In, Thoát (chức năng Xem cho phép xem report “Tổng kết năm học” trên màn hình chức năng In cho phép đưa report “Tổng kết năm học” ra máy in) Report “Tổng kết năm học” có dạng như sau: Học viện KTQS Phòng Đào tạo Tổng kết kết quả năm học Năm học:……… Lớp: ………………….., khoá:…………………… STT Mã SV Họ tên Ngày sinh Điểm TBC Xếp loại Ghi chú … … … … … … … Xếp loại theo điểm trung bình chung được tính như sau: Điểm TBC>=9 -> Xuất sắc; Điểm TBC>=8 -> Giỏi; Điểm TBC>=7 -> Khá; Điểm TBC>=6 -> Trung bình khá; Điểm TBC>=5 -> Trung bình; Điểm TBC Không đạt In tổng kết kết quả toàn khoá Giao diện này có dạng như sau: A1 Chọn khoá: …. (sử dụng ô Combox) Chọn lớp: …. (Sử dụng ô Combox) Chức năng: Xem, In, Thoát (chức năng Xem cho phép xem report “Tổng kết khoá học” trên màn hình chức năng In cho phép đưa report “Tổng kết khoá học” ra máy in) Report “Tổng kết năm học” có dạng như sau: Học viện KTQS Phòng Đào tạo Tổng kết kết quả khoá học Lớp: ………………….., khoá:…………………… STT Mã SV Họ tên Ngày sinh Điểm TBC Xếp loại Ghi chú … … … … … … … Xếp loại theo điểm trung bình chung được tính như sau: Điểm TBC>=9 -> Xuất sắc; Điểm TBC>=8 -> Giỏi; Điểm TBC>=7 -> Khá; Điểm TBC>=6 -> Trung bình khá; Điểm TBC>=5 -> Trung bình; Điểm TBC Không đạt In bảng điểm học kỳ Giao diện này có dạng như sau: A1 Chọn khoá: …. (sử dụng ô Combox) Chọn lớp: …. (Sử dụng ô Combox) Chọn học kỳ: …. Năm học: ……… Chức năng: Xem, In, Thoát (chức năng Xem cho phép xem report “Bảng điểm học kỳ” trên màn hình chức năng In cho phép đưa report “Bảng điểm học kỳ” ra máy in) Report “Bảng điểm học kỳ” có dạng như sau: Học viện KTQS Phòng Đào tạo Bảng điểm học kỳ Học kỳ: .... năm học:……… Lớp: ………………….., khoá:…………………… STT Mã SV Họ tên Môn 1 Môn 2 … … … … TBC … … … … … … … … … … In bảng điểm cá nhân Giao diện này có dạng như sau: A1 Chọn khoá: …. (sử dụng ô Combox) Chọn lớp: …. (Sử dụng ô Combox) Chọn sinh viên: ……………………(sử dụng Combox) Chức năng: Xem, In, Thoát (chức năng Xem cho phép xem report “Bảng điểm cá nhân” trên màn hình chức năng In cho phép đưa report “Bảng điểm cá nhân” ra máy in) Report “Bảng điểm cá nhân” có dạng như sau: Học viện KTQS Phòng Đào tạo Bảng điểm cá nhân Họ tên: ……………………….., Ngày sinh Loại hình đào tạo: ……………………, Ngành:…………………., Khoá học: ……….. STT Mã môn Tên môn Số ĐVHT Điểm 1 Điểm 2 Điểm 3 Ghi chú Điểm trung bình chung toàn khoá: …………. Xếp loại: ……………………….
Tài liệu liên quan