This is an individual assignment. All work must be your own. You should not look at any other student's work (in whole or in part, on paper or on screen), nor allow anyone else to look at yours, during the course of this assignment. Nor may you submit the work of software programs as your own.
Upload to the CS Homework system or email to the professor on or before midnight on 16 March 2023. Typed, in a plain text, PDF or MS Word document. (Subject line: "cs4250, hwk 2")
(Typed homework, in all cases. DO NOT submit a photograph of handwritten scribbles.)
Consider the following relations:
Engineer (engineerID: integer, lname: string, fname: string, jobtitle: string,
email: string, proExamID: integer, proEngineerExamPassDate: date)
Project (projectID: integer, name: string, hoursAWeek: integer, numVolunteersNeeded: integer, blurb: string)
VolunteerEngineers (projectID: integer, engineerID: integer, hoursPerWeek: integer,
startDate: date, endDate: date)
ProjectTravel (projectID: integer, engineerID: integer, tripname: string, country: string, city: string, startDate: date, endDate: date )
EngineerExam (examID: integer, proEngineerExamTitle: string, passRate: numeric,
takersLastYear: integer)
EngineerExamBook (bookID: integer, examID: integer, title: string, author: string, yearpublished: integer)
The relations capture some basic information about a engineers, who volunteer on projects, and who are studying for the professional licensing exams.
Engineers have job titles, and some engineers have passed Professional Engineers exams; proExamID is a foreign key referencing examID in the EngineerExam table.
Projects are projects engineers can work on, such as the volunteer opportunties available
through Engineers Without Borders USA.
VolunteerEngineers keeps track of which engineers work on which volunteerprojects.
Both key fields are foreign keys to the appropriate tables. hoursPerWeek keeps track
of the hours per week the engineer is volunteering on this project, and start and end
date track when the engineer began and ended work on the project.
EngineerExam stores data about
Professional Engineers exams in specific fields of engineering (civil, chemical, fire protection, etc).
EngineerExamBook tracks books that young engineers may study from, while
trying to pass their professional engineer exam, and also building experience via
volunteer work. examID is a foreign key referencing the primary key of EngineerExam.
You may make the simplifying assumption that comparisons on "date" or "timestamp" fields will work with basic =, <, >, etc, boolean operators. This is not the case in many DBMS products; for real work you would need to consult the documentation for your particular DBMS software.
Write the following queries in SQL.