Chapter 1 & 2 Relational Databases and Queries CS101 WVU 1 Working with Table Views • Datasheet View • Design View 2 Design View 3 Datasheet View 4 Using Forms, Queries and Reports • Tables – Primary Key • Forms • Queries – Criteria • Reports . 5 Tips on Database Management • Database files should be named using meaningful names • Database files should be stored in meaningful folders and subfolders • Back up your files! 6 Compacting & Repairing a Database • Access databases increase in size over time • Compacting – Avoids loss of data – Recovers unclaimed space – Defragments fragmented databases – Repairs corrupt databases 7 Steps in Compacting & Repairing and Backing-up Your Database Back Up Database option . 8 Backing Up a Database • Backups are critical to a database • Access provides a default file name, including the original file name and adds on the current date • Default extension for Access databases is accdb 9 Creating Relationships • A common field—used to relate two tables together • Join lines—allow relationships between two tables to be created on a common field • Three types of relationships used by Access to manage relationships between tables: – Enforce referential integrity – Cascade update related fields (see Chapter 2) – Cascade delete related records (see Chapter 2) 10 Using the Relationships Window • Relationships should be created after the tables are created, but before any data is entered • Relationships between tables are represented by join lines in the Relationships window • Most common method of connecting two tables is using a primary key from the primary table to the foreign key in the related table 11 Referential Integrity • Ensures that data cannot be entered into a related table unless it first exists in the primary table • Example: – Banks would not want to offer a loan to an individual unless that individual was already established as a customer of the bank. – Thus, the customer has to be entered into the customer table, before a new loan can be made in the loan table with that customer’s ID. 12 Relationships Window 13 Table Design: Designing Data • Table Definition – Revised • Input vs. Output in Design 14 Designing Fields Guidelines 1. 2. 3. 4. 5. 6. Include the necessary data Design for now and the future Store data in its smallest parts Add calculated fields to a table Design to accommodate date arithmetic Link tables using common fields 15 Include Necessary Data • Determine what data is necessary • Create a rough draft of reports that may be needed • Create tables based on fields necessary for reports 16 Design for Now and the Future • Organizations evolve over time • Databases should evolve with the organization – Anticipate future needs of the organization – Build flexibility into system to satisfy future needs 17 Store Data in Smallest Possible Pieces • Creating a name field with the entire name in it violates good database design and reduces the usefulness of the data • Divide data into the smallest pieces that you’re going to need to access – Example: Prefix, FirstName, LastName, Suffix • Provide flexibility for the user 18 Calculated Fields in a Table • Produce a value from an expression or function that references one or more existing fields • Access 2010 allows the user to store calculated fields – Can be a benefit or a potential problem – Exercise caution when using calculated (derived) fields 19 Design to Accommodate Date Arithmetic • Calculated fields can also create date/time data • Plenty of examples available for using date/time date arithmetic 20 Link Tables Using Common Fields • Tables may be joined based on a common field • Join lines are created – Manually by the user, or – Automatically by Access when two fields in separate tables share the same name between two related tables • Avoid Data redundancy errors – The unnecessary storage of duplicate data in two or more tables 21 Creating Tables • Create fields in Design View • Import data from another database or application – Examples: Excel spreadsheets or Word text files • Enter data directly into rows in Datasheet view 22 Creating Fields in Tables • Field names should be meaningful • Rules for naming fields: – Length can be up to 64 characters – Can include letters, numbers and spaces – Access uses CamelCase notation • Use uppercase letters for each first letter of each new word • Example: ProductCost 23 Field Data Types • Every field has a data type • Determines: – The type of data that can be entered – The operations that can be performed on that data • Access recognizes 10 data types 24 Access Data Types • • • • • • Number Text Memo Date/Time Currency Yes/No • • • • OLE AutoNumber Hyperlink Attachment 25 Foreign Key Review A field in one table that is also a primary key of another table SpeakerID is the primary key of the Speakers SpeakerID is the foreign key in the SessionSpeaker table (duplicates are allowed) 26 Using Table Views Datasheet View Active record 27 Using Table Views • Design View • PivotTable • PivotChart 28 Work with Field Properties • • • • • Field property Text data type Number data type Caption property Validation rule 29 Access Field Properties • • • • • • • Field Size Format Input Mask Caption Default Value Validation Rule Validation Text 30 Access Field Properties (continued) • • • • • Required Allow Zero Length Indexed Expression Result Type 31 Understanding Table Relationships • Efficiently combine data from related tables • Create queries, forms, and reports 32 Establishing Referential Integrity • Edit Relationships dialog box • Select Enforce Referential Integrity checkbox 33 Set Cascade Options • Cascade Update Related Fields • Cascade Delete Related Records Click Enforce Referential Integrity Click Cascade Update in case the primary key changes Click Cascade Delete with caution 34 Options on External Data Tab • • • • Import & Link Export Collect Data Web Linked Lists Click Excel to import spreadsheet data External Data Tab 35 Import Data from Excel Click Browse to find a spreadsheet Decide what you want to do with the data 36 Import Data from Excel (continued) Choose the worksheet to import Preview of the worksheet data Click Next to continue 37 Import Data from Excel (continued) Column headings Click Next to continue 38 Import Data from Excel (continued) Change Indexed property to Yes (No Duplicates) Click Next to continue 39 Import Data from Excel (continued) AID becomes the primary key Click Next to continue 40 Import Data from Excel (continued) Accounts becomes the table name Click Finish to import the data 41 Types of Relationships • One-to-one relationship • One-to-many relationship • Many-to-many relationship 42 Establishing a One-to-Many Relationship • Open Relationships window • Add tables • Establish relationships Show Table window 43 Relationships Between Tables One-to-many relationships Edit Relationships dialog box 44 Relationships Window Join lines Many side: the “” (infinity symbol) 1 side 45 Single-Table Queries • Show Table • Design Grid to add Query Design—Tables – Field row – Table row – Sort row – Show row – Criteria Query Design Grid—Fields, Sorting, and Criteria 46 Datasheet View of Results Query results in Datasheet view Only accounts with a balance over $5,000 Nine records match the criteria 47 Specifying Criteria for Different Data Types • Field data type • Delimiters • Criteria 48 Wildcards • The question mark (?) – Example: H?LL will return Hall, Hill, and Hull • The asterisk (*) – Example: S*nd will return Sand, Stand, and StoryLand 49 Operators & Operands • Operators • Operands – – – – Use >10 For a Price field, items with a price over $10.00. Use >=10 for a Price field, items with a price of at least $10.00. Use <>10 for a Price field, items with a price not equal to $10.00. Use #2/2/2012# for a field with a Date/Time data type, such as a ShippedDate field, orders shipped on February 2, 2012. – Use “Harry” for a text field, find the name Harry. – Use Date( ) for an OrderDate field, orders for today’s date. – Use Between #1/1/2012# and #3/31/2012# for a specified interval between a start and end date, including the start and end dates. 50 Null and Zero-Length Strings • Null • Is Not Null 51 Query Sort • Determines the order of records • Determined from left to right 52 AND, OR, and NOT Criteria • And operator • Or operator • Not operator 53 Using the Query Wizard • Launch Query Wizard • Modify Query in Design view Query Wizard 54 Query Wizard Fields already moved to the Selected Fields list Select a Table or Query Select detail or summary data Remove all fields from the Selected Fields list Remove a single field from the Selected Fields list Move all fields to the Selected Fields list Move a single field to the Selected Fields list 55 Multi-Table Queries • • • • Permit multiple tables Use related tables Similar to creating a single-table query Fixing a common problem 56 Resources Chapter 1 & 2 Relational Databases and Queries Exploring Microsoft Access 2010 57