Top Banner
Designing a Database for a Real Estate Machine Nikhita Singh Zach Mulder Jeff Khvu Winne Yan Ray Valadez Michael Tran Christopher Au Freddy Kurniawan Final Presentation
39

Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Jul 19, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Designing a Database for a Real Estate Machine

Nikhita SinghZach MulderJeff KhvuWinne YanRay ValadezMichael TranChristopher AuFreddy Kurniawan

Final Presentation

Page 2: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

“a real estate machine”

Meet the Client

Alterre Partnersacquire new properties

Asset Constructionrenovate properties

Anthony Associatesrent and sell properties

Owner: Tom Anthony

$

Page 3: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

the property pipeline

rent + sellfind$

invest renovate

Page 4: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

EER Diagram

Property

PropID

Location

Rental Unit Ownership

Current_State

Renovation_Type

Real Estated,t has

Cost Estimate

d,t

Property Closing Cost

Escrow Fee

Construction Cost

Advertising Cost

Other

(1,1) (1,1)

ConstructionSchedule

start_date

Milestone

end_dateduration

percent completed

has

(1,1)

(1.1)

Person

o,t

Outside Seller

Employee

Buyer

Tenant

Job

Sub-contractor (Y/N)

Skill_Needed

Start_date

JobID

End_date

schedules

(1,1)

(1.N)

Investor

Investment

Yearly Pool

makesName

PID

Phone Number

Address

NoteID - - - - - - dateIn

NoteID - - - - - -Note

Amount

dateOut

NameyearIn

total_return

has

(1,1)

(0,N)

goes in

(1,1)

(1,N)

Title Company

Name

insures

Supplier

supplierID

phone#

pay_status

Name

Sub-contractor

Work ClassSC_ID

Trade Code

Pay Status

Name

Escrow Coordinator

Property Manager

Laborer

Other

Supervisor

requires

works_on

works_on

(0.N)

(1,1)

(1.N)

(0.N)

(1,N)

(1.N)

Work Class

new_rev_unit_cost

Construction_type

condo_rev_unit_cost

mini_rev_unit_cost

mega_rev_unit_cost

categorized_by

(1.N)

(1.N)

categorized_by

categorized_by

categorized_by(1.N)

(1,N)

(1,N)

(1.N)

(1,N)

(1,N)

(0,1)

primary_laison_of

(0,1)

(1,1)

o,t

(1,N)

manages

supervises

(1.N)

(1,1)

(1,N)(1,1)

rents

buys

lists

(1,N)

(0,1)(1,N) (0,1)

(1,N)

(1.N)

(1,N)

(1,1)

Page 5: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Key Relations for Overall OperationsProperty (PropID, Street, City, Zip_Code, Neighborhood, # of sq. ft, # of Bedrooms, # of Bathrooms, Purchase_Date, Renovation_Type)

Person (PID, Lname, Fname, HomePhone#, CellPhone#, Fax#, Street, City, Zip_Code)

Skill (SkillID, Name, Worker’s_Compensation_Rate)

Employee_has_Skill (SkillID11, PID2f, Rating (1-10), Primary Skill Y/N)

Credit_Card (CCN, Card_Type, Credit_Limit, Expiration_Date)

Employee_has_CC (CCN18, PID2f)

Employee_works_on_Job (PID2f, JobID10)

Tenant_Rents_Unit (PID2b, PropID1a, Unit#2a, Start_Date, End_Date)

✓ Overview of property data

✓ Record key data for all individuals involved

✓ Track employee data

✓ Manage employee skills

✓ Track tenants for rental properties

Page 6: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Key Relations for Investment Tracking

Investment (NoteID, PID2a, Renewal, Investor_Name, Year_In, Date_In, Date_Out, Notes_Amount, Share_of_Pool, Investment_Period, Investment_Period_Allocation, Weighted_Shares, Interest, Profit_Share, Total_Return, Year5)

Yearly_Pool (NoteID, PID2a,Year, Investment, Profit, Investor_Profit)

Title_Company (TCID, Company_Name, Company_Phone#, PID2e)

✓ Manage individual investments

✓ View investment data on an annual basis

✓ Track profit sharing and returns

Page 7: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Relations for Construction ManagementSubcontractor (SCID, Subcontractor_Name, Street, City, Zip_Code, Trade_Code, Pay_Status, Phone#, Website, Construction_Type)

Subcontractor_Works_on_Job (SCID13, JobID10, PropID1b, Bid)

Subcontractor_Insures_Property (PropID1b, SCID13, Maximum_Coverage, Policy#, Insurance_Type, Deductible, Term_Length)

Supplier (SupplierID, Supplier_Name, Street, City, Zip_Code, Trade_Code, Pay_Status, Phone#, Website, Construction_Type)

Job_Has_Supplier (SupplierID16, JobID10, PropID1b)

Construction_Schedule (ScheduleID, PropID1b, Milestone, Start_Date, End_Date, Duration, %Completed)

Milestone (PropID1b, MilestoneID, Milestone, Start Date, End Date, Duration)

Job (JobID, PropID1b, Duration, Start_Date, Finish_Date, Predecessors, % Complete, Cost, SkillID_Needed, Skill_Need, Workers_Needed, Subcontractor Y/N

Cost_Estimate (CEID, PropID1b)

✓ Manage construction schedules

✓ Track subcontractor and supplier info and projects

✓ View milestones for each property

✓ Identify necessary jobs for each property

✓ Estimate construction costs

Page 8: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

QUERIES

Page 9: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

How can we estimate the construction costs based on data from previous properties?

invest renovate rent & sellfind

Query 1: Construction Budget

mega mini

condo new

129K 134K

90K 110K

20K 35K

ABC

mean lower boundupper bound

construction types

generate confidence intervals based on past

data

calculate range of construction costs for new property

Page 10: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

invest renovate rent & sellfind

Q1: Construction Budget Process

Microsoft AccessAccess provides a form to add estimate to the related table

SQLExtracts data from MS Access regarding past construction projects

Microsoft ExcelGiven the renovation type and characteristics of a new property, generates mean and confidence intervals for construction budget

MatlabGenerates analytics on previous properties through box plots

Concepts AppliedConfidence IntervalsBox Plots

Page 11: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Q1: Construction Budget SQL

invest renovate rent & sellfind

SELECT [Cost Estimate].[CostEstimateID], [Property].[PropID], [Property].[# of sq ft], [Property].[Renovation Type], Sum(IIF([Property].[Renovation Type] = 'New Property', [Property].[# of sq ft]*[Work Class].[New Rev Unit Cost/SF], IIF([Property].[Renovation Type] = 'Condo', [Property].[# of sq ft]*[Work Class].[Condo Rev Unit Cost/SF], IIF([Property].[Renovation Type] = 'Mini', [Property].[# of sq ft]*[Work Class].[Mini Rev Unit Cost/SF], IIF([Property].[Renovation Type] = 'Mega', [Property].[# of sq ft]*[Work Class].[Mega Rev Unit Cost/SF], 0))))) AS PropTotalCost

FROM Property, [Work Class], [Cost Estimate]

WHERE [Property].[PropID] = [Cost Estimate].[PropID]

GROUP BY [Property].[PropID], [Property].[# of sq ft], [Property].[Renovation Type], [Cost Estimate].[CostEstimateID];

select property characteristics

&

check types of renovation}

connects with Excel to produce a confidence interval for cost estimate}

Page 12: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Q1: Construction Budget Output

invest renovate rent & sellfind

}bounds obtained from confidence intervals

query displays projected construction cost}

Page 13: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Q1: Construction Budget Analytics

invest renovate rent & sellfind

Matlab Codefunction []= myBoxPlot(data1, textdata1)

X4 = textdata1(:,4);X5 = data1(:,5);n = length(data1);A = [];

for i=2:(n+1)    if strcmp(X4(i),'New Property') == 1        A(i-1,1) = X5(i-1);        A(A==0) = [];    elseif strcmp(X4(i),'Condo') == 1        B(i-1,1) = X5(i-1);        B(B==0) = [];    elseif strcmp(X4(i),'Mini') == 1        C(i-1,1) = X5(i-1);        C(C==0) = [];    elseif strcmp(X4(i),'Mega') == 1        D(i-1,1) = X5(i-1);        D(D==0) = [];    end     end 

subplot(2,2,1),boxplot(A,'orientation', 'horizontal');title('New Renovation');

subplot(2,2,2),boxplot(B,'orientation', 'horizontal');title('Condo Renovation');

subplot(2,2,3),boxplot(C,'orientation', 'horizontal','whisker', 4);title('Mini Renovation');

subplot(2,2,4),boxplot(D,'orientation', 'horizontal');title('Mega Renovation');set(gcf, 'color', [1 1 1])

end 

}box plots show spread of construction costs for each type of property

Page 14: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

How can we track the progress on a property and identify critical tasks?

invest renovate rent & sellfind

Query 2: Project Management

DesignDemolition

Grading & Site PrepPlumbing

FoundationFramingRoofing

WindowsExterior Doors & Frames

ElectricalHVAC & Sheet Metal

InsulationDrywall

Cabinets

Doors & TrimGarage Doors

PaintingTile

GraniteWood Top

Shower DoorsFinish Hardware

FlooringAppliances

Decorative Light FixturesCleaningFencing

Landscaping

28 “To-dos” Gantt Chart

Time

Task

s

Page 15: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

invest renovate rent & sellfind

Q2: Project Management ProcessMicrosoft ProjectInput jobs by property and start and end date of construction project. Automatically generates timeline for project using CPM and identifies critical jobs.

Microsoft AccessDisplays jobs related to each property and provides analytics + progress reports.

Microsoft ExcelLinks to Microsoft Project data and tracks changes.

Concepts AppliedCritical Path MethodNetwork Graphs

Page 16: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Q2: Project Management

invest renovate rent & sellfind

}tasks & duration

displays current date

timeline

critical tasks

slack

assigned to ID

budget

track % completion

}

Page 17: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Q2: Project Management SQL

invest renovate rent & sellfind

SELECT [Job].[Property], [Job].[Task Name], (IIF([Job].[% Complete]=100,'Complete', IIF([Job].[% Complete]>0 AND [Job].[% Complete]<100, 'In Progress',IIF([Job].[% Complete]=0 AND Date()>[Job].[Start], 'Late', IIF([Job].[% Complete]=0,'Pending'," " ))))) AS Completion, job.Start, job.Finish, job.[% Complete]

FROM Job

ORDER BY job.start;

} determines 1) Tasks that are complete2) Tasks in progress3) Tasks pending4) Tasks that are late

}displays by property

Page 18: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Q2: Project Management Output

invest renovate rent & sellfind

Page 19: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

22APR

find all employees

sort by skills & availability

generate optimal schedule

What is the best way to schedule workers?

invest renovate rent & sellfind

Query 3: Worker Schedule

Page 20: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

invest renovate rent & sellfind

Q3: Worker Schedule Process

AMPLSolves integer program that minimizes cost of worker wages while fulfilling skill and worker requirements

Custom VBA Macro Generates data file from MS Access

PythonCode initiates the AMPL program run

Custom VBA Macro AMPL saves output and macro translates into readable output in MS Access

Concepts AppliedInteger ProgramsScheduling

Page 21: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Q3: Worker Schedule SQL

invest renovate rent & sellfind

SELECT DISTINCT j.id, e.pid, j.SkillID, e.[Hourly Rate]*(1+s.[Worker's Compensation Rate]) AS [Loaded Rate]FROM skill AS s, (job AS j INNER JOIN [Employee Skill Rating] AS es ON j.skillid=es.skillid) INNER JOIN employee AS e ON e.pid = es.pidWHERE e.[Employment Type] = "Laborer" and s.skillid = j.skillidORDER BY e.pid, j.id;

SELECT id, pid, job.skillid, [Skill Rating (1-10)] AS ratingFROM job INNER JOIN [employee skill rating] ON job.skillid = [employee skill rating].skillidORDER BY pid, id;

} Calculates Burden Rate

Total cost of worker i to perform job j

} Skill Matrix

Provides the skill of worker i performing job j

Page 22: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Q3: Worker Schedule Model

invest renovate rent & sellfind

Integer ProgramMin$ !!"!!"!

!!!!!!! $

s.t.$$ !!"!!" ≥ !! !!"!!!!!

!!!! ∀!!$

$ !!" ≤ !!" !∀!!, !$

$ !!" =!!!! !! !∀!!$

$ !!" + !!" !!" ≤ 1!∀!!, !, !$

$ !!" = 1!∃!!, !$$

$ ⋮$

Where$!!" = 1!!"!!"#$%#!!!!"!!"ℎ!"#$!"!!"#!!"#!!0!!"ℎ!"#$%! $

n$is$the$number$of$workers$

$ m$is$the$number$of$jobs$

$ C$is$the$cost$of$worker$i$completing$job$j$

$ N$is$the$average$skill$needed$for$job$j$

S$is$the$skill$of$worker$i(for$job$j$

$ A$is$the$availability$of$worker$i$for$job$j$(Assume$!!" = 1)$

$ W$is$the$number$of$workers$needed$for$job$j(

( !!" = 1!!"!!"#!!!!"#$%&'(!!"#!!0!!"ℎ!"#$%! $

$ $$

Page 23: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Q3: Worker Schedule Output

invest renovate rent & sellfind

}code auto populates task assignments to individuals

output indicates optimal assignment of jobs to people

Page 24: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

What should be the listing price for a new property?

invest renovate rent & sellfind

Query 4: Selling Price

extract data on properties

apply analysismultiple regression models

ANOVA

= $no. bedsno. bathsq. ftconstruction costadvertising cost

project selling price

+

Page 25: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

invest renovate rent & sellfind

Q4: Selling Price Process

Microsoft AccessDisplays similar properties in a detailed report.

Microsoft ExcelBased on past property data, generates a multiple regression model to determine the optimal selling price.

SQLBased on multiple regression model, outputs the optimal price for a new property based on property characteristics.

Concepts AppliedMultiple RegressionANOVA

Page 26: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Price = 23656 - 290481*(Neighborhood A) - 49212*(Neighborhood B) + 32629*(Neighborhood C) + 31232*(Neighborhood D) + 2997*(Neighborhood E) + 26030*(Neighborhood F) - 288*(Neighborhood G) - 21459*(Neighborhood H) - 78600*(Neighborhood I) + 11388*(Neighborhood J) + 19352*(NoBedroom) + 28392*(NoBathroom) - 75*(SqFt) - 0.52*(Purchase Price) + 0.07*(Construction Cost) + 17*(Advertising Cost)

R2 = 0.95

adjusted R2

= 0.91

invest renovate rent & sellfind

Q4: Selling Price Regression Model

Page 27: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Q4: Selling Price SQL

invest renovate rent & sellfind

SELECT DISTINCT [Property].[PropID], 19352.32*Property.[# of bedrooms]+28392.23*Property.[# of bathrooms]+(-75.78)*Property.[# of sq ft]+(-0.52)*Property.[Purchase Price]+17.32*[Advertising Cost].[Total Advertisement Cost]+0.71*[Construction Cost].Average+23656.39+(IIf(Property.[Zip code]=94706,-290481.61,IIf(Property.[Zip code]=94578,-49212.43,IIf(Property.[Zip code]=94619,32629.51,IIf(Property.[Zip code]=94501,31232.4,IIf(Property.[Zip code]=94610,2997.06,IIf(Property.[Zip code]=94602,26030.27,IIf(Property.[Zip code]=94605,-288.91,IIf(Property.[Zip code]=94606,-21459.23,IIf(Property.[Zip code]=94702,-78600.34,IIf(Property.[Zip code]=94621,11388.34,0))))))))))) AS EstimatedPrice

FROM Property, [Advertising Cost], [Cost Estimate], [Construction Cost]

WHERE [Advertising Cost].CEID=[Cost Estimate].CEID And [Cost Estimate].PropID=Property.PropID And [Construction Cost].CEID=[Cost Estimate].CEID;

outputs optimal sales price based on Excel regression model

uses IF statements to account for different property ZIP codes

gets variables for regressionon property characteristics

}}

Page 28: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Q4: Selling Price Output

invest renovate rent & sellfind

estimated selling price determined by multiple regression model}

Page 29: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

The New Property DashboardSearch Criteria:

Price: 650,000 to 700,000 Beds: 2 Bath: 1 Sq. ft: 1800

Crime Rate Heat Map Overlay Neighborhood Map With Similar Properties

View Detailed School Ratings

Page 30: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

What is the estimated return for each stakeholder?

invest renovate rent & sellfind

Query 5: Return on Investment

$find investments

+ profits for a given year

$determine return per $1 for each

investor

apply analytics

Page 31: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

invest renovate rent & sellfind

Q5: Return on Investment Process

SQL SQL extracts info and calculated per $1 return for each investor and outputs report

Microsoft AccessInvestment table contains data on all investments made

Microsoft ExcelConducts analytics on investments and actual profits and % for each investor

Microsoft AccessDisplays analytics in investor table

Concepts AppliedEngineering Economics

Page 32: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Q5: Return on Investment SQL

invest renovate rent & sellfind

SELECT A.Return+B.Return AS Returns, A.Investment+B.Investment AS Investments, (A.Return+B.Return)/(A.Investment+B.Investment) AS RateFROM

(SELECT sum([Investment Calculation].[Total Return]) AS Return, sum([Investment Calculation].[Note Amount]) AS InvestmentFROM [Investment Calculation]WHERE [Investment Calculation].[Year]=2008)  AS A, 

(SELECT sum([Investment Calculation].[Total Return]) AS Return, sum([Investment Calculation].[Note Amount]) AS InvestmentFROM [Investment Calculation]WHERE [Investment Calculation].[Year]=2009)  AS B;

}table generated with sum of investments for a given year

}} table generated with sum of

investments for another given year

calculates average and outputs estimated return rate as return/$1 invested

Page 33: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Q5: Investment Model and Output

invest renovate rent & sellfind

Applying Engineering EconomicsPresent and Future Value Calculations

Time SharesShared Allocation

!"( 2009. !"#$!%!)+ !"( 2010. !"#$!%!)!!!!! !!

!!!!"( 2009.!"#$!)+ !"( 2010.!"#$!)!!

!!! !!!!!

!

2008 to 2009 ratio: 0.782009 to 2010 ratio: 1.022010 to 2011 ratio: 1.15

Page 34: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

NORMALIZATIONANALYSIS

Page 35: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Decomposing to 1NF and 2NF:Job (JobID, PropID1b, Duration, Start_Date, Finish_Date, Predecessors, % Complete, Cost, SkillID_Needed, Skill_Need, Workers_Needed, Subcontractor Y/N)

To normalize to 1NF and 2NF:

Job (JobID, PropID1b, Duration, Start_Date, Finish_Date,% Complete, Cost, SkillID_Needed, Skill_Need, Workers_Needed, Subcontractor Y/N)

Predecessors (JobID, Predecessor)

Page 36: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Decomposing to 3NF & BCNFJob (JobID, PropID1b, Duration, Start_Date, Finish_Date, Predecessors, % Complete, Cost, SkillID_Needed, Skill_Need, Workers_Needed, Subcontractor Y/N)

To normalize to 3NF:

Job (JobID, PropID1b, Start_Date, Finish_Date,% Complete, Cost, Skill_Need, Workers_Needed, Subcontractor Y/N)

Job_Predecessors (JobID, Predecessor)

Job_Timeline (Start_Date, Finish_Date, Duration)

Page 37: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Decomposing to 2NF

Investment (NoteID, PID2a, Renewal, Investor_Name, Year_In, Date_In, Date_Out, Notes_Amount, Share_of_Pool, Investment_Period, Investment_Period_Allocation, Weighted_Shares, Interest, Profit_Share, Total_Return, Year5)

To normalize to 2NF:

Investment (NoteID, PID2a, Renewal, Year_In, Date_In, Date_Out, Notes_Amount, Share_of_Pool, Investment_Period, Investment_Period_Allocation, Weighted_Shares, Interest, Profit_Share, Total_Return, Year5)

Investment_Name (PID2a, Investor_Name)

Page 38: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Decomposing to 3NF & BCNF

ScheduleID PropID1b Milestone Start_Date End_Date Duration %Completed

Construction_Schedule

ScheduleID PropID1b Milestone Start_Date End_Date Duration %Completed

To normalize to BCNF:Construction_Schedule (ScheduleID, PropID1b, Milestone)

Schedule_Milestone (PropID1b,Milestone, Start_Date, End_Date, % Completed)

Schedule_Start (Start_Date, End_Date, Duration)

}

Page 39: Designing a Database for a Real Estate Machinecourses.ieor.berkeley.edu/ieor115/labs/DP-sp2013/1.pdfMicrosoft Access Access provides a form to add estimate to the related table SQL

Thank You To....Tom AnthonyIan Cameron

Terri BrownFrank AdamsHany Rezke

Other members of the Anthony Associates, Asset Construction, and Alterre Partner teams