Database Implementation Report for CQUnited Property Management System
VerifiedAdded on 2022/10/14
|8
|932
|250
AI Summary
This report explains the database implementation of CQUnited Property Management system (CQUPM) using MS Access. It covers database normalization, functional dependency, ER diagram mapping, SQL queries, and report generation.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
![Document Page](https://desklib.com/media/document/docfile/pages/coit20247-database-design-and-developmen-0p9v/2024/09/26/7965ae23-2198-49a8-9b10-b8885eb09841-page-1.webp)
COIT20247 Database Design and
Development (T2 2019)
September 25
201
9
Student ID:
Student Name:
Module Tutor:
Assessment Item 2 –
Assignment 2
Development (T2 2019)
September 25
201
9
Student ID:
Student Name:
Module Tutor:
Assessment Item 2 –
Assignment 2
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
![Document Page](https://desklib.com/media/document/docfile/pages/coit20247-database-design-and-developmen-0p9v/2024/09/26/b7a79f28-43e9-45dd-9457-edc4d8c99e9b-page-2.webp)
Implementation Report
Introduction
The database implementation of CQUnited Property Management system (CQUPM)
is being shown in the report. The report is showing the full concept of database
normalization, functional dependency etc.
The CQUPM database is implemented into the MS Access. The MS Access is very
useful and attractive relational database management system.
Normalization
ER Diagram Mapping
customer (customerID, customerName, address, phone)
staff (staffID, staffName, address, phone, staffType)
manager (managerID, qualification)
Foreign Key (managerID) References staff (staffID)
e_empl_category (categoryID, categoryName, hourlyRate)
external_employee (e_employeeID, tradeLicenseNo, categoryID)
Foreign Key (e_employeeID) References staff (staffID)
Foreign Key (categoryID) References category (categoryID)
owner (ownerID, ownerName, address, phone)
supervisor (supervisorID, managerID)
Foreign Key (supervisorID) References manager (managerID)
Foreign Key (managerID) References manager (managerID)
property (propertyID, propertyType, address, listedWeeklyRental, numBedRoom,
numBath, availableDate, managerID, ownerID)
Foreign Key (managerID) References manager (managerID)
Foreign Key (ownerID) References owner (ownerID)
2 | P a g e
Introduction
The database implementation of CQUnited Property Management system (CQUPM)
is being shown in the report. The report is showing the full concept of database
normalization, functional dependency etc.
The CQUPM database is implemented into the MS Access. The MS Access is very
useful and attractive relational database management system.
Normalization
ER Diagram Mapping
customer (customerID, customerName, address, phone)
staff (staffID, staffName, address, phone, staffType)
manager (managerID, qualification)
Foreign Key (managerID) References staff (staffID)
e_empl_category (categoryID, categoryName, hourlyRate)
external_employee (e_employeeID, tradeLicenseNo, categoryID)
Foreign Key (e_employeeID) References staff (staffID)
Foreign Key (categoryID) References category (categoryID)
owner (ownerID, ownerName, address, phone)
supervisor (supervisorID, managerID)
Foreign Key (supervisorID) References manager (managerID)
Foreign Key (managerID) References manager (managerID)
property (propertyID, propertyType, address, listedWeeklyRental, numBedRoom,
numBath, availableDate, managerID, ownerID)
Foreign Key (managerID) References manager (managerID)
Foreign Key (ownerID) References owner (ownerID)
2 | P a g e
![Document Page](https://desklib.com/media/document/docfile/pages/coit20247-database-design-and-developmen-0p9v/2024/09/26/8bcb9c4e-229e-47b4-a407-a33e3e58b64a-page-3.webp)
rental (rentalID, contractStartDate, contractEndDate, weeklyRental, customerID,
propertyID)
Foreign Key (customerID) References customer (customerID)
Foreign Key (propertyID) References property (propertyID)
application (applicationID, reference, submittedDate, processedDate, comments,
customerID, propertyID)
Foreign Key (customerID) References customer (customerID)
Foreign Key (propertyID) References property (propertyID)
repair_job (jobID, jobDescription, completedDate, charge, e_employeeID,
propertyID)
Foreign Key (e_employeeID) References external_employee (e_employeeID)
Foreign Key (propertyID) References property (propertyID)
Functional Dependency in Tables
Customer
customer (customerID, customerName, address, phone)
customerName customerID
address customerID
phone customerID
Staff
staff (staffID, staffName, address, phone, staffType)
staffName staffID
address staffID
phone staffID
staffType staffed
3 | P a g e
propertyID)
Foreign Key (customerID) References customer (customerID)
Foreign Key (propertyID) References property (propertyID)
application (applicationID, reference, submittedDate, processedDate, comments,
customerID, propertyID)
Foreign Key (customerID) References customer (customerID)
Foreign Key (propertyID) References property (propertyID)
repair_job (jobID, jobDescription, completedDate, charge, e_employeeID,
propertyID)
Foreign Key (e_employeeID) References external_employee (e_employeeID)
Foreign Key (propertyID) References property (propertyID)
Functional Dependency in Tables
Customer
customer (customerID, customerName, address, phone)
customerName customerID
address customerID
phone customerID
Staff
staff (staffID, staffName, address, phone, staffType)
staffName staffID
address staffID
phone staffID
staffType staffed
3 | P a g e
![Document Page](https://desklib.com/media/document/docfile/pages/coit20247-database-design-and-developmen-0p9v/2024/09/26/56750f68-6436-440f-8b33-5e577a8dd94f-page-4.webp)
Normalisation
customer (customerID, customerName, address, phone)
1. The field customerID is the primary key. There is only one name, one address
and one phone number for the customer id. So, there is no repeated group in
the customer table. Hence, the customer table is in 1NF.
2. The customerID is the only candidate key which is uniquely identifying the
records in the table because name, address etc. cannot be unique. So, there is
no partial dependency in the customer table. Hence, the customer table is in 2
NF.
3. A name, address, phone etc cannot be used to functionally determine any other
attribute in the table because they cannot be unique. So, there is no transitive
dependency in the customer table. Hence, the customer table is in 3 NF.
(Watt A. n.d.)
(Tutorialspoint n.d.)
SQL Queries
Query 1
SELECT property.address, property.propertyType, property.listedWeeklyRental,
Owner.ownerName FROM Owner INNER JOIN property ON Owner.ownerID =
property.ownerID WHERE (((property.[propertyID]) Not In (select propertyID from
rental)));
4 | P a g e
customer (customerID, customerName, address, phone)
1. The field customerID is the primary key. There is only one name, one address
and one phone number for the customer id. So, there is no repeated group in
the customer table. Hence, the customer table is in 1NF.
2. The customerID is the only candidate key which is uniquely identifying the
records in the table because name, address etc. cannot be unique. So, there is
no partial dependency in the customer table. Hence, the customer table is in 2
NF.
3. A name, address, phone etc cannot be used to functionally determine any other
attribute in the table because they cannot be unique. So, there is no transitive
dependency in the customer table. Hence, the customer table is in 3 NF.
(Watt A. n.d.)
(Tutorialspoint n.d.)
SQL Queries
Query 1
SELECT property.address, property.propertyType, property.listedWeeklyRental,
Owner.ownerName FROM Owner INNER JOIN property ON Owner.ownerID =
property.ownerID WHERE (((property.[propertyID]) Not In (select propertyID from
rental)));
4 | P a g e
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
![Document Page](https://desklib.com/media/document/docfile/pages/coit20247-database-design-and-developmen-0p9v/2024/09/26/fe6c99ae-b5d3-4661-aa14-a4c88dd61747-page-5.webp)
Query 2
SELECT staffName AS ManagerName, count(propertyID) AS NumOfProperty
FROM property INNER JOIN staff ON property.managerID = staff.staffID GROUP
BY staffName ORDER BY count(propertyID) DESC;
Query 3
SELECT repair_job.jobID, repair_job.jobDescription, repair_job.completedDate,
repair_job.charge, staff.staffName FROM e_empl_category INNER JOIN (staff
INNER JOIN (external_employee INNER JOIN repair_job ON
external_employee.e_employeeID=repair_job.e_employeeID) ON
staff.staffID=external_employee.e_employeeID) ON
e_empl_category.categoryID=external_employee.categoryID
WHERE repair_job.completedDate>=DateAdd("m",-6,Date()) AND
e_empl_category.categoryName="handyman";
Query 4
SELECT property.propertyID, property.address, property.listedWeeklyRental,
Count(application.propertyID) AS NoOfApplications FROM property INNER JOIN
application ON property.propertyID=application.propertyID GROUP BY
property.propertyID, property.address, property.listedWeeklyRental, submittedDate
HAVING count(application.propertyID)>1 and submittedDate>=DateAdd("m",-
6,Date());
5 | P a g e
SELECT staffName AS ManagerName, count(propertyID) AS NumOfProperty
FROM property INNER JOIN staff ON property.managerID = staff.staffID GROUP
BY staffName ORDER BY count(propertyID) DESC;
Query 3
SELECT repair_job.jobID, repair_job.jobDescription, repair_job.completedDate,
repair_job.charge, staff.staffName FROM e_empl_category INNER JOIN (staff
INNER JOIN (external_employee INNER JOIN repair_job ON
external_employee.e_employeeID=repair_job.e_employeeID) ON
staff.staffID=external_employee.e_employeeID) ON
e_empl_category.categoryID=external_employee.categoryID
WHERE repair_job.completedDate>=DateAdd("m",-6,Date()) AND
e_empl_category.categoryName="handyman";
Query 4
SELECT property.propertyID, property.address, property.listedWeeklyRental,
Count(application.propertyID) AS NoOfApplications FROM property INNER JOIN
application ON property.propertyID=application.propertyID GROUP BY
property.propertyID, property.address, property.listedWeeklyRental, submittedDate
HAVING count(application.propertyID)>1 and submittedDate>=DateAdd("m",-
6,Date());
5 | P a g e
![Document Page](https://desklib.com/media/document/docfile/pages/coit20247-database-design-and-developmen-0p9v/2024/09/26/88c3697e-b7ce-4f50-b67b-fb51a964cd7f-page-6.webp)
Query 5
SELECT TOP 1 customer.customerName, property.address, rental.weeklyRental
FROM property INNER JOIN (customer INNER JOIN rental ON
customer.customerID = rental.customerID) ON property.propertyID =
rental.propertyID ORDER BY rental.weeklyRental DESC;
Report Query
SELECT customer.customerName, customer.phone, rental.contractStartDate,
rental.contractEndDate, property.address, rental.weeklyRental FROM property
INNER JOIN (customer INNER JOIN rental ON
customer.customerID=rental.customerID) ON property.propertyID=rental.propertyID
WHERE DateDiff("m",contractStartDate,contractEndDate)>=6;
Rental Report
6 | P a g e
SELECT TOP 1 customer.customerName, property.address, rental.weeklyRental
FROM property INNER JOIN (customer INNER JOIN rental ON
customer.customerID = rental.customerID) ON property.propertyID =
rental.propertyID ORDER BY rental.weeklyRental DESC;
Report Query
SELECT customer.customerName, customer.phone, rental.contractStartDate,
rental.contractEndDate, property.address, rental.weeklyRental FROM property
INNER JOIN (customer INNER JOIN rental ON
customer.customerID=rental.customerID) ON property.propertyID=rental.propertyID
WHERE DateDiff("m",contractStartDate,contractEndDate)>=6;
Rental Report
6 | P a g e
![Document Page](https://desklib.com/media/document/docfile/pages/coit20247-database-design-and-developmen-0p9v/2024/09/26/7d79a3e6-ca7b-4853-aca9-44e14193dfc5-page-7.webp)
Learning Features
The assignment is containing so many learning features as mentioned below-
- Database report
- Different date functions
- Database normalization
Complex Features
The assignment is containing so many learning features but there are some complex
features as well-
- Use of Sub queries
- Use of inner joins
- Use of report wizard
Conclusion
A user can easily understand the whole concept of database design and
implementation after studying the report. The report is giving complete knowledge
about basic to complex database concepts.
7 | P a g e
The assignment is containing so many learning features as mentioned below-
- Database report
- Different date functions
- Database normalization
Complex Features
The assignment is containing so many learning features but there are some complex
features as well-
- Use of Sub queries
- Use of inner joins
- Use of report wizard
Conclusion
A user can easily understand the whole concept of database design and
implementation after studying the report. The report is giving complete knowledge
about basic to complex database concepts.
7 | P a g e
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
![Document Page](https://desklib.com/media/document/docfile/pages/coit20247-database-design-and-developmen-0p9v/2024/09/26/b754c81c-d51d-49ba-afdc-ab7cbc2857fc-page-8.webp)
References
Watt A. (n.d.). Chapter 12 Normalization. [online]. Retrieved from:
https://opentextbc.ca/dbdesign01/chapter/chapter-12-normalization/
Tutorialspoint (n.d.). Relational Data Model. Retrieved from:
http://www.tutorialspoint.com/dbms/relational_data_model.htm
8 | P a g e
Watt A. (n.d.). Chapter 12 Normalization. [online]. Retrieved from:
https://opentextbc.ca/dbdesign01/chapter/chapter-12-normalization/
Tutorialspoint (n.d.). Relational Data Model. Retrieved from:
http://www.tutorialspoint.com/dbms/relational_data_model.htm
8 | P a g e
1 out of 8
![[object Object]](/_next/image/?url=%2F_next%2Fstatic%2Fmedia%2Flogo.6d15ce61.png&w=640&q=75)
Your All-in-One AI-Powered Toolkit for Academic Success.
+13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
© 2024 | Zucol Services PVT LTD | All rights reserved.