تفاصيل العمل

This project presents a comprehensive relational database schema for a university management system. The schema includes tables to track professors, students, courses, registrations, exams, and other academic activities. Below is a detailed description of each component:

Core Tables

1. Professors Table

Purpose: Stores information about faculty members

Structure:

id: Unique identifier (primary key)

name: Professor's full name (up to 100 characters)

department: Academic department affiliation (up to 100 characters)

2. Students Table

Purpose: Maintains student records

Structure:

id: Unique identifier (primary key)

name: Student's full name (up to 100 characters)

academic_status: Enrollment status with check constraint (only 'active' or 'suspended' allowed)

total_credits: Accumulated credit hours

3. Courses Table

Purpose: Catalog of all offered courses

Structure:

id: Unique identifier (primary key)

name: Course title (up to 100 characters)

professor_id: Foreign key linking to Professors table

credit_hours: Number of credits the course carries

prerequisite_course_id: Self-referential foreign key for course prerequisites

Constraints:

fk_professor: Ensures course instructor exists in Professors table

fk_prerequisite: Enforces valid prerequisite relationships

Relationship Tables

4. Register Table

Purpose: Manages the many-to-many relationship between students and courses (enrollments)

Structure:

id: Unique registration identifier (primary key)

student_id: Foreign key to Students table

course_id: Foreign key to Courses table

Constraints:

fk_student: Ensures only registered students can enroll

fk_course: Ensures enrollment only in existing courses

Assessment Tables

5. Exams Table

Purpose: Tracks examination schedules

Structure:

id: Unique exam identifier (primary key)

course_id: Foreign key to Courses table

exam_date: Date of examination

exam_type: Description of exam type (midterm, final, etc.)

Constraint:

fk_exam_course: Ensures exams are for valid courses

6. ExamResults Table

Purpose: Records student performance in exams

Structure:

id: Unique result identifier (primary key)

registration_id: Foreign key to Register table (linking student+course)

grade: Letter grade with check constraint (A, B, C, D, or F)

status: Pass/fail status with check constraint

Constraint:

fk_registration: Ensures results are tied to valid enrollments

Administrative Tables

7. AuditTrail Table

Purpose: Logs changes to database for security and compliance

Structure:

id: Unique log entry identifier (primary key)

table_name: Name of modified table

operation: Type of operation (insert, update, delete)

old_data: Snapshot of data before change

new_data: Snapshot of data after change

timestamp: Automatic timestamp of when change occurred

8. Warnings Table

Purpose: Records disciplinary or academic warnings for students

Structure:

id: Unique warning identifier (primary key)

student_id: Foreign key to Students table

warning_reason: Description of warning (up to 255 characters)

warning_date: Date warning was issued

Constraint:

fk_warning_student: Ensures warnings are for valid students

Key Features of the Database Design

Referential Integrity: Comprehensive foreign key constraints maintain data consistency

Data Validation: Check constraints enforce domain rules (grades, statuses)

Academic Relationships:

Tracks course prerequisites (self-referential relationship)

Manages student enrollments (many-to-many via Register table)

Links exams to courses and results to enrollments

Administrative Functions:

Audit trail for change tracking

Warning system for student management

Scalability: Design supports adding more entities (like departments, classrooms) as needed

This schema provides a solid foundation for a university information system, supporting core academic operations while maintaining data integrity and enabling administrative oversight.

ملفات مرفقة

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
50
تاريخ الإضافة
تاريخ الإنجاز
المهارات