Part 1 (50 marks)
(A) Using a database design approach of your choice, produce a logical design for the database to support the information system, which is needed at FindMeHome.
(30 marks)
Your answer must consist of ONE of the following:
• An entity-relationship (ER) diagram (20 marks) and its mapping into a set of relations (10 marks). The ER diagram should show all relevant entity types, relationship types, attributes, keys, and structural constraints. Note that not all keys are identified/mentioned in the scenario, so you are required to identify/devise appropriate keys for all the entity types. Your ER diagram must not show any foreign keys.
As part of the mapping process, for each relation, you should identify appropriate primary keys as well as foreign keys (if applicable). Furthermore, you need to make sure your relations obtained from mapping your ER diagram are in 3rd normal form.
• A set of normalised relations (10 marks) obtained through applying the normalisation process (20 marks) instead of ER modelling. You should make clear how the normalisation process has been carried out, and the reasoning employed, in particular quoting evidence (series of steps) to support the decisions made and how various relations have been derived. Each relation in your answer should be in 3rd normal form.
(B) Based on your logical design from Part 1 (A) and the information available in the scenario, produce an SQL script file using Oracle 11g/12c/19c.
(20 marks) Your submission must include:
• An SQL script file containing appropriate SQL DDL (e.g., CREATE TABLE, ALTER TABLE, etc.) statements for creating all the relations from Part 1 (A). 16 marks
• The output from running the script file in a live Oracle 11g/12c/19c session (e.g., using SPOOL, copy and paste, screenshots, etc.). 4 marks
• You should use relational features from the SQL92 standard in Oracle 11g/12c for constructing your data structures / tables, including appropriate primary and foreign keys.
• You should aim for a high degree of reliability in the data with the use of as many constraints as possible, e.g., check constraints on various columns (e.g., particular format of primary key values, positive physical values as described in week 4 lecture slides on integrity constraints).
Part 2 (30 marks)
(A) Populate the FindMeHome database with some data (e.g., you should generate your own dummy data and load it into the FindMeHome database, consider 5 to 10 rows for each table and enough data to see meaningful output for the queries below).
(10 marks)
(B) Answer the following queries (retrievals) using SQL and relational algebra.
(20 marks)
1) Display details of detached or semi-detached properties for sale having at least three bedrooms in the Gosforth area of Newcastle that were added to the system in the last 28 days.
2) Display details of properties sold in Newcastle, Sunderland, Gateshead or Washington between £175,000 and £350,000 in the years 2019 to 2021.
Your submission must include:
• Relational Algebra expressions (6 marks in total)
• An SQL script file containing appropriate SQL DML (e.g., INSERT) statements for populating the tables you have created in Part 1 (B). 8 marks
• An SQL script file containing SQL retrieval (e.g., SELECT) statements for Part 2 (B). 10 marks
• An output file for running each of above the script files in a live Oracle 11g/12c/19c session (e.g., using SPOOL, etc.). 2 marks for the insertions, 2 marks for each of the SQL retrieval output, hence a total of 6 marks for the output.
• A total of 30 marks (6 + 8 + 10 + 6 = 30)
Part 3 (20 marks)
(A) Consider the FindMeHome scenario in the Appendix. Produce a report for the CEO of the company elaborating on the professional, legal, security and ethical issues that need to be considered and make any recommendations that you think are appropriate for development and management of the database for FindMeHome.
(12 marks)
The report should be concise and comprehensive and in the region of 900-1000 words.
You should use Harvard style of citation and referencing by following the guidelines in Pears and Shields (2008).
(B) Compare and contrast different approaches to database design (e.g., entity relationship modelling, normalisation, etc.) and briefly justify the approach you have used for answering Part 1 (A).
(8 marks