0% found this document useful (0 votes)
6 views

Advanced Database System Project 1

The project aims to design and implement an advanced database system using SQL, focusing on data management, security, and automation within a chosen domain. Key components include schema design, role-based access control, stored procedures, triggers, and a user interface. The project emphasizes practical applications such as access control, audit logging, and backup strategies, with a deadline of February 28, 2025, for submission.

Uploaded by

meshablinx38
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Advanced Database System Project 1

The project aims to design and implement an advanced database system using SQL, focusing on data management, security, and automation within a chosen domain. Key components include schema design, role-based access control, stored procedures, triggers, and a user interface. The project emphasizes practical applications such as access control, audit logging, and backup strategies, with a deadline of February 28, 2025, for submission.

Uploaded by

meshablinx38
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Advanced Database System

Project 1
(Individual Project)
Objective: The objective of this project is to design and implement a robust advanced
database system that efficiently manages data and operations within a chosen domain.
Students will apply SQL concepts such as schema design, access control, stored
procedures, triggers, functions, and conditional logic to ensure data integrity, security,
and automation. Additionally, the project will integrate role-based access control (RBAC)
and a user interface (UI) to facilitate seamless interaction with the database while
demonstrating security measures such as privilege management, audit logging, and
backup strategies

Important timelines

Deadline: 28th February 2025

Presentation and demonstration: 1st March -14th March 2025.

Project Questions

Design and implement a comprehensive database system using SQL for a domain of your
choice. Your task is to create a database that effectively manages the data and
operations relevant to your chosen domain. The project should include the following
components:

Domains:
Choose a domain or industry that interests you or aligns with your career aspirations.
Examples include healthcare, finance, retail, education, transportation, entertainment,
etc.

NB: The name of all tables, triggers, store procedures, functions, etc. should end with
Students’ unique code in the Index number

Section A: Database Setup


1. Create a database schema for a with at least five tables.
• Primary keys and foreign keys to establish relationships.
• Sample data insertion for testing (At least five).
✓ Explanation of why the selected tables and relationships are necessary.
2. Define different user roles (e.g., Admin, Staff, Student/Customer, Guest).
Explain:
• The permissions granted to each role.
• Restrictions applied to sensitive data.

Section B: Implementing Access Control

3. GRANT Command
• Provide SQL statements to:
• Grant SELECT, INSERT, and UPDATE privileges to a specific role or user.
• Allow a user to grant permission to others (WITH GRANT OPTION).
✓ Justify why certain permissions were granted.
4. REVOKE Command
o Demonstrate how to remove privileges from a user or role.
o Show an example of how revoking privileges affects data access.
5. Role-Based Access Control (RBAC)
• Create three roles (e.g., Admin, Manager, Employee).
• Assign appropriate privileges to each role.
✓ Show how a user can be assigned or removed from a role.

Section C: Implementing Stored Procedures, Triggers, Functions, and Conditional


Logic
6. Stored Procedures
• Create a stored procedure that performs a critical task (e.g., registering a
new student, processing a payment, or updating inventory).
• The stored procedure should accept parameters and return relevant data.
✓ Show how to execute the stored procedure.
7. Triggers
• Create a trigger that automatically updates or inserts data when an event
occurs (e.g., logging a user’s last login, updating stock after a purchase,
or preventing invalid data entry).
✓ Explain why this trigger is necessary.
8. Functions
• Create an SQL functions to calculates a specific value and output tables
✓ Explain how this function can be reused in different queries.
9. IF-ELSE Statements
• Write an IF-ELSE SQL block that performs a decision-based operation
(e.g., checking if a student is eligible for graduation, determining if an
employee is due for a promotion, or applying discounts based on customer
purchase history).
✓ Show examples of execution with different input values.

Section D: Security and Testing

10. Simulating Unauthorized Access


• Attempt to perform actions that a restricted user should not have access
to.
• Explain how access control prevents unauthorized modifications.
11. Audit and Logging
• Implement a simple logging mechanism to track changes made by users.
• Provide SQL queries that retrieve logs of user activities.
12. Backup and Recovery
• Provide a SQL script that backs up and restores your database.
• Discuss the importance of regular backups in access control.

Section E: User Interface (UI) Development

10. Develop a simple UI that interacts with the database.


• Use Python (Tkinter, Flask), Java (Swing, JavaFX), or Web (HTML,
JavaScript, PHP).
• UI should allow login, data entry, updates, and queries.
11. Show how different users interact with the UI (e.g., Admin vs. Student).
12. Demonstrate role-based restrictions through UI interactions

Conclusion

Through this project, students will design, implement, and secure a functional database
system tailored to a chosen domain. They will apply advanced database concepts such
as role-based access control, stored procedures, triggers, functions, and conditional
logic to enhance security and automation. Additionally, developing a user interface will
enable real-world interaction with the database. By testing access control, audit logging,
and backup strategies, students will gain hands-on experience in building secure,
efficient, and scalable database systems for future applications.

You might also like