DAY 9: DATABASES Rohit Rorohit@mix.wvu.edu September 21, 2015 1 SCENARIO MANAGER • Scenario Manager is a what-if analysis tool that allows you to define up to 32 scenarios to compare their effects on calculated results • Data->Data Tools->What-If Analysis>Scenario Manager • Example: Profit calculations for a business based on units sold, production cost per unit, shipping cost per unit 2 ADDING SCENARIOS • Data->Data Tools->What-If Analysis>Scenario Manager • Add… – Scenario name – Changing cells – Set values for each cell • Example: – Best Case: 75,000 units, $38/unit production cost, $0.30/unit shipping cost – Likely Case: 50,000, $42.95, $0.5 – Worst Case: 25,000, $48, $0.75 3 WORKING WITH SCENARIOS • • • • Delete Edit Show Summary – Regular summary – PivotTable summary 4 SOLVER • Solver is similar to goal seek, but it allows multiple input values to change • Solver is an Add-In, so it must be loaded before you can use it – File->Options->Add-Ins->Manage: Excel AddIns-> Go… – Check “Solver Add-in”-> OK 5 DATABASES • A database is an organized collection of data • There are many types of databases – Flat File – XML – Workbooks – Relational – Key-Value Store 6 POPULAR DROP-OUT BILLIONAIRES (IMPORTANCE OF COMPUTER SKILLS) 7 WHY LEARN THESE SKILLS? • Database skills are an essential part of basic computer skills like Programming. • Limitless possibilities with a 800$ computer from the comfort of home (consume or produce). • Create own website/blog (commercial, personal). • Computer skills like Programming, Database Management, Blogging are like culinary skills. • Business Plan competition. 8 WHERE ARE DATABASES USED? • Storing bank records, corporate data, etc. • Storing login credentials for websites/blogs. • Store content of popular websites like Flickr.com, YouTube.com, etc. • Store content of popular services like Netflix, Instagram,Pandora, iTunes, Spotify, Game Center (iOS), App Store, Play Store (Android App Store). 9 WHERE ARE DATABASES USED? Source: oracle.com 10 RELATIONAL DATABASES • Access is a relational database – A relational database is a collection of data items organized as a set of formally described tables from which data can be accessed easily – In addition to table definitions, there are also relationships between tables 11 RECORDS AND FIELDS REVIEW • A single entry in a table is called a “record” – A record (row) is one or more pieces of data about a single entity • Each piece of data in a record is a “field” (column). • A table definition lists all the fields the records in that table have – The definition can define default values for fields – Some fields are required for each record, others are optional 12 KEYS • Each table has to have a “primary key”. This is a field, or a combination of fields that will be unique to each record • Keys allow you to identify a particular record • You can use the key in other tables to reference the record 13 INDEXES • Indexes are an ordering of a key or other field that is computed on creation and kept up to date as the database is updated • By using the index, the database software is able to quickly retrieve the record given the field value 14 RELATIONSHIPS • By including a the key from one table as a field in a different table, we create a relationship between the two tables • This allows us to link the data between two tables • In the second table, the field is known as a “foreign key” 15 EXAMPLE • Two tables: People, PhoneNumbers – People: id, first_name, last_name, birthdate – PhoneNumbers: id, country_code, area_code, number, person_id • PhoneNumbers.person_id would hold the same value as People.id for phone numbers that belong to the given person 16 CASCADING • If the records with the foreign key are only used as an extension of the original table, you may want to cascade updates and/or deletes – Deletes: If the original record is deleted, the foreign key record is deleted – Updates: If the key of the original record is changed, the foreign key is updated to match 17 PLANNING DATABASES • Define what tables you need • Define what fields belong in each table • Define what data types each field should be • Define default values for each field • Choose between required and optional 18 NORMALIZATION • Normalization is a process of organizing fields and tables to minimize redundancy of data – DRY (don’t repeat yourself) – If you repeat yourself, when you need to make a change you have to change it everywhere or you will have problems 19 SQL • SQL is structured query language • SQL is how Access interacts with data under the hood • INSERT INTO ‘table’ (‘field1’, ‘field2’) VALUES (‘value1’, ‘value2’) • UPDATE ‘table’ SET ‘field1’ = ‘value1’ WHERE ‘field2’ = ‘value2’ • DELETE FROM ‘table’ WHERE ‘field’ = ‘value’ • SELECT ‘field1’ FROM ‘table’ WHERE ‘field2’ = ‘value’ 20 COMMON EXCEL ISSUES • Switch Row/Column • Merge (but not center) • Relative/Absolute/Mixed References 21