Consider a relational table that stores the following information:
(student_id, student_name, department_id, department_name, course_id, course_title, semester, course_credit, course_professor_name, course_professor_id, student_advisor_name, student_advisor_id, course_grade, semester_GPA)
Suppose the data has the following properties:
a) Identify the functional dependencies among the attributes in the relation. State any additional assumptions you make about the data.
b) Identify the primary key in the table
c) Using the functional dependencies and the primary key identified above, illustrate the process of converting the table from 1NF to 3NF. Identify the primary keys and foreign keys in all your tables.
d) Illustrate your database schema using an ER model. Ensure that the multiplicity constraints are properly illustrated.
Consider the following database schema for projects in a class:
Student contains a row for each student with unique id sid, name name, department dept, and the team they are assigned to tid. Relation Project contains the unique id for each project pid and the topic area the students will be working on. Team contains the unique id of each team tid, the sid of the leader of the team team_lead, the project the team is working on pid, and the date the team will present their findings to the class date. The primary keys are underlined.
Assume the following hold true:
a) Design an ER model to illustrate the relationship between the relations and their attributes. Clearly illustrate the multiplicity constraints in the model.
b) Explain the cardinality, participation and disjoint constraints that exists in the model. In answering this question, define the constraints and then show examples of where the constraint exists in the model. If it does not exist in the model, indicate that it does not exist.
c) Write the CREATE TABLE statements to represent this ER model using SQL relations. Enforce all the entity and referential constraints.
d) Write the SQL query to display the following:
e) After implementing the database, the course professor realized that some projects were in high demand and others were not being considered. Also, large groups of friends wanted to work together, while some students had no one to partner with. To address this, he has asked you to add the following constraints to the existing database: