Interactive relational database design and SQL analytics system developed using:
MySQL · ER Modeling · SQL Queries · Database Normalization · Relational Schema · Interactive Dashboard
Bachelor of Engineering — ICT Robotics
Häme University of Applied Sciences (HAMK), Finland
This project demonstrates a complete Student Course Registration Database Management System designed for academic administration, enrollment management, and relational database learning.
The system was developed as part of the:
The project simulates a university registration environment where:
- Students register for courses
- Instructors manage course sections
- Departments offer academic programs
- Enrollment records store grades and semesters
- SQL queries generate reports and analytics
- Relational constraints maintain data integrity
The system provides a complete workflow for studying:
- Entity–Relationship (ER) modeling
- Relational schema design
- SQL DDL and DML operations
- Primary and foreign key relationships
- Database normalization
- Aggregate SQL queries
- JOIN operations
- Referential integrity
- Academic database systems
- Interactive SQL visualization
The application allows users to:
✅ Design relational database schemas
✅ Visualize ER diagrams and relationships
✅ Execute SQL queries interactively
✅ Analyze student enrollments and transcripts
✅ Study normalization from 1NF → 3NF
✅ Explore JOIN and aggregation operations
✅ Understand associative and weak entities
✅ Simulate real university registration systems
✅ Monitor relational constraints and dependencies
✅ Study practical database implementation concepts
The project combines:
- MySQL 8.0
- SQL
- JavaScript
- HTML5
- CSS3
- Chart.js
- Interactive dashboard systems
into a complete educational database engineering environment.
The main objectives of this project were:
- Understand relational database design
- Implement ER modeling techniques
- Design normalized database schemas
- Develop SQL DDL and DML operations
- Study referential integrity constraints
- Implement real-world academic database systems
- Practice SQL JOIN and aggregation queries
- Build interactive SQL visualization interfaces
- Understand weak and associative entities
- Apply normalization principles
- Create database reporting systems
- Simulate practical student registration workflows
University Data
│
▼
ER Modeling
│
▼
Relational Schema Design
│
▼
Normalization (1NF → 3NF)
│
▼
MySQL Database Implementation
│
▼
DDL Table Creation
│
▼
DML Data Insertion
│
▼
SQL Query Processing
│
▼
Interactive Dashboard & Reports
| Feature | Description |
|---|---|
| ER Diagram Modeling | Crow’s Foot entity–relationship visualization |
| Relational Schema Design | Primary key and foreign key relationships |
| Interactive SQL Console | Simulated SQL query execution environment |
| Database Normalization | Full 1NF → 3NF normalization proof |
| DDL & DML Operations | CREATE, INSERT, UPDATE, DELETE examples |
| JOIN Query Analysis | Multi-table relational query demonstrations |
| Aggregate SQL Queries | GROUP BY, HAVING, AVG, COUNT operations |
| Student Transcript Reports | Real-world reporting system |
| Enrollment Analytics | Course registration summary generation |
| Constraint Validation | UNIQUE, CHECK, CASCADE operations |
| Interactive Dashboard UI | Real-time schema and SQL visualization |
| MySQL Relational System | Practical academic database implementation |
The system models a simplified university registration environment.
| ER Diagram | Relational Schema |
|---|---|
![]() |
![]() |
| Student Table Data | Enrollment Table Data |
|---|---|
![]() |
![]() |
| SQL Query Operations | Reports & Analytics |
|---|---|
![]() |
![]() |
| Entity | Description |
|---|---|
| STUDENT | Stores student information |
| INSTRUCTOR | Stores instructor and department data |
| DEPARTMENT | Represents academic departments |
| COURSE | Represents university courses |
| SECTION | Course offerings per semester |
| ENROLLMENT | Links students to course sections |
| STUDENT_PHONE | Handles multiple phone numbers |
The project implements multiple real-world database relationships:
| Relationship | Type |
|---|---|
| DEPARTMENT → COURSE | 1:N |
| DEPARTMENT → INSTRUCTOR | 1:N |
| COURSE → SECTION | 1:N |
| INSTRUCTOR → SECTION | 1:N |
| STUDENT → ENROLLMENT | M:N |
| STUDENT → STUDENT_PHONE | 1:N |
The database schema was modeled using:
The design includes:
- Strong entities
- Weak entities
- Associative entities
- Multivalued attributes
- Derived attributes
- Referential integrity constraints
The project implements:
as a weak entity identified by:
(CourseID + SectionNo)
This mirrors real academic scheduling systems where multiple sections belong to one course.
The:
table acts as an associative entity connecting:
STUDENT ↔ SECTION
while storing:
- Enrollment date
- Grade
- Status
- Semester information
The relational schema maintains strict integrity using:
- Primary Keys (PK)
- Foreign Keys (FK)
- Composite Keys
- UNIQUE constraints
- CHECK constraints
- Cascading updates/deletes
CREATE TABLE students (
StudentID INT PRIMARY KEY,
Name VARCHAR(100) NOT NULL,
Email VARCHAR(100) UNIQUE NOT NULL,
Major VARCHAR(50),
Year VARCHAR(20)
);The project demonstrates advanced composite key implementation.
PK(SECTION) = (CourseID, SectionNo)
PK(ENROLLMENT) =
(StudentID, CourseID, SectionNo)
This prevents duplicate registrations for the same course section.
The project applies complete normalization principles.
The database removes:
- Repeating groups
- Multi-valued fields
- Non-atomic values
Example:
Student phone numbers moved into STUDENT_PHONE table
The schema removes:
Partial dependencies
All non-key attributes depend on the entire primary key.
The database removes:
Transitive dependencies
Instructor and course information are separated into dedicated tables.
Derived attributes such as GPA are not stored directly.
The project implements strong relational integrity constraints.
| Constraint | Purpose |
|---|---|
| PRIMARY KEY | Unique row identification |
| FOREIGN KEY | Relationship enforcement |
| UNIQUE | Prevent duplicate emails |
| CHECK | Validate course credits |
| NOT NULL | Mandatory field validation |
| ON DELETE CASCADE | Automatic dependency cleanup |
| ON UPDATE CASCADE | Relationship synchronization |
The system demonstrates practical SQL operations.
| Query Type | Purpose |
|---|---|
| SELECT | Retrieve records |
| WHERE | Conditional filtering |
| ORDER BY | Sorting |
| JOIN | Multi-table queries |
| GROUP BY | Aggregation |
| HAVING | Aggregate filtering |
| AVG / COUNT | Statistical queries |
| UPDATE | Data modification |
| DELETE | Record removal |
| Subqueries | Nested query logic |
SELECT
s.Name AS StudentName,
c.CourseName,
i.Name AS Instructor,
e.Semester,
e.Grade
FROM Students s
JOIN Enrollment e
ON s.StudentID = e.StudentID
JOIN Courses c
ON e.CourseID = c.CourseID
JOIN Instructors i
ON c.InstructorID = i.InstructorID;SELECT
c.CourseName,
COUNT(e.StudentID) AS Total_Students
FROM Courses c
LEFT JOIN Enrollment e
ON c.CourseID = e.CourseID
GROUP BY c.CourseName;The project demonstrates SQL aggregate computation:
ROUND(AVG(
CASE Grade
WHEN 'A' THEN 4.0
WHEN 'A-' THEN 3.7
WHEN 'B+' THEN 3.3
WHEN 'B' THEN 3.0
END
), 2)for calculating average GPA per course.
The system includes real-world reporting examples.
Displays:
- Student name
- Course information
- Instructor
- Semester
- Grade
Displays:
- Course names
- Total enrolled students
- Instructor assignments
- Enrollment statistics
The project includes an interactive visualization interface built using:
- HTML5
- CSS3
- JavaScript
- Canvas API
- Chart.js
The dashboard provides:
✅ Interactive SQL console
✅ ER diagram rendering
✅ Schema visualization
✅ Database statistics
✅ Query execution simulation
✅ Relational analytics panels
✅ SQL report previews
✅ Real-time database interaction
The project demonstrates complete database workflows including:
- Database creation
- Table creation
- Data insertion
- Data retrieval
- Multi-table joins
- Aggregation
- Nested queries
- Referential updates
- Record deletion
- Constraint validation
The project combines multiple database engineering concepts including:
- Relational Databases
- ER Modeling
- Crow’s Foot Notation
- SQL Programming
- Normalization
- Primary & Foreign Keys
- Weak Entities
- Associative Entities
- Referential Integrity
- Aggregate Queries
- Relational Algebra
- Database Constraints
- Schema Design
- Academic Information Systems
| Concept | Application |
|---|---|
| Relational Modeling | ER schema development |
| Data Integrity | Constraint enforcement |
| SQL Programming | Query execution |
| Database Engineering | Schema normalization |
| Information Systems | Academic registration system |
| Visualization | Interactive dashboard rendering |
| System Design | Relational architecture |
| Data Analytics | Enrollment reporting |
This type of database system is commonly used in:
- University registration systems
- Academic management platforms
- Student information systems
- Enrollment analytics platforms
- Educational ERP systems
- Learning management systems
- Course scheduling platforms
- Institutional reporting systems
- Database Design
- ER Modeling
- Relational Schema
- SQL
- MySQL
- Database Normalization
- DDL & DML
- JOIN Operations
- Aggregate Queries
- Referential Integrity
- Crow’s Foot Notation
- Student Registration Systems
- Interactive SQL Dashboards
- Relational Databases
This project helped develop practical skills in:
✅ Relational database design
✅ ER diagram development
✅ SQL DDL & DML operations
✅ Database normalization
✅ Composite key implementation
✅ Referential integrity enforcement
✅ SQL JOIN operations
✅ Aggregate query development
✅ Interactive dashboard systems
✅ Academic database modeling
✅ MySQL database implementation
✅ Database reporting systems
Potential future developments include:
- Full backend database connectivity
- Real-time MySQL server integration
- Authentication system
- Student login portal
- Course prerequisite system
- GPA automation
- REST API integration
- Stored procedures and triggers
- Advanced analytics dashboards
- Cloud-hosted database systems
- Transaction management
- Role-based access control
- Web-based registration portal
- Real-time enrollment validation
Course: Database Design & Programming
Programme: BEng ICT & Robotics, HAMK University of Applied Sciences
Database Engine: MySQL 8.0.43
Project Type: Team Project — Team No. 7
Topics covered: ER modeling, relational schema design, normalization, SQL programming, referential integrity, database implementation. :contentReference[oaicite:0]{index=0}
Bachelor of Engineering — ICT Robotics
Häme University of Applied Sciences (HAMK)
Finland
Portfolio · LinkedIn · GitHub
.png)
.png)
.png)
.png)
.png)
.png)