This project (“DoAnPTTK_GD2_SQL”) is a management system built for a Certification and Examination Hosting Center. It is designed to manage all aspects of certification programs and exams, including registration, scheduling, examination management, results, users, and reporting.
- Features
- Architecture & Technologies
- Data Model / Database Schema
- Requirements
- Setup and Installation
- Usage
Here are the main capabilities the system provides:
- User Management: manage different user roles (administrators, examiners, candidates, etc.)
- Exam Registration & Scheduling: candidates can register, pay fee, get scheduled, etc.
- Certification Programs Management: define types of certificates, prerequisites, validity, etc.
- Exam Management: define exam sessions, venues, invigilators, times, seat allocations.
- Result Processing & Reporting: input/check results, issue certificates.
- Security & Access Control: role-based permissions, data integrity, audit logs.
- Database: MSSQL (Relational DB) — schema defines tables for users, exams, registrations, certificates, etc.
- Backend: (If applicable) e.g. RESTful API / MVC architecture
- Frontend: (If applicable) Web UI for users
- Other: scheduling logic, perhaps batch jobs (for reminders), logging.
The database is implemented in SQL Server with the name QuanLyDangKyThi.
Below is an overview of the schema:
| Table | Description |
|---|---|
| NhanVien | Stores employees’ information: name, birthdate, address, and type (manager, receptionist, accountant, data-entry). |
| ACCOUNT | Login credentials linked 1–1 with NhanVien. |
| QuanLy | Subtype table for managers. |
| TiepNhan | Subtype table for receptionists. |
| KeToan | Subtype table for accountants. |
| NhapLieu | Subtype table for data-entry staff. |
| Table | Description |
|---|---|
| ChungChi | Certification catalog (type, name, fee). |
| PhongThi | Exam rooms available at the center. |
| LichThi | Exam schedules, referencing ChungChi and PhongThi, includes exam date, time, and venue. |
| NhanVienCoiThi | Assignment of employees to supervise specific exam sessions. |
| Table | Description |
|---|---|
| KhachHang | Customers (individuals or organizations) with personal details, ID, phone, and email. |
| PhieuDangKy | Registration form created for a customer, linked to the receptionist who processed it. |
| PhieuCaNhan | Subtype for individual registration forms. |
| PhieuDonVi | Subtype for organizational registration forms, includes number of participants, exam type, requested date, and additional requirements. |
| Table | Description |
|---|---|
| HoaDon | Invoice for each registration form, created by accountants. |
| PhieuThanhToan | Payment record specific to organizational registrations (PhieuDonVi). |
| Table | Description |
|---|---|
| ThiSinh | Candidates linked to a registration form. |
| PhieuDuThi | Exam admission ticket (exam number, schedule, score, created by manager). |
| DanhSachCho | Waiting list of candidates pending confirmation or scheduling. |
| DanhSachDKThi | Many-to-many relation between PhieuDangKy (registrations) and LichThi (exam schedules). |
| Table | Description |
|---|---|
| KetQuaChungChi | Certification results, issue date, status, customer confirmation, linked to data-entry staff and accountant. |
| PhieuGiaHan | Rescheduling form for a candidate, linking one registration form to an old exam schedule and a new one. |
- NhanVien has 1–1 relation with ACCOUNT, and subtyped into QuanLy / TiepNhan / KeToan / NhapLieu.
- KhachHang (customer) has 1–N relation with PhieuDangKy (registration forms).
- PhieuDangKy branches into PhieuCaNhan (individual) or PhieuDonVi (organization).
- PhieuDangKy has 1–N relation with ThiSinh (candidates).
- ThiSinh are linked to PhieuDuThi (exam admission tickets) → which lead to KetQuaChungChi (results).
- LichThi (exam schedules) are linked to ChungChi (certifications) and PhongThi (rooms), and supervised by NhanVienCoiThi.
- Finance is handled by HoaDon (invoice) and PhieuThanhToan (payment form for organizations).
- PhieuGiaHan links a registration to two exam schedules (old/new) for rescheduling.
- Operating System: Windows / Linux / macOS
- SQL database server (e.g. MySQL / PostgreSQL / SQL Server)
- (If applicable) Web server / Application server / Runtime (e.g. Java, .NET, Node.js, Python, etc.)
- Credentials / environment variables for DB connection
-
Clone the repository
git clone https://github.com/botbienn/DoAnPTTK_GD2_SQL.git cd DoAnPTTK_GD2_SQL -
Database Setup
- Create a new database
- Run the provided SQL scripts (schema, seed data) to create tables and initial data
-
Configuration
- Set DB connection strings / credentials
- Configure any application settings (mail server, file paths, etc.)
-
Backend / Frontend Installation (if exists)
- Install dependencies
- Build / compile if needed
- Run the server / application
-
Launch
- Start the backend
- Access through specified port / URL
- Administrator: manage exams, users, roles
- Examiner / Staff: set up exam sessions, grade exams
- Candidates: register, view schedule, view results
- Reporting: generate reports of exam pass rates, certificate issuance, etc.