49
Relational Database Design Team 5 | Final Presentation | 12/6/2013 Using MS Access to help a start-up prosper Supplier Inventory Customer Order Delivery

Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Relational Database Design

Team 5 | Final Presentation | 12/6/2013

Using MS Access to help a start-up prosper

Supplier Inventory Customer Order Delivery

Page 2: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Team 5 (1)

- IEOR Masters and ORMS Bachelors - New Product Development Engineer at SanDisk

- Applied Mathematics- Actuarial Analyst at Esurance

- Economics

- Mathematics and Statistics

- Statistics and IEOR Minor, Regent’s Scholar- Data Analyst at AbsolutData Analytics

Ashley-Mengyi Zhang

Chengwei Wong

Dongwei Han

Eric-Shiqi Zhang

Jolie-Jiayu Tan

Introduction Revised EER Interesting Queries ConclusionSchema

Page 3: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Team 5 (2)

- Statistics

- Applied Mathematics- Machine Learning Engineer at the AMPLab

- IEOR- User Operations at Dropbox

- ORMS & Haas Business- Corporate Finance at Agilent Technologies

Marty Ren

Patrick Hop

Raymond Ma

Ryan Runchey

Introduction Revised EER Interesting Queries ConclusionSchema

Page 4: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Our Client Tatsu Hobby

“To bring the best selection of collectible toys, tagged with highly competitive pricing, and serve them to the customers with a smile.” – Tatsu Hobby

Currently operates two retail channels – online and events – with plans to open a storefront by year’s end. The company relies on both domestic and international suppliers to stock its warehouse.

-

-

Tatsu Hobby is a San Jose based multi-channel retailer selling collectible toys and model kits. Since its launch in 2009, the company has served thousands of satisfied customers, with one goal in mind:

*

Page 5: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Integrated Systems Management

Help staff store and manage data more efficiently - forecast demand, purchase optimal order quantities, and deliver customer value - with storefront opening.

Our Project Goals

Mineable Database

These five benefits will help Tatsu Hobby expand their business.

Reduced Data Entry Time

Automated Analysis w/Dashboards

Efficient Business Cycle

Reduce Tatsu’s Operating Costs

I

II

III

IV

V

Minimal Employee Hours Spent

Page 6: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Main Features

Introduction Revised EER Interesting Queries ConclusionSchema

How Tatsu Hobby Benefits

We make their data available, organized, and actionable.

Customer Programs Driving Recurring Revenues

Employee Work Scheduling

Product Line Expansion

Supply Chain Optimization: Identifying Previously Unknown Drivers of Financial Information

Enhanced Customer Browsing Experience

Analytics and Machine Learning

Page 7: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

EER Diagram (Old)

Page 8: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Revised EER Diagram

Page 9: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Schema (1)

Super Class:1. PERSON (PID, phone, email, Fname, MI, Lname)2. ORDER (order_ID, placed_by_PID1, handled_by_PID1, quantity, price, order_date)3. LOCATION (loc_ID, addr_ID22)

Website:24. EVALUATION (eval_ID, customer_PID1, order_ID2, prod_ID4, ship_score, pack_score, prod_score,

review, add_points_ID44)25. ESTIMATED_PRODUCT_RATING (rating_ID, for_PID1, prod_ID4, score)26. WISHLIST (wishlist_ID, PID1, date_added, remarks)27. CATEGORY (cat_ID, cat_name, description)28. CATEGORY_PAGE (page_ID36, cat_ID27)29. THEME (theme_ID, theme_name, description)30. THEME_PAGE (page_ID36, theme_ID29)31. PRODUCT_LINE (prod_line_ID, prod_line_name, manufacturer, description)32. PRODUCT_LINE_PAGE (page_ID36, prod_line_ID31)33. SIZE (size_ID, description)34. SIZE_PAGE (page_ID36, size_ID33)35. PRODUCT_PAGE (page_ID36, prod_ID4)36. WEBPAGE (page_ID, url, hits)37. VISITING_IP (IP_addr, page_ID) 38. PERSON_HAS_IP (PID1, IP_addr37)

Introduction Revised EER Interesting Queries ConclusionSchema

Page 10: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Schema (2)

Operations:4. PRODUCT (prod_ID, cat_ID27, prod_line_ID31, page_ID35, product_name, buy_price, sell_price,

release_date, weight)5. PRODUCT_INVENTORY (prod_ID4, prod_IID, loc_ID3, prod_inv_OID6, order_ID2, quantity)6. PRODUCT_INVENTORY_ORDER (prod_inv_OID, date_placed, fixed_cost, buy_price, total_order,

supplier_ID13, status, lead_time)7. PRODUCT_WISHLIST (prod_ID4, wishlist_ID26)8. TRANSACTION (trans_ID, prod_inv_OID6, ship_mtl_OID17, OID2, time, amount)9. EMPLOYEE (PID1, SSN, supervisor_PID1, hourly_rate, discount)10. PAYROLL (payroll_ID, PID1, trans_ID8, aggregate_work_hr_ID, hourly_rate)11. EMPLOYEE_ORDER (order_ID2, placed_by_PID1, discount, order_date)12. WORK_HOUR (work_hr_ID, payroll_ID10, cal_date, clock_in, clock_out, hours)13. SUPPLIER (PID1, liason_PID1, supplier_name, catalog)14. SHIPPING_SERVICE (shipserv_ID, shipper_name, phone, email)15. SHIPMENT (ship_ID, ship_fee, trans_ID8, from_addr_ID22, to_addr_ID22, est_trans_time, dispatch_date,

receive_date)16. SHIPPING_MATERIAL_INVENTORY (ship_mtl_ID, ship_mtl_OID17, ship_ID15, item_name,

quantity)17. SHIPPING_MATERIAL_ORDER (ship_mtl_OID, supplier_ID1, ship_ID15, trans_ID8, quantity, price)18. SHIPMENT_ORDER (OID2, ship_ID15)19. WAREHOUSE (loc_ID3, capacity, rent, remarks)20. STOREFRONT (loc_ID3, capacity, rent, remarks)21. CONVENTION_EVENT (loc_ID3, event_name, cal_date, event_attendance, booth_attendance)22. ADDRESS (addr_ID, street, city, state_prov, country, zip_post)23. PERSON_ADDRESS (PID1, addr_ID22)

Introduction Revised EER Interesting Queries ConclusionSchema

Page 11: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Schema (3)

Customer Loyalty Programs:39. CUSTOMER (PID1, tastu_reward_ID43)40. SALES_PROMOTION (promo_ID, prod_ID4, discount, start_date, end_date)41. CUSTOMER_ORDER (order_ID2, placed_by_PID1, promo_ID40, points_ID44, discount, add_points_ID,

used_points_ID, order_date)42. SERVICE_REQUEST (req_ID, req_by_PID1, date_req, handled_by_PID1, date_handled, description,

status)43. TASTU_REWARD_ACCOUNT (reward_ID, owner_PID1, total_points_amount)44. TATSU_POINT_TRANSACTION (points_ID, reward_ID43, time, amount)

Contingent:45. CATEGORY_PRODUCT (cat_ID27, prod_ID4)46. THEME_PRODUCT (theme_ID29, prod_ID4)47. SIZE_PRODUCT (size_ID33, prod_ID4)48. EVALUATION_RATING (eval_ID24, rating_ID25)49. VISITING_IP_WEBPAGE (IP_addr37, page_ID36)50. SHIPPING_MATERIAL_ORDER_SHIPMENT (ship_mtl_OID17, ship_ID15, received_by_PID1)

Introduction Revised EER Interesting Queries ConclusionSchema

Page 12: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Queries

1. Granular Financial Analysis Visualization2. Predict Profitability of New Products3. Optimal Inventory Policy Management4. Collaborative Filtering via Distributed Matrix Factorization5. Ideal Warehouse Location for Future Expansion

Introduction Revised EER Interesting Queries ConclusionSchema

Page 13: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query (1)

Introduction Revised EER Interesting Queries ConclusionSchema

Granular Financial Analysis Visualization

Understanding financial drivers by identifying most and least profitable products

Compute revenue on a per-product basis

Visualize results

Compute profit on a per-product basis

Page 14: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query 1: Financial Facts¾ Goal: Turning raw data into insight by providing easy to understand visualization of pricing financials.

• VBA grabs results from Access and then feeds it into Excel

• Excel cleans raw data, calculates gross profits, and displays various graphs displaying profitability over time

Query 1: Financial Facts

Query (1) Granular Financial Analysis

Page 15: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query (1) SQL

Introduction Revised EER Interesting Queries ConclusionSchema

SELECT prod_ID, Sum(O.quantity)* (sell_price-buy_price) as Gross_ProfitFROM Order as O, Product as P WHERE year (order_date) = ‘2012’ and P.prod_ID=O.pro_IDGROUP by month(order_date), prod_IDORDER by prod_ID, month(order_date)

Page 16: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query (1) How To…

Introduction Revised EER Interesting Queries ConclusionSchema

Simply Click on an button I created in Excel

• VBA will grab data from Access and feed it to Excel• Excel will polish data and display various graphs includes

Click on this button in the Excel file

Each Product’s  

Gross Profit By Month

Company’s  Gross Profit

by Month

Gross profit by product

Past  3  years’  Cash Flow

Page 17: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query (1) Visualization

Introduction Revised EER Interesting Queries ConclusionSchema

0

50

100

150

200

250

300

350

400

Product Monthly Gross Profit

0200400600800

1000120014001600

Total Gross Profit by Month

0

500

1000

1500

2000

2500

3000

3500

4000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Gross Profit by Product

0200400600800

1000120014001600

2008

Q1

2008

Q2

2008

Q3

2008

Q4

2009

Q1

2009

Q2

2009

Q3

2009

Q4

2010

Q1

2010

Q2

2010

Q3

2010

Q4

2011

Q1

2011

Q2

2011

Q3

2011

Q4

2012

Q1

2012

Q2

2012

Q3

2012

Q4

Company Cash Flow

Page 18: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query (2)

Introduction Revised EER Interesting Queries ConclusionSchema

Profit Contribution Distribution

Find the contribution of each product to the gross profit

Identify Most Profitable Products

Separate winning and losing products

Discover Distribution Type

Page 19: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query Two Query Four

Query Two Technology

Page 20: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query Two Query Four

Data

SELECT p.prod ID, p.release date, p.prod lineID, release date,(o.quantity ⇤ (o.price - p.buy price))FROM Order as o, Product as pWHERE o.prod ID = p.prod ID;

Data-Generating Distribution

Suppose x ⇠ N(µ,⌃)⇤, µ = 0, ⌃i ,j = 0 i↵ i = j

⇤ Can be tuned for non-gaussian distributions

Page 21: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query Two Query Four

Theory

Find the maximizer of the penalized log-likelihood

Grid-Search

Perform brute-force search in hyper-parameter space. Finds theoptimal* hyperparameter, as measured by performance on k-foldvalidation.

K-Fold Cross Validation

Randomly distribute datapoints into k partitions. Train on firstk � 1 partitions, and test on the k

th partition. Permute testpartition k-times.

⇤ Hyperparameter space is non-convex

Page 22: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query Two Query Four

Results

Page 23: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query (3) Optimal Inventory Management Policy

Introduction Revised EER Interesting Queries ConclusionSchema

A Continuous Review Inventory Model

Automatically calculate and display results

SQL extract data from Access and export to Excel MS Access

Excel

Advantages Over Traditional EOQ:Captures Demand Variability, Order Lead Time & Profit Contribution

Page 24: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query (3) Mathematical Model (1)

Introduction Revised EER Interesting Queries ConclusionSchema

For each product j, selectK: Fixed ordering cost, i.e. transportation cost and administrative costD: Average demand per unit timeσ: Standard deviation of demand per unit timeC: Buy priceP: Sell priceb: backorder penalty costi: Interest rate (opportunity cost)LT: order lead time

Decision Variables: Q: optimal order quantityR: reorder point

Order Q whenever the on-hand inventory falls to R

Page 25: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Critical fractile: cu

cu + co=

b+ (P C)*(1 sub%)

b+ (P C)*(1 sub%) + i c(QD

)

ic QD

= cost of holding one unit in inventory for one cycle (plays the role of co )

Query (3) Mathematical Model (2)

For Q, use the EOQ quantity

To determine R?• First need to determine an optimal service level

Recall in Newsvendor Model

• Find Z score corresponding with critical fractile• R = mean demand during lead time + Z*standard deviation of demand

during lead time

2KD / iC

R =D*LT +Z * LT *

Loss Profit

Page 26: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query (3) SQL

Introduction Revised EER Interesting Queries ConclusionSchema

MONTHLY_SALE TableSELECT o.prod_ID, Month(o.order_date) AS [Month], Year(o.order_date) AS [Year], Sum(o.quantity) AS quantity INTO MONTHLY_SALEFROM 02_ORDER AS oGROUP BY o.prod_ID, Month(o.order_date), Year(o.order_date)ORDER BY Sum(o.quantity) ASC;

EXPORT TableSELECT MS.prod_ID, AVG(MS.quantity), STDEV(MS.quantity), AVG(PI.fixed_cost), P.buy_price, P.sell_priceFROM 06_PRODUCT_INVENTORY_ORDER AS PI, MONTHLY_SALE AS MS, 04_PRODUCT AS PWHERE PI.prod_ID=MS.prod_ID AND P.prod_ID=MS.prod_IDGROUP BY MS.prod_ID;

Page 27: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query (3) Sample Output

Introduction Revised EER Interesting Queries ConclusionSchema

Page 28: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query (4)

Introduction Revised EER Interesting Queries ConclusionSchema

Intelligent Product Recommendations

Find the sparse user-product matrix for collaborative-filtering

Increase Volume

Product Discovery

Increase Customer Engagement

Page 29: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query Two Query Four

Query Four Technology

Distributed Collaborative Filtering via Matrix Factorization

One machine, four cores, eight parallel threads.

Page 30: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query Two Query Four

Data

SELECT pr.PID, pr.prod ID, scoreFROM Product Rating as pr;

Data-Generating Distribution

Suppose ni ⇠ N(µ,⌃), µ = 0, ⌃i ,j = 0 i↵ i = j , ni 2 N IID

Page 31: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query Two Query Four

Theory

Definition

||.||F is the Frobenius Norm

Definition

X

⇤ is the conjugate transpose of a matrix X. X ⇤ = X

t over R

Definition

< ., . > is the euclidean inner product

Definition

PE is the projection onto a feasible set E

Definition

x

⇤ is an optimal solution

Page 32: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query Two Query Four

Theory

Can be thought of as minimizing a distance in matrix-space

N,X ,Y 2 M(R), � 2 F

min F (X ,Y ) := 1

2

||PE (N � XY

⇤)||2F + �2

||X ||2F + �2

||Y ||2F= 1

2

P(i ,j)2E (Ni ,j� < xi , yj >)2 + �

2

||xi ||22

+ �2

||yj ||22

Alternating Least Squares (ALS)[2]

Problem is non-convex in X and Y . Fix one of the unknowns, andalternate. Result is a convex QP. Can be cast as an SDP usinglifting.

Page 33: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query Two Query Four

Results

Training Error = .40372

Page 34: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query Two Query Four

Page 35: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query Two Query Four

Page 36: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query (5) Geographic AnalyticsWhat is the ideal warehouse location for future expansion ?

Find all the total sales sorted by cities

Computed Weighted distance and get optimized warehouse location

Visualized it based on the Google map

MS Access

Rstudio

Introduction Revised EER Interesting Queries ConclusionSchema

Page 37: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query (5) SQLExtract data by SQL from Access

Select a.city AS city, sum([o.quantity]*[o.price]) AS Sales_PerformanceFrom 02_ORDER AS o, 22_ADDRESS AS awhere o.placed_by_PID IN(select p.PIDFrom 23_person_address as pWhere a.addr_ID = p.addr_ID)group by a.city;

(this table has two columns : city, and sales performance)

Introduction Revised EER Interesting Queries ConclusionSchema

Page 38: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Objective function: minimize the sum of weighted distance

Select the distances that potential warehouse is less than current warehouse

Compute distances from each customers to current warehouses and potential warehouse

Query (5) OptimizationLimited-Memory BFGS: in the family of quasi-Newton methods

Box Constraint: US long and lat

Page 39: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

• GPS: enable retrieve of longitude and latitude from Google of any addresses. • lmRsd: compare Gross State Product for past ten years and fit a linear model to it• plotUSBaseMap: plot the base map from the google maps and plot US borders of

each states. • plotSalesMap: plot sales performance of each cities on and optimal warehouse on the

google map with reference of gross state product as an economic measure of each state.

• SalesMap : plot current and optimal warehouses with arrows pointing to customer locations.

Query (5) VisualizationSome important functions:

All in one single package!

Page 40: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Query (5) Sample OutputJust simply call the function named “final”

> final()iter 0 value 370.701250final value 320.406500 converged$par[1] -85.80996 38.03796

$value[1] 320.4065

$countsfunction gradient

10 10

$convergence[1] 0

Optimized Location

Optimized sum of weighted distance

Number of calls to objective function and computing hessain

Integer code. 0 indicates successful completion

Page 41: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Albuquerque NMAtlanta GA

Austin TX

Baltimore MD

Boston MA

Charlotte NC

Chicago IL Cleveland OH

Columbus OH

Dallas TX

Denver CO

Detroit MI

El Paso TXFort Worth TX

Fresno CA

Houston TX

Indianapolis IN

Jacksonville FL

Kansas City MO

Las Vegas NV

Long Beach CALos Angeles CAMemphis TN

Mesa AZ

Milwaukee WI

Nashville TN

New Orleans LA

New York NY

Oklahoma City OK

Omaha NEPhiladelphia PA

Phoenix AZ

Portland OR

Sacramento CA

San Antonio TX

San Diego CA

San Francisco CASan Jose CA

Seattle WA

Tucson AZ

Virginia Beach VA

WASHINGTON DC

currentcurrentcurrentcurrent optimaloptimaloptimaloptimal

20

30

40

50

−120 −100 −80Longitude

Latit

ude 0.01

0.02

0.03

0.04Performance Ranking

0.00

0.25

0.50

0.75

1.00GSP Ranking

TatsuHobby

Page 42: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Decomposing to 1NF

SUPPLIER (supplier_ID, liason_PID, supplier_name, catalog)

Normalize to 1NF:

SUPPLIER (supplier_PID, liason_PID, supplier_name)

SUPPLIER_CATALOG(supplier_PID, catalog)

Page 43: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Decomposing to 2NF

EVALUATION (eval_ID, customer_PID, order_ID, prod_ID, add_points_ID, ship_score, pack_score,

prod_score, review)

Normalize to 2NF:

EVALUATION (eval_ID, customer_PID, order_ID, prod_ID, add_points_ID)

EVAL_SCORE(eval_ID, ship_score, pack_score, prod_score, review)

eval_ID {ship_score, pack_score, prod_score, review}

Page 44: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Decomposing to 2NF

PAYROLL (payroll_ID, employee_PID, trans_ID, aggregate_work_hr, hourly_rate, claimed_status)

Normalize to 2NF:

PAYROLL (payroll ID, employee_PID, trans_ID, aggregate_work_hr, hourly_rate, claimed_status)

SALARY_CHART (employee_PID, hourly_rate)

employer_PID hourly_rate

Page 45: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Decomposing to 3NF&BCNF (1):

SHIPMENT (ship_ID, ship_fee, trans_ID, shipserver_ID, from_addr_ID, to_addr_ID, est_trans_time, dispatch_date, receive_date)

Normalize to 3NF & BCNF:

SHIPMENT (ship_ID, ship_fee, trans_ID, shipserver_ID, from_addr_ID, to_addr_ID, est_trans_time)

SHIPPING_TIME_ESTIMATE(from_addr_ID, to_addr_ID, est_trans_time)

{from_addr_ID, to_addr_ID} est_trans_time

Page 46: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Decomposing to 3NF&BCNF (2):

SHIPMENT (ship_ID, ship_fee, trans_ID, shipserver_ID, from_addr_ID, to_addr_ID, est_trans_time, dispatch_date, receive_date)

Normalize to 3NF & BCNF:

SHIPPING_RECEIVING_TIME (est_trans_time, dispatch_date, receive_date)

SHIPMENT (ship_ID, ship_fee, trans_ID, shipserver_ID, from_addr_ID, to_addr_ID, est_trans_time)

{est_trans_time, dispatch_date} receive_date

Page 47: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Q&A

Thank You for Your Time!

Introduction Revised EER Interesting Queries ConclusionSchema

Page 48: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Appendix (1)

Links to Video Demonstrations in YouTube

Data Input: How to Use Forms- linkQuery 1: Conversion Funnel- linkQuery 2: Profit Contribution Distribution- linkQuery 3: Optimal Inventory Policy Management- linkQuery 4: Users and Ratings for Collaborative Filtering- linkQuery 5: Facility Location: Where are our Order Coming From Geographically? - link

Data Information Insight

Page 49: Relational Database Design - University of …courses.ieor.berkeley.edu/ieor115/labs/DP-fa2013/Team5...Our Client Tatsu Hobby“To bring the best selection of collectible toys, tagged

Appendix (2)

Works Cited:

Further Reading on Mathematical Modeling

Query 1: Conversion Funnel- linkQuery 2: Profit Contribution Distribution- linkQuery 3: Optimal Inventory Policy Management- linkQuery 4: Users and Ratings for Collaborative Filtering- linkQuery 5: Facility Location: Where are our Order Coming From Geographically? - Link