代写COMP2400、代做Python,Java编程
2023-10-03
COMP2400/6240 - Relational DatabasesAssignment on Database TheoryDue date: 23:55, 11 October 2023Instructions:• This assignment must be done individually (no group work).• This assignment will count for 15% of the final grade. Marks are assigned for the process of finding a solution,not only for the result. Hence, include all essential ideas and steps that are necessary to derive a solution.• You must submit a single PDF file named as “u1234567.pdf” (replace u1234567 with your UID). Make sure youonly upload a PDF file, not a Word or text file.• You should try your best to type the solutions. The scanned images of handwritten texts and equations canbe unreadable for marking. As for the EER diagram, you are highly recommended to export a JPEG file fromTerraER and include it in the PDF file.• Late submission is not granted under any circumstance. You will be marked on whatever you have submitted atthe time of the deadline. Please take careful note of deadlines and adhere to them. Of course, if you find yourselfin a situation beyond your control that you believe significantly affects an assessment, you should submit anAssessment Extension Request through Wattle along with the supporting documents.• Plagiarism will attract academic penalties in accordance with the ANU guidelines. A student in this course isexpected to be able to explain and defend any submitted assessment item. The course convener can conduct orinitiate an additional interview about any submitted assessment item for any student. If there is a significantdiscrepancy between the two forms of assessment, it will be automatically treated as a case of suspected academicmisconduct.Question 1 4 MarksA real-estate agency named HomeComfort which has recently been founded in Canberra wants to setup a database toaccomodate the following requirements.HomeComfort has opened 5 offices in different districts of Canberra including Canberra Central, Belconnen, Gungahlin,Tuggeranong and Weston Creek, respectively. It is planning to open two more offices in Molonglo Valley and WodenValley in the future. An office has a unique address but may have multiple telephone numbers. Each property isassociated with exactly one office of HomeComfort, and is managed by a property manager from that office. Aproperty can be identified by its address and has the information about the area and the number of rooms. Eachemployee working at HomeComfort has a tax file number (TFN), a name and an address. HomeComfort’s employeesare categorised into one of the following four categories: 1) office manager, 2) property manager, 3) property inspector,and 4) customer service representative. Every employee works at only one office of HomeComfort. A customer atHomeComfort is identified with a unique customer ID, a name and a contact number. A customer can buy or rentone or more properties and details about that property such as the rental period or pay-off period and price shouldbe recorded. If a customer is not satisfied with the possessed property, this customer may submit a complaint toa customer service representative and thus a distinct reference number and detailed description of the complaintshould be recorded. The relevant office manager will handle all the complaints with respect to this office and has anurgent contact number in case of emergency. Property inspectors inspect the properties and record the condition andinspection date. A property may be inspected by any of the property inspectors from the associated office, but mustbe inspected at least four times per year. Each property inspector has a diploma in building inspection and might haveanother property inspector as the supervisor. The supervisor must have a higher skill level compared to the propertyinspectors supervised by this supervisor.Your task is to design an Enhanced Entity Relationship (EER) diagram for the above database, which should includeentities, relationships, attributes and constraints wherever appropriate. Note that you can make more assumptions ifnecessary and provide them with your solutions.You also need to identify the requirements that cannot be captured in an EER-diagram.Question 2 5 Marks1Consider the relation schema R={A, B, C, D, E} and the following set Σ of FDs:• AE → BC• B → A• AB → DE• C → A2.1 What are the candidate keys of R? Justify your answer (i.e., include the main steps used for finding the candidatekeys). (2 Mark)2.2 Find a minimal cover of Σ. Justify your answer (i.e., include the main steps used for finding a minimal cover).(2 Mark)2.3 Demonstrate whether R, given Σ, satisfies 3NF, if not, then identify a 3NF decomposition for R. You need toinclude the main steps used for identifying the 3NF decomposition. (1 Marks)Question 3 2 MarksConsider the relation schema Meeting={Client, Date, Employee, Room, Branch} and the following set Σ of FDs:• Branch, Date, Employee → Room• Branch, Date, Room → Employee• Branch, Client, Date → Room• Client, Date → EmployeeIs the above relation schema Meeting in BCNF? If not, identify a BCNF decomposition for Meeting. You need toinclude the main steps used for identifying the BCNF decomposition. Check if this BCNF decomposition is dependencypreserving. (2 Mark)Question 4 4 MarksThe following table contains the relational algebra operators covered in our course. You may only use these operatorsto answer the following questions.σφR Selection by condition φπA1,...,An R Projection onto the set of attributes {A1 . . . , An}ρR′(A1,...,An)R Renaming the relation name to R′and attribute names to A1, . . . , AnρR′R Renaming the relation name to R′ρ(A1,...,An)R Renaming the attribute names to A1, . . . , AnR1 ∪ R2 Union of two relations R1 and R2R1 ∩ R2 Intersection of two relations R1 and R2R1 − R2 Difference of two relations R1 and R2R1 × R2 Cartesian product of two relations R1 and R2R1 ▷◁φ R2 Join of two relations R1 and R2 with the join condition φR1 ▷◁ R2 Natural join of two relations R1 and R2φ1Vφ2 condition φ1 AND condition φ2φ1Wφ2 condition φ1 OR condition φ22Consider the following relational database schema S of a booking system:CUSTOMER = {CustomerID, FirstName, LastName, Phone}PK: {CustomerID}STAFF = {StaffID, FirstName, LastName}PK: {StaffID}HOTEL = {HotelName, RoomNo, Phone}PK: {HotelName, RoomNo}BOOKING = {CID, SID, HNm, RNo, Date, Cost}PK: {CID, SID, HNm, RNo, Date}FK: [CID] ⊆ CUSTOMER[CustomerID],[SID] ⊆ STAFF[StaffID],[HNm, RNo] ⊆ HOTEL[HotelName, RoomNo]4.1 Answer the following questions using relational algebra queries only using the operators in the above table. Youare encouraged to use relational algebra expressions to represent intermediate results if needed.[a] Find all those staff members who have never created any booking for a hotel named “PearlOrient” (i.e., HNm =‘PearlOrient’). List their StaffIDs. (1 Mark)[b] Find all those customers who have booked exactly one hotel room on 27-09-2023. List their CustomerIDs, FirstName and Last Name. (1 Mark)4.2 Optimise the following relational algebra query (your marks will depend on how well you present the key ideas ofquery optimization in your answer). In addition to this, draw the query trees that correspond to the query before andafter your optimisation.πCustomerID,F irstName,LastName,Date,HNm(σ(CID=CustomerID)V(HNm=HotelName)V(RNo=RoomNo)V(Cost>150)(Customer × Booking × Hotel))(2 Mark)+++++3