Rhythm's gonna get you
For this project, we will model and create a database. We are starting a record label company, and we need a place to store our bands, albums, and eventually songs. You are creating a console app that stores our information in a database.
- Practice working with SQL
- Practice working with ORMs (EF Core)
Create a console that allows a user to store and manage the company's bands, albums, and (eventually) songs.
Although in reality an album could be done by more than one band, our system will just have an album involving one band. That is, an album belongs to one band.
dotnet new sdg-console -o RhythmsGonnaGetYou
Create a database that stores
Songs. They should have the following properties, use your best judgment for types. Also include the foreign keys when making your CREATE TABLE statements. HINT: You might have to create your tables in a specific order
- Track Number
A Band has many Albums and Album belongs to one Band. An Album has many Songs and a Song belongs to one Album.
Create a menu system that shows the following options to the user until they choose to quit your program
- Add a new band
- View all the bands
- Add an album for a band
- Add a song to an album
- Let a band go (update isSigned to false)
- Resign a band (update isSigned to true)
- Prompt for a band name and view all their albums
- View all albums ordered by ReleaseDate
- View all bands that are signed
- View all bands that are not signed
- Quit the program
Track the individual members of a band. Since musicians play in several different bands, create a new table called
Musiciansand make it a many to many relationships with a Band.
Add the following menu options
- View albums in a genre
- View all members of a band
- Add another entity that you feel would benefit the system. Update your ERD, tables, and user interface to support it.