Build a SQL database for a university that manages students, courses, professors, and grades.
The project needs to contain the following technical features:
- Build a database with the following tables: Students, Courses, Professors, Grades.
- Foreign key relationships between the tables.
- Create a script that populates all of the database tables with sample data.
- SQL query scripts for:
- The average grade that is given by each professor.
- The top grades for each student.
- Sort students by the courses that they are enrolled in.
- Create a summary report of courses and their average grades, sorted by the most challenging course (course with the lowest average grade) to the easiest course.
- Finding which student and professor have the most courses in common.