1 Chapter 2 Reviewing Tables and Queries 2 Chapter Objectives • Identify the steps required to develop an Access application • Specify the characteristics of a welldesigned table • Create a new Access table with its corresponding fields, keys, indexes, validation rules, input masks, and formats 2 Chapter Objective • Create relationships between tables • Create select queries, totals queries, and action queries • Create queries in SQL view 2 The Access Application Development Process • Structured systems development approach Includes a formal requirements specification phase, followed by the creation of an application blueprint, and then by programming • Prototyping approach Requires the developer to build an initial system quickly, with a shorter requirements and design phase 2 The Access Application Development Process Figure 2-1 Access application development process 2 Table Development • Data constraints Valid values for the data Many can be enforced through the design of the Access tables and relationships 2 Terminology and Rules of Table Design Figure 2-2 Design view of tblCurrentSt udents 2 Terminology and Rules of Table Design • Primary key A field or a combination of fields that always contains a value that uniquely identifies a row in a table • Composite key (or multiple-field primary key) A primary key that consists of two or more fields • Foreign key A field or a combination of fields that contains values that are also contained by a primary key (usually, but not always, located in another table) May also be null 2 Terminology and Rules of Table Design Figure 2-3 Query that retrieves students who need MKTG 641 (good table design) 2 Terminology and Rules of Table Design Figure 2-4 Query that retrieves students who need MKTG 641 (poor table design) 2 Terminology and Rules of Table Design • Points to follow when constructing tables: When two or more tables contain the same fields, consider collapsing the multiple tables into a single table When a table contains several similar fields, consider creating another table that contains the primary key of the original table plus a single field that combines the similar fields of the original table 2 Terminology and Rules of Table Design • Points to follow when constructing tables (continued): If the values of two or more fields always appear together in different rows, whether in the same or different tables, consider creating a new table that contains the related fields Creation process is called normalization 2 Normalization • Normalization Process that involves splitting tables into more than one table in an effort to control data redundancy • Dependency Exists between fields when a filed or fields determine the value of another field 2 Normalization Table 2-1 Normal form summary 2 Normalization Table 2-1 Normal form summary (continued) 2 Constraints in the Design View of a Table • Field Name column Contains the name of the field • Data Type column Identifies the kind of data that can be stored in the field Enforces a constraint • Field Size property Specifies how many characters or the type of number that can be contained in the field Provides an additional constraint that validates the entry of data into a field 2 Constraints in the Design View of a Table • Additional data types supported by Access: AutoNumber Tells Access to generate a value for the field automatically ReplicationID Used when copies of a table are kept on more than one computer Ensures that the value generated for the field is unique across different computers 2 Constraints in the Design View of a Table Table 2-2 Data types supported by Access 2 Constraints in the Design View of a Table Table 2-2 Data types supported by Access (continued) 2 Field Properties for Constraint Enforcement and Formatting • You can specify the non-null constraint for nonkey fields by choosing Yes in the Required field property • Non-null constraint Requires that all records contain a value for that field • Zero-length string A valid value that is defined as “” • Choosing No in the Allow Zero Length field property prevents the use of zero-length strings 2 Field Properties for Constraint Enforcement and Formatting • Index Maintains a sorted list of the current values of a field or fields Items in the list point to the records that have the identified value Created automatically for primary keys 2 Field Properties for Constraint Enforcement and Formatting Figure 2-6 Indexes window of tblLevelingNeeded 2 Validation Rules and Validation Text Field Properties • Validation rule Condition that the corresponding field must satisfy • Validation text Displayed if the condition of validation rule is not satisfied • Conditional expression Any statement that can be evaluated as True or False 2 Table Properties Validation Rule • Table Properties validation rule Required when a constraint requires a comparison of the contents of two or more fields in the same table Typed in the Table Properties sheet 2 Table Properties Validation Rule • Access allows the creation of fairly complex validation rules • Between, In and Like Operators that return True or False values • Dlookup function Used in a table-level validation rule to compare a value to values found in another table 2 Table Properties Validation Rule • Input mask Constraint mechanism Guides users as they type input Prevents users from typing incorrect values • Input Mask Wizard Helps set up input masks • Default Value field property Specifies the initial value of the corresponding field 2 Table Properties Validation Rule Table 2-4 Input Mask symbols 2 Properties Used for Formatting • Caption property Refers to the heading or prompt that will initially appear on a form or report when the corresponding field is included • The default type of control that appears on a form or report is specified through the Display Control combo box, which is located in the Lookup tab in the Field Properties section of the table’s Design view 2 Properties Used for Formatting • Description column Affects a form by placing the value of the Description column as the default status bar text • Format field property Used to indicate how stored data should be displayed 2 Properties Used for Formatting Table 2-5 Symbols used in the Format property 2 Multiple Table Relationships • Foreign keys Used to maintain relationships between tables • Joining the tables Process of matching common attribute values 2 Multiple Table Relationships • Referential integrity A constraint on data values that forces the value of a foreign key to either: Match a primary key value that is contained in a row of the related table or Equal null • Explicit relationships also facilitate the use of subdatasheets Allow you to display related records that are nested within the datasheet of a table 2 Multiple Table Relationships Figure 2-7 Some of the relationships in the Relationships window for MU-DSci 2 Multiple Table Relationships • Referential integrity between the primary key and foreign key is enforced by placing a check mark in the Enforce Referential Integrity check box • In the Relationships dialog box, when Cascade Update Related Fields is checked, changes in the primary key value are automatically propagated to the corresponding foreign key value 2 Multiple Table Relationships Figure 2-8 Relationships dialog box between the tblCurrentStudents and tblLevelingNeeded 2 Multiple Table Relationships • When Cascade Delete Related Records is checked, row deletions in the primary key table will cause deletions of related rows in the foreign key table • One-to-one relationship Indicates that a value of the primary key can exist in only one row as a foreign key • One-to-many relationship Indicates that a value of the primary key can exist in more than one row as a foreign key 2 Linked Tables • To use linked tables, you must: Develop table definitions and table data in one database called the source database Develop the queries, forms, reports, pages, macros, and modules in a different database called the container database 2 Query Development • Queries Provide an efficient and easy method of retrieving, manipulating, and summarizing data Access queries are specified in the Structured Query Language (SQL) • Action queries Make-table, update, append, and delete queries 2 Query Development • Join lines Relationships predrawn between selected tables in the query’s Design view if relationships have been declared between tables or if Access can guess relationships between tables Created by dragging a field from one table to a field in another table 2 Query Development Figure 2-11 Access Query menu and design grid 2 Query Development Figure 2-12 Query showing the leveling courses needed by each current student 2 Select and Crosstab Queries • Select queries Retrieve data from other tables or queries • Field names appear in the Field row of the grid • Criteria row of grid Limits the displayed rows to those that meet a specified condition Contains any statement that evaluates to True or False 2 Joins • Inner join Default join type Includes rows only when the fields being compared contain matching values 2 Joins Figure 2-13 Join Properties dialog box 2 Totals Queries • Totals queries Select queries that aggregate values • The Group By item in the Total list box Tells Access to aggregate the other fields per each unique value within the Group By field 2 Totals Queries • A Where specification in the Total row States that the field will be tested for a criterion before it is included in the aggregations specified by the other columns • Crosstab query Similar to a totals query, except that the former requires at least two Group By fields 2 Action Queries • Delete queries Remove rows from a table Figure 2-16 Design view of qryDeleteDen iedProspects 2 Action Queries • Make-table queries Similar to select queries, except that the query results are physically stored in a new table • Append queries Similar to make-table queries, except that the results of the select query are appended to an existing Access table • Update queries Change field values in existing rows in a table 2 Parameter Queries • Parameter queries use parameters to substitute for the constant values placed in the query grid Figure 2-17 Design view of the qryUpdat ePrice update query 2 Chapter Summary • Queries, forms, reports, macros, pages, and modules display or manipulate the data contained in the tables • Applications should attempt to ensure data integrity through table and relationship design • Primary keys, input masks, validation rule, and referential integrity can all be used to enforce data constraints 2 Chapter Summary • Queries are closely related to tables • Totals and crosstab queries aggregate data stored in the tables • Action queries update data in the tables • Like tables, queries are commonly used by forms, reports, pages, macros, and modules