Skip to content

adsapientiam/Soundgood-Music-School

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Description: Soundgood Music School

The Soundgood Music School project aims to develop a comprehensive database system to manage various aspects of the music school's operations. This includes creating conceptual, logical, and physical models of the database, implementing SQL queries for data analysis, also create a historical database to facilitate OLAP queries and developing pragmatic access for database interaction using JDBC.

Description of Learning Outcomes for Different Tasks

Task 1: Conceptual Model

  • Objective: Create a conceptual model of the Soundgood music school database, that models a mini world of its business via principles of relational databases.
  • Learning Outcome: Based on provided data from an organization, be able to convert it into a functioning Conceptual Model that correctly encapsulates its business goals and needs.

Task 2: Logical and Physical Model

  • Objective: Translate the conceptual model into a logical and physical model suitable for creating a database, integrate the database and fill it with data.
  • Learning Outcome: Create a sound database via the principles of relational databases, create a Logical/Physical model that can be imported and filled with data. Using the principles of normalisation to streamline the database to reduce redundancy and increase scalability.

Task 3: SQL

  • Objective: Develop OLAP queries and views for data analysis. Create a historical database used for analysing OLAP queries. Such queries may be used to create business reports for the company. Analyze the efficiency of a query using EXPLAIN ANALYZE in PostgreSQL.
  • Learning Outcome: Describe and explain basic concepts, principles, and theories in the area of data/databases/data storage and in information administration and database design. Write effective OLAP queries using views and to perform query analysis.

Task 4: Pragmatic Access

  • Objective: Develop pragmatic access to the database via JDBC, i.e., connecting the database to a backend environment to implement instrument rental functionalities for Soundgood's website. Implement ACID transaction handling, ensure proper database operations, and create a well-designed, properly layered architecture. Apply MVC and Layer patterns correctly to enhance readability, maintainability, and scalability of the application.

  • Learning Outcome: Understand and implement database interactions in a Java environment, handle ACID transactions, maintain proper data integrity, and design a robust architecture for database interactions. Ensure separation of concerns and avoid duplicated code by applying MVC and Layer patterns effectively.

For Task 4, specific functionalities include:

  • Listing available instruments.

  • Renting instruments with proper validation.

  • Terminating ongoing rentals with proper database management and status update.

  • Collaborations for Task 1-3 were with students Julius Larsson and Victor Naumburg.

  • Collaborations for Task 4 were with students Seema Bashir and Razan Yakoub.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published