Exercises: Entity Relations: 1. Student System
Exercises: Entity Relations: 1. Student System
This document defines the exercise assignments for the "Databases Advanced – EF Core" course @ Software
University.
1. Student System
Your task is to create a database for the Student System, using the EF Core Code First approach. It should look like
this:
Constraints
Your namespaces should be:
P01_StudentSystem – for your Startup class, if you have one
P01_StudentSystem.Data – for your DbContext
P01_StudentSystem.Data.Models – for your models
© SoftUni – https://softuni.org. Copyrighted document. Unauthorized copy, reproduction or use is not permitted.
Follow us: Page 1 of 4
o CourseId
o Name (up to 80 characters, unicode)
o Description (unicode, not required)
o StartDate
o EndDate
o Price
Resource:
o ResourceId
o Name (up to 50 characters, unicode)
o Url (not unicode)
o ResourceType (enum – can be Video, Presentation, Document or Other)
o CourseId
Homework:
o HomeworkId
o Content (string, linking to a file, not unicode)
o ContentType (enum – can be Application, Pdf or Zip)
o SubmissionTime
o StudentId
o CourseId
StudentCourse – mapping class between Students and Courses
Table relations:
One student can have many CourseEnrollments
One student can have many HomeworkSubmissions
One course can have many StudentsEnrolled
One course can have many Resources
One course can have many HomeworkSubmissions
You will need a constructor, accepting DbContextOptions to test your solution in Judge!
2. Football Betting
Your task is to create a database for a Football Bookmaker System, using the Code First approach. It should look like
this:
© SoftUni – https://softuni.org. Copyrighted document. Unauthorized copy, reproduction or use is not permitted.
Follow us: Page 2 of 4
Constraints
Your namespaces should be:
P03_FootballBetting – for your Startup class, if you have one
P03_FootballBetting.Data – for your DbContext
P03_FootballBetting.Data.Models – for your models
Table relationships:
A Team has one PrimaryKitColor and one SecondaryKitColor
A Color has many PrimaryKitTeams and many SecondaryKitTeams
A Team residents in one Town
A Town can host several Teams
© SoftUni – https://softuni.org. Copyrighted document. Unauthorized copy, reproduction or use is not permitted.
Follow us: Page 3 of 4
A Game has one HomeTeam and one AwayTeam and a Team can have many HomeGames and many
AwayGames
A Town can be placed in one Country and a Country can have many Towns
A Player can play for one Team and one Team can have many Players
A Player can play at one Position and one Position can be played by many Players
One Player can play in many Games and in each Game, many Players take part (both collections must be
named PlayerStatistics)
Many Bets can be placed on one Game, but a Bet can be only on one Game
Each bet for given game must have Prediction result
A Bet can be placed by only one User and one User can place many Bets
Separate the models, data and client into different layers (projects).
© SoftUni – https://softuni.org. Copyrighted document. Unauthorized copy, reproduction or use is not permitted.
Follow us: Page 4 of 4