Consider any relevant feedback from your Week One Individual Assignment titled, "DreamHome Case Study" that will support the completion of this week's assignment.Create a data model for an object-orie

Conceptual database design

Owner

PK Owner_no

firstname

lastname

staff_manager

business_type

branch_registration

contact_name

address

phone

email

password

Staff

PK Staff_no

First_name

Last_name

Dob

Street

City

Postcode

Position

Salary

Supervisor_name

Supervisor_no

Branch_no

Advertisements

Advert_no

Date_advertised

Cost

FK property_no

FK newspaper_no

NewsPapers

Newspaper_no

Name

Phone

Address

Contact_name

Property_viewing

PK View_no

View_date

Comments

FK Client_no

FK Property_no

RentalProperties

PK Property_no

Street

City

Postcode

Phone1

Phone2

Phone3

Type

No_of_rooms

Rent

FK owner_no

FK staff_no

Leases

PK Lease_no

Payment_method

Advance_deposit

Lease_duration

Start_date

Ebd_date

FK Client_no

FK Property_no

Clients

PK Client_no

First_name

Last_name

Phone

Email

Accommodation_pref

Max_rent

Join_date

FK Branch_no

FK Staff_no

Branch

PK Branch_no

Street

City

Postcode

Phone1

Phone2

Phone3

Manager

PK Manager_no

Manager_startdate

Bonus

FK branch_no









Physical database design

TABLE Branch(

branchNo VARCHAR(5) NOT NULL PRIMARY KEY,

street VARCHAR(75) NOT NULL,

city VARCHAR(30) NOT NULL,

postcode VARCHAR(10) NOT NULL,

phone1 VARCHAR(30),

phone2 VARCHAR(30),

phone3 VARCHAR(30),

);

TABLE Staff(

staffNo VARCHAR(5) NOT NULL PRIMARY KEY,

first_name VARCHAR (20) NOT NULL,

last_name VARCHAR(20) NOT NULL,

position VARCHAR(25) NOT NULL,

DOB DATE,

Salary NUMERIC(9,2) NOT NULL,

branchNo VARCHAR(5) NOT NULL,

FOREIGN KEY (branchNo)

FOREIGN KEY (supervisorNo)

REFRENCES Branch(BranchNo)

);

TABLE Manager(

managerNo VARCHAR(5) NOT NULL PRIMARY KEY,

manager_startdate DATE,

bonus NUMERIC(9,2) NOT NULL,

branchNo VARCHAR(5) NOT NULL,

FOREIGN KEY (branchNo)

);

TABLE Owner(

ownerNo VARCHAR(10) NOT NULL PRIMARY KEY,

first_name VARCHAR (20) NOT NULL,

last_name VARCHAR (20) NOT NULL,

staff_manager VARCHAR (50) NOT NULL,

business_type VARCHAR(25),

branch_regostration VARCHAR (25),

contact_name VARCHAR(50),

address VARCHAR(30),

phone1 VARCHAR (20),

phone2 VARCHAR (20),

phone3 VARCHAR (20),

FOREIGN KEY (propertyNo)

FOREIGN KEY (clientNo)

);

TABLE RentalProperty(

propertyNo VARCHAR(8) NOT NULL PRIMARY KEY,

street VARCHAR (25) NOT NULL,

city VARCHAR (25) NOT NULL,

postcode VARCHAR (8) NOT NULL,

propertyType VARCHAR (20) NOT NULL,

rooms SMALLINT NOT NULL,

rent NUMERIC(5,1) NOT NULL,

ownerNo VARCHAR(10) NOT NULL,

staffNo VARCHAR(5) ,

branchNo VARCHAR(5),

FOREIGN KEY (ownerNo)

REFERENCES PrivateOwner(ownerNo),

FOREIGN KEY(staffNo)

REFERENCES Staff(staffNo),

FOREIGN KEY(branchNo)

REFERENCES Branch(branchNo)

);

TABLE Clients(

clientNo VARCHAR(10) NOT NULL PRIMARY KEY,

first_name VARCHAR(20) NOT NULL,

last_name VARCHAR (20) NOT NULL,

Phone VARCHAR(10),

Email VARCHAR(50),

Accommodation_pref VARCHAR(50),

Max_rent NUMERIC(9,2),

Join_date DATE,

FOREIGN KEY (BranchNo)

REFERENCES Branch(BranchNo),

FOREIGN KEY (StaffNo)

REFERENCES Staff(StaffNo)

);

TABLE Leases(

leaseNo VARCHAR(10) NOT NULL PRIMARY KEY,

payment_method VARCHAR (20),

advance_deposit NUMERIC(9,2),

lease_duration INTEGER (10),

start_date DATE NOT NULL,

end_date DATE NOT NULL,

clientNo VARCHAR(5),

propertyNo VARCHAR (5),

FOREIGN KEY (clientNo)

FOREIGN KEY (propertyNo)

);

TABLE PropertyViewing(

viewNo VARCHAR(10) NOT NULL PRIMARY KEY,

viewDate DATE,

comments VARCHAR (255),

clientNo VARCHAR(10),

propertyNo VARCHAR(10),

FOREIGN KEY (clientNo)

FOREIGN KEY (propertyNo)

);

TABLE NewsPaper(

newspaperNo VARCHAR(10) NOT NULL,

name VARCHAR(100),

phone VARCHAR(20),

street VARCHAR(50),

city VARCHAR(50),

postcode VARCHAR(10),

contact_name VARCHAR(50)

);

TABLE Advertisements(

advertNo VARCHAR(10) NOT NULL PRIMARY KEY,

startdate_advertise DATE NOT NULL,

enddate_advertise DATE NOT NULL,

cost NUMERIC(9,2) NOT NULL,

propertyNo VARCHAR(10),

newspaperNo VARCHAR(10),

FOREIGN KEY (propertyNo)

FOREIGN KEY (newspaperNo)

);

Index

PK – Primary Key

FK – Foreign Key