Microsoft Access là hệ quản trị cơ sở trên môi trường Windows trong đó có sẵn các công cụ hữu hiệu và tiện lợi để tự động sản sinh chương trình cho hầu hết các bài toán thường gặp trong quản lý, thống kê, kế toán. Các đối tượng chính trong cơ sở dữ liệu Access là bảng, truy vấn, biểu mẫu, báo cáo, các macro và module.
1.Bảng (Table)
Là nơi chứa dữ liệu của một đối tượng nào đó như sản phẩm và nhà cung cấp. Mỗi bảng chứa thông tin về một chủ thể xác định. Bảng tổ chức thành các cột (các trường) và các hàng (các bản ghi). Mỗi trường trong bảng chứa các thông tin khác nhau chẳng hạn như bảng “biên bản” chứa thông tin về khách hàn như : “họ tên”, “địa chỉ”, “số điện thoại”. Mỗi bảng chứa thông tin đầy đủ, chi tiết về một sản phẩm. Thông thường một trường thường liên quan đến hai bảng đó người ta có thể lấy dữ liệu giữa hai bảng này để view, sửa, xóa. Khi tạo bảng thường có một hoặc nhiều trường được chọn là khóa chính để xác định duy nhất một bản ghi. Điều này giúp :
- Tự động tạo chỉ mục (Index) trên khóa nhằm tăng tốc độ truy vấn và các thao tác khác
- Khi nhập dữ liệu sẽ kiểm tra sự trùng lặp trên khóa chính - Dùng khóa chính để tạo sự liên kết
- Để hiện cửa sổ nhập liệu, ta chọn chứa năng Datasheet View - Để hiện cửa sổ thiết kế, ta chọn chứa năng Design View
2. Truy vấn (Query)
Là công cụ mạnh của Access dùng để tổng hợp, sắp xếp tìm kiếm dữ liệu. Trong Access có thể tạo các truy vấn bằng phương pháp viết lệnh SQL. Loại thông dụng nhất là Select query (Truy vấn chọn) với các khả năng:
- Chọn bảng, query khác làm nguồn dữ liệu - Chọn các trường hiển thị
- Thêm các trường mới là kết quả thực hiện các phép tính trên các trường của bảng nguồn
- Đưa vào các điều kiện tìm kiếm, lựa chọn - Đưa vào các trường dùng để sắp xếp
Khi muốn thay đổi định ngiã của một truy vấn ở chế độ Design, muốn nhập dữ liệu ta mở truy vấn ở chế độ Datasheet.
3. Mẫu biểu
Là công cụ mạnh của Access dùng để thể hiện, cập nhật dữ liệu cho các bảng và tổ chứa giao diện chương trình, mẫu biểu gồm các ô điều khiển thuộc các thể loại, công cụ khác nhau.
Nguồn dữ liệu của mẫu biểu là bảng hoặc một truy vấn. Khi nguồn dữ liệu, mẫu biểu dùng để thể hiện và cập nhật dữ liệu cho các trường nguồn. Mẫu biểu không có nguồn dữ liệu (Unbound) thường được dùng để tổ chức giao diện chương trình. Cũng có thể thiết kế một kiểu mẫu để chạy một Macro hay một Module để đáp ứng một sự kiện nào đó.
Khi muốn thay đổi thiết kế của mẫu biểu ta mở nó ở chế độ Design. Ở chế độ này, hộp Toolbox là công cụ để tạo, thiết kế mẫu biểu.
Mẫu biểu thường có 5 thành phần :
- Đầu và cuối báo biểu (Form header/ Footer) : Không quan trọng như Report header/ Footer nhưng cũng được dùng trong thiết kế form:
+ Header để chứa các tiêu đề
+ Footer dùng chứa các nút lệnh thao tác trên bản ghi hoặc các dòng tổng cộng
- Đầu và cuối trang (Page header/ Footer): Là ít quan trọng nhất vì nó chỉ liên quan đến hình ảnh của Form khi in ra giấy. Đó là tiêu đề đầu và cuối mỗi trang được dùng để xác định hoặc ngắt bằng dấu hiệu ngắt ngang.
- Thân (Detail): Phần quan trọng nhất của Form. Với những Form có dữ liệu, đây chính là phần lặp lại mỗi bản ghi. Do vậy muốn dữ liệu được hiển thị như những phiếu nhập dữ liệu, dàn dọc các điều khiển trong phần Detail. Muốn dữ liệu được hiển thị dưới dạng bảng, dàn ngang các điều khiển trong phần Detail.
Riêng với Form dạng Datasheet chỉ cần kéo đủ các điều khiển vào Detail không cần quan tâm đến vị trí.
4. Báo biểu (Report)
Là đối tượng được thiết kế để quy định cách tính toán, in và tổng hợp các dữ liệu đã được chọn. Báo biểu dùng để:
- Thể hiện thông tin chính của bảng/ truy vấn - In dữ liệu dưới dạng bảng biểu
- Sắp xếp dữ liệu trước khi in
- Sắp xếp các phân nhóm dữ liệu. Thực hiện các phép tính để có dữ liệu tổng hợp trên các nhóm. So sánh, đối chiếu dữ liệu tổng hợp của các nhóm với nhau.
Để thiết kế hay thay đổi cấu trúc của một báo biểu ta mở màn hình ở chế độ Design, còn để xem hình ảnh với kích thước và dữ liệu thật của nó ta mở màn hình ở chế độ Print Preview.
- Detail: Lặp lại theo từng bộ phận
- Page Header/ Footer: Lặp lại mỗi trang một lần, phần này thường chứa số trang, ngày, tháng lập báo biểu.
- Report Header/ Footer: Mỗi báo biểu lặp lại một lần. Phần này chứa các tiêu đề chung của một báo cáo và các dòng tổng cộng
Ngoài ra các báo cáo có phân nhóm còn chứa Group Header/ Footer dùng làm tiêu đề và các dòng tổng cộng cho từng nhóm trong báo cáo.
5. Lệnh vĩ mô (Macro)
Là một đoạn chương trình, gồm một dãy các hành động hóa các thao tác và tổ chức giao diện chương trình.
Macro là hình thức lập trình đơn giản, nó làm cho các đối tượng chủ yếu trong Access gắn kết với nhau, tuy nhiên lập trình bằng Macro không được linh hoạt lắm.
Macro thường được gắn với các nút lệnh hoặc dùng để tạo menu chính trong chương trình. Macro cũng được đưa vào các sự kiện gắn với các đối tượng cơ sở dữ liệu như Form, Report.
Cấu trúc một hành động gồm: Tên hành động (Action) và các tham số. Khi Macro được kích hoạt bằng thao tác thì xử lý các dữ liệu trong báo cáo và mẫu biểu sẽ trở nên đơn giản hơn nhiều.
6. Đơn thể chương trình (Module)
Là phương tiện lập trình trong Access với ngôn ngữ lập trình Access Basic. Mã Access VBA cho phép điều khiển theo lập trình nhiều công việc và tùy chọn cơ sở dữ liệu mà bằng Macro không thể điều khiển được.
CHƯƠNG IV:
THIẾT KẾ HỆ THIẾT KẾ QUẢN LÝ TRƯỜNG HỌC I. THIẾT KẾ CƠ SỞ DỮ LIỆU
1. Bảng (Table)
1.1. Các bảng trong bài tập
Mỗi thực thể liên kết trong mô hình quan hệ sẽ là một bảng: - Bảng học sinh - Bảng điểm - Bảng giáo viên - Bảng môn học - Bảng lớp 1.2. Chi tiết các bảng 1.2.1 Bảng học sinh:
Chứa các thông tin về học sinh, trường MAHS làm khoá chính để liên kết với các bảng khác.
Tên trường Kiểu dữ liệu Kích thước Mô tả
Mahs Text 8 Mã học sinh
Tenhocsinh Text 50 Tên học sinh
Malop Text 8 Mã lớp
Gioitinh Yes/no Giới tính
Ngaysinh Date/time Ngày sinh
Diachi Text 50 Địa chỉ
Dienchinhsach Yes/no Diện chính sách
Chú thích: - Giới tính mặc định là Nam đánh dấu tích(v), nữ thì không. - Học sinh là diện chính sách cũng đánh dấu tích(v)
1.2.2 Bảng điểm:
Chứa thông tin về các thành phần điểm của từng học sinh ứng với từng môn học. Gồm các trường sau:
Tên trường Kiểu dữ liệu Kích thước Mô tả
Mahs Text 8 Mã học sinh
Mamon Text 8 Mã môn
Dmiengk1 Number Byte Điểm miệng kì 1
D15k1 Number Byte Điểm 15 phút kì 1
D45k1/1 Number Byte Điểm 45 phút kì 1 hệ số 1
D45k1/2 Number Byte Điểm 45 phút kì 1 hệ số 2
Dhk1 Number Byte Điểm thi học kì 1
Dmiengk2 Number Byte Điểm miệng học kì 2
D15k2 Number Byte Điểm 15 phút học kì 2
D45k2/1 Number Byte Điểm 45 phút kì 2 hệ số 1
D45k2/2 Number Byte Điểm 45 phút kì 2 hệ số 2
Dhk2 Number Byte Điểm thi học kì 2
1.3 Bảng giáo viên:
Tên bảng là giáo viên, chứa thông tin về giáo viên giảng dạy của trường với trường. Với trường MAGV là khoá chính và gồm các trường sau:
Tên trường Kiểu dữ liệu Kích thước Mô tả
Magv Text 8 Mã giáo viên
Tengv Text 50 Tên giáo viên
Diachi Text 50 Địa chỉ
Ngaysinh Yes/no Ngày sinh
Mamon Date/time Mã môn
Gioitinh Yes/no Giới tính
Trong thực tế bảng được thiết kế như sau :
Chứa các thông tin về môn học trong đó khoá chính là trường mã môn học. Gồm các trường sau:
Tên trường Kiểu dữ liệu Kích thước Mô tả
Mamon Text 8 Mã môn học
Tenmon Text 50 Tên môn học
Hesomon Number Hệ số môn
Trong thực tế bảng được thiết kế như sau:
1.3.2 Bảng lớp:
Chứa các thông tin về lớp học trong đó khoá chính là trường mã lớp. Gồm các trường sau:
Tên trường Kiểu dữ liệu kích thước Mô tả
Malop Text 8 Mã lớp
Tenlop Text 50 Tên lớp
Khoi number Byte Khối
Magv Text 8 Mã giáo viên
Trong thực tế bảng được thiết kế như sau:
2. Liên kết các bảng (Relationships) Thiết kế quan hệ cho các bảng:
Bảng học sinh và bảng điểm: - Liên kết với nhau bằng mã học sinh
- Đánh dấu chọn Enforce Referential Integrity (Toàn vẹn tham chiếu để toàn vẹn dữ liệu).
- Chọn Casecade Update Related Field: Để cho phép ta sửa giá trị khoá chính của mẫu tin trong bảng bên một của quan hệ, Access sẽ tự động cập nhật sự thay đổi đó vào các trường tương ứng (có quan hệ ) trên các bảng bên nhiều của quan hệ.
- Chọn Casecade Delete Related Records: Khi xoá mẩu tin của bảng có trường là khoá thì những trường tương ứng ở trong bảng quan hệ kia cũng tự động xoá theo.
Tương tự các bảng khác cũng vậy:
Bảng môn học và bảng điểm:
- Liên kết với nhau bằng mã môn
Bảng môn học và bảng giáo viên:
- Liên kết với nhau bằng trường mã môn
Bảng lớp và bảng học sinh:
- Liên kết với nhau bằng trường mã lớp
Bảng lớp với bảng giáo viên:
- Liên kết với nhau bằng trường mã giáo viên:
Mối quan hệ giữa các bảng
Mối quan hệ giữa bảng học sinh, bảng điểm, bảng môn học, bảng giáo viên và bảng lớp là:
II. THIẾT KẾ GIAO DIỆN CHO CHƯƠNG TRÌNH
Tổng quan:
- Chương trình thiết kế gồm một form chính và nhiều form phụ (form thành phần), các form phụ (form thành phần) được nằm trong form chính để tạo nên giao diện của chương trình.
- Trên form chính có các menu của chương trình nhằm đáp ứng mọi yêu cầu của chương trình khi ta có nhu cầu xem một vấn đề cụ thể về giao diện hoặc tìm kiếm thông tin bạn chỉ cần nhấn vào thanh menu mà bạn cần tìm.
- Trên các form phụ (form thành phần) vẫn có một hệ thống menu để các bạn tiện quan sát, trong đó cũng có các nút lệnh mô tả quá trình hoạt động của từng form phụ (form thành phần) riêng lẻ.
1.Thiết kế các form cho chương trình
Màn hình của chương trình
Khi kích chuột vào nút “ ĐĂNG NHÂP ”thì toàn bộ chương trinh quản lý điểm học sinh phổ thông sẽ hiện ra. Mở đầu là FORM CHINH của chương trình
1.1: Cập nhật thông tin
Khi ta kích chuột vào nút: CẬP NHẬT THÔNG TIN trên màn hình sẽ xuất hiện from “CẬP NHẬT THÔNG TIN” có dạng như sau:
1.1.1: Cập nhật thông tin học sinh
Khi ta kích vào nút “Cập nhật thông tin học sinh” trên màn hình sẽ xuất hiện main/ subform của bảng học sinh chứa các thông tin của học sinh cùng với bảng điểm query
1.1.2: Cập nhật thông tin giáo viên
Khi ta kích vào nút “CẬP NHẬT THÔNG TIN GIÁO VIÊN” trên màn hình sẽ xuất hiện main/ subform của bảng giáo viên chứa các thông tin của giáo viên cùng với bảng môn học
1.1.3: Cập nhật điểm
Khi ta kích chuột vào nút cập nhật điểm thì sẽ hiển thị 1 form cập nhật để thực hiện chức năng này
1.2: Tra cứu và tìm kiếm thông tin
Khi ta kích chuột vào nút: TRA CỨU THÔNG TIN trên màn hình sẽ xuất hiện from “F_TK” có dạng như sau:
1.2.1: Tìm kiếm theo tên giáo viên
Khi ta kích vào nút “TÌM KIẾM THEO TÊN GIÁO VIÊN” trên màn hình sẽ xuất hiện from “Enter Parameter Value” với yêu cầu “Nhập tên giáo viên” như sau:
Khi ta nhập tên giáo viên ví dụ HÀ sau đó chọn OK trên màn hình sẽ xuất hiện kết quả tìm kiếm những giáo viên có tên là HÀ trong danh sach và hiển thị ra màn hình như sau:
1.2.2: Tìm kiếm theo tên môn
Khi ta kích vào nút “TÌM KIẾM THEO TÊN MÔN ” trên màn hình sẽ xuất hiện from “Enter Parameter Value” với yêu cầu “Nhập tên môn ” như sau:
Khi ta nhập tên môn ví dụ như TOÁN sau đó chọn OK trên màn hình sẽ xuất hiện kết quả tìm kiếm đưa ra những học sinh có điểm môn toán từ các điểm thành phần đến các điểm tổng kết của môn học này như sau:
Form này được thiết kế dựa trên bảng query :
1.2.3: Tìm kiếm theo tên học sinh
Khi ta kích vào nút “TÌM KIẾM THEO TÊN HS” trên màn hình sẽ xuất hiện from “Enter Parameter Value” với yêu cầu “Nhập tên HS” như sau:
Khi ta nhập tên môn ví dụ như ANH sau đó chọn OK trên màn hình sẽ xuất hiện kết quả tìm kiếm những học sinh có tên là ANH và những điểm thành phần của học sinh đó ra màn hình như sau :
Form này được thiết kế dựa trên bảng query :
1.2.4: Tra cứu điểm kỳ 1
Khi ta kích vào nút “ tra cứu điểm học kì 1” trên màn hình sẽ xuất hiện from “Enter Parameter Value” với yêu cầu “Nhập mahs muốn tìm” như sau:
Khi ta nhập Mã học sinh ví dụ mã học sinh là 001 sau đó chọn OK trên màn hình sẽ xuất hiện kết quả tìm kiếm những thông tin về điểm các môn của học sinh này và kết quả, tra cứu như sau:
1.2.5: Tra cứu điểm kỳ 2
Khi ta kích vào nút “ tra cứu điểm học kì 2” trên màn hình sẽ xuất hiện from “Enter Parameter Value” với yêu cầu “Nhập mahs” như sau:
Khi ta nhập Mã học sinh ví dụ mã học sinh là 001 sau đó chọn OK trên màn hình sẽ xuất hiện kết quả tìm kiếm , tra cứu như sau:
Bảng query được thiết kế như sau :
1.2.6: Tra cứu điểm tổng kết
Khi ta kích vào nút “ tra cứu điểm tổng kết ” trên màn hình sẽ xuất hiện from “Enter Parameter Value” với yêu cầu “Nhập tên lớp” và “nhập tên môn muốn xem ” có học sinh cần tra cứu.
Khi ta nhập tên môn và tên lớp ví dụ như chọn tên lớp là 11A1 và tên môn là TOAN sau đó chọn OK trên màn hình sẽ xuất hiện những thông tin về những học sinh của lớp đó cùng với các điểm tổng kết kết quả tra cứu như sau:
Bảng điểm tổng kết được thiết kế như sau:
1.3: Báo cáo thông tin
Khi ta kích chuôt vào nút: BÁO CÁO THÔNG TIN trên màn hình sẽ xuất hiện from “Báo cáo” có dạng như sau:
1.3.1: Báo cáo danh sách học sinh
Khi ta kích vào nút “báo cáo danh sách học sinh ” trên màn hình xuất hiện danh sách học sinh hiện thời của trường học , cùng với những thông tin cá nhân của từng học sinh như sau :
1.3.2: Báo cáo điểm kỳ 1
Khi ta kích vào nút “báo cáo điểm kì 1 ” trên màn hình xuất hiện danh sách học sinh với bảng điểm của học kì 1 như sau:
1.3.3: Báo cáo điểm kỳ 2
Khi ta kích vào nút “báo cáo điểm kì 2 ” trên màn hình xuất hiện danh