Download as pdf or txt
Download as pdf or txt
You are on page 1of 68

Microsoft Access

Database Creation and Management


Overview of Access Database
◼ One of database management systems
software.
◼ Access, SQL Server, Oracle, DB 2
◼ MS Access is a relational database.
◼ a collection of tables that are related to one
another based on a common field.
How Access creates and saves a new
database
◼ Create a new database
◼ Database name: your last name + first initial of first name
◼ When you press the Save button in Access, you are
saving the design of the Access objects and NOT the
database itself!
◼ The Save function in Access differs from the Save function in
other Windows programs.
Characteristics of Relational DB
◼ In a relational database, each record (row)
in a table must be uniquely identified.
◼ Using Primary Key
◼ A relational database is a collection of
tables that are related to one another
based on a common field.
◼ Using Foreign Key (& Primary Key)
Primary Key (PK) & Foreign Key (FK)
◼ PK: A field that uniquely identifies each record in a
table.
◼ SS#, Student ID
◼ It does not have to be first field.
◼ FK: A field that connects one table logically with
another table
◼ Rule of Thumb: PK = FK (value) – see next slide
Relating tables using PK and FK
The primary key in the
Employer table (EmployerID)
is the common field that
relates this table to the
Position table.

PositionID is the primary key in


the Position table. The
EmployerID field is a foreign key
in this table.

Primary keys can only have one


occurrence in a table. Foreign keys
may have multiple occurrences.
Kyungsoo Engineering Firm DB
◼ Kyungsoo Engineering Firm is a small firm which
provides engineering and construction services to small
owners and companies. Kyungsoo Do, the Director of
the firm, and his staff use Access to maintain company
data such as customer orders and billing, material
supplier orders and payments, and advertising
placements and payments. Kyungsoo has a recently
developed database named Firm 1 to track the
company’s clients and customers, their orders, and
related data such as the products they order. He asks
for your help in completing and maintaining this
database.
Descriptions of Firm DB
◼ Kyungsoo Engineering Firm 1 database will
contain five tables:
◼ Customer table, which Kyungsoo already has.
◼ Order table, which you will create soon.
◼ Product and Order Detail tables, which you
will import from POD database.
◼ Billing Address table that is in Excel format
and you will import it, and then convert to Access
table.
Creating an Order table
◼ Kyungsoo wants to track information about each
order placed by each firm client. This information
includes the order’s billing date and invoice amount.
Kyungsoo asks you to create a second table in the
firm database, named Order, in which to store the
order data.
Creating an Order table
◼ Use Design view
◼ Case sensitive
◼ NUMBER vs. number
◼ Exact match of each name
◼ Use tap key to enter data
◼ Especially, when you enter data in datasheet view.
Access data (field) type
Make certain the field type you select matches the data to be held in that field.
Access data (field) type (con’t)
Additional Access field types.
Creating the Order table

Field Name Data Type Description Field Properties

OrderNum Text primary key Field size (3), Required (Yes)

CustomerNum Text foreign key Field size (3)

BillingDate Date/Time

PlacedBy Text person who Field size (25)


placed order

InvoiceAmt Currency
Adding Records to a Table
◼ Enter data sequentially in Datasheet view
◼ Do not jump from field to field
◼ Use tap key to enter data

OrderNum CustomerNum BillingDate PlacedBy InvoiceAmt


323 624 02/15/2022 Rey Lucero 1,986.00
201 107 01/15/2022 Noli Marquez 854.00
Modifying a Table
◼ From the Order table
◼ Delete the PlacedBy field
◼ Move the BillingDate field to the end of the table

◼ Insert the Paid as a new field between CustomerNum and


InvoiceAmt (position) fields
◼ data type: Yes/No

◼ default value: No (means “unpaid”)

◼ Add following data to each filed: 211, 201, paid (mark the

check box using space bar), 703.50, 01/15/2022


Practice: Creating a DB
◼ Kyungsoo needs a database to track the services
offered by his engineering firm. He asks you to
create the database by completing the following:
◼ In the initial Microsoft Access dialog box, click the
blank Access database option button, and then click
OK button. Click the Create button the new
database.
◼ YOUR LAST NAME DB file name
◼ Display the Table window in Design view (if
necessary), and then create a table using the table
design shown in the next slide.
Practice: Creating a Table
Field Name Data Type Description Field Properties
ProductCode Text Primary Key Field size (4), Required: Yes
OrderCode Text Foreign Key Field size (4)
Price Currency Price for this product
Quality Text X if substandard, Null Field size (1), Default Value: D
if passed
BackOrdered Yes/No back-ordered from Default Value: No
supplier?
◼ Specify ProductCode as the primary key, and then save the table as
Product.
◼ Add the product records shown in next slide table to the Product table.
(Hint: You must type the decimal point when entering the Price field
values.)
Practice: Modifying a Table
ProductCode OrderCode Price Quality BackOrdered
2316 DKS 8,990 Yes
9754 PCY 40,000 Yes
9309 OSH 1,760 X No

◼ Add a new field between the CoffeeCode and Price fields, using these
properties;
◼ Field Name:WeightCode
◼ Data Type: Text
◼ Description: foreign key
◼ Field Size: 1
◼ Move the Quality field so that it appears between the WeightCode and
Price fields.
Practice: Updating a Table
◼ Enter these WeightCode values for the three records: A for
ProductCode 2316, B for ProductCode 9309, and E for
ProductCode 9754.
◼ Add a record to the Product datasheet with these field values:
◼ ProductCode: 9729
◼ OrderCode: EXO
◼ WeightCode: E
◼ Quality: X
◼ Price: 39,750
◼ BackOrdered: Yes
Data Integrity (PK Rule)
◼ No “null” value can be allowed.
◼ No two records can have the same primary key.
◼ No two SLC students can have same ID number.
◼ A PK can be “composite key”
◼ Example
◼ “Composite PK Example”
◼ More than one field can be used as a PK (composite)
Importing External Access Table and
Excel Worksheet
◼ Kyungsoo also wants you to include the Product and
Order Detail tables from the POD database in the
Firm database.
Importing External Access Table and
Excel Worksheet (con’t)
◼ And he wants you to include the Billing Address
Excel worksheet as a Access table in the Restaurant
database.
◼ Before try to import the excel file, review it first
◼ Use Excel column headings for Access table
◼ PK: CustomerNum
◼ Specify in the description area of Design View that
CutomerNum is not only primary key of
BillingAddress table but also a foreign key of
Customer table.
Access is a relational database
◼ Access allows you to form relationships between the
tables; that’s why it’s called a relational database
◼ The simplest way to create a relationship
◼ Look for identical field names between tables.
◼ Tables can be joined in three ways; one-to-one, one-
to-many, and many-to-many.
An example of a
one-to-many relationship
The Employer table is related to the Position table via the common field EmployerID.

The Employer table has


one record for EmployerID
value 10126. The Position
table has two records.
A one-to-one relationship
◼ A one-to-one relationship exists when one
table has one record associated with only
one record of another table.
◼ As we saw from PK as FK database
◼ Shipping Address table is an related table.

◼ Primary table: customer table

◼ Primary key is also foreign key: only Access


Using referential integrity
◼ Referential integrity allows you to maintain the
integrity and consistency between related tables.
◼ If you choose to enforce referential integrity, you can insure
that you will not have records that have no matching record
in the primary table.
◼ The rules associated with referential integrity specify
that when you update or delete a record (PK) in the
primary table, a matching record (FK) in the related
record must be updated or deleted.
Practice: Creating Relationship 1
◼ Create a blank database (use any name you like) And
then, import the three Excel Worksheets (Course,
Instructor, and Membership) from the google
classroom into your Access database.
◼ Define each imported table’s primary key using
information below:
◼ Course table: Class_Number
◼ Instructor table: Employee_Number
◼ Membership table: Member_Number
Practice: Creating Relationships 2
◼ Establish relationship based on common fields.
◼ And enforce referential integrity (apply both options)
among three imported tables
What is an Access query?
◼ You can create a query when you need ONLY a portion of the
data form tables (or existing queries).
◼ For example, you may only need to see customers who live in CA.
The response would be to display only the records whose state
field matches with CA.
◼ Multiple tables or queries can be used.
◼ Restrictions can be used
◼ Comparison operators
◼ The design view is used to specify the fields and records you
want to see.
The Query Design view window
Fields used in the query are selected from You can run the query at any
the field list and added to the design grid. time by clicking the Run button.
Creating a Sample Query
◼ Kim Suho, the director of marketing at the Kyungsoo
Engineering Firm, wants a list of all firm clients so
that his staff can call customers to check on their
satisfaction with their services and products. He
wants to have only followings; CustomerName,
City, State, OwnerName, and Phone.
◼ Use Firm 3 database
◼ Save the query as First Customer List.
Billing Address Table

CustomerNum BillingName Street City State Zip

129 Sandy Lookout PO Box 2800 Grandville MI 49468


Restaurant
Customer Table
CustomerNum CustomerName Street City State ZipCode OwnerName Phone FirstContact

000 Choi COB 105 CSUB CA 93311 Scott Choi 5348 09/20/2001

Order Table
OrderNum CustomerNum Paid InvoiceAmt BillingDate
201 107 No 854.00 01/15/2001

Order Detail Table


OrderNum ProductCode Qty
201 2834 11

Product Table
ProductCode CoffeeName Weight/Size Price Decaf
2301 Colombian Aged Crop 1 lb pkg 7.99
More about a Query
◼ When you use the query design window, you use
Query By Example (QBE).
◼ Do not include any unnecessary tables or queries in
Design View of the query.
◼ Otherwise, you have to deal with unexpected problems.
◼ In your midterm, you will be penalized if you include
unnecessary tables or queries.
◼ Always use a primary table.
◼ CustomerNum: Customer vs. BillingAddress
◼ Restrictions can be used as well.
Expressions

Words begin or end with a: LIKE a* or LIKE *a


Find between values: (NOT) BETWEEN 45000 AND 78000
Find exact match value: 1/10/2005
Find an Exact Match
◼ Kyungsoo would like to have a list of all orders billed
on 01/15/2022.
◼ The list must include following fields; OrderNum,
Paid, InvoiceAmt, BillingDate, CustomerName,
State, OwnerName, and Phone
◼ Save as Jan Orders
Using Like a*
◼ Kyungsoo wants to know a list of all Customer Names
that begins with M. The list must include following
fields; Customer Name, Order Number, First
Contact and Billing Date. In addition, the Order
Number must be sorted in ascending order.
◼ Save as Customer Name Begins With M
Using Between ** and **
◼ Kyungsoo wants to know a list of all Product Code
between 2465 and 2763. The list must include
following fields; Product Code, Order Code and
Price.
◼ There should a space between number and word
◼ Save as Product Code Between 2465 And 2763.
Using Greater than (>)
◼ Kyungsoo wants to know those records whose
InvoiceAmt exceeds 2,000.
◼ Use the Customer Orders query.
◼ The query must include only following fields;
Customer Name, Invoice Amount, and Billing
Date.
◼ Save as High Invoice Amounts
Using And and Or Operators

The And
condition.

The Or
condition.
Creating And and Or conditions
in the design grid

And conditions must be


specified on the same line.
Or conditions must be specified on different lines.
Using AND
◼ Chanyeol asks Kyungsoo for a list of orders billed on
01/15/2001 that are still unpaid. He wants to know
which customers are slow in paying their invoices.
◼ Use the Customer Orders query again and make
sure that this query includes following fields;
CustomerName, Paid, BillingDate, and
InvoiceAmt.
◼ 01/15/2022 AND unpaid (No)
◼ Save as Unpaid Jan Orders
Using OR
◼ Chanyeol wants to determine which clients are most
valuable to Kyungsoo Engineering firm. Specifically,
he wants to see a list of those clients who have been
availing their services for many years (specifically,
first contact date - earlier than 01/01/1994:
<=01/01/1994 ) OR who place orders for a
substantial amount of money (greater than 2,000:
>2000), so that he can call the customers personally
and thank them for their business.
Using OR
◼ Make sure that this query includes following fields;
CustomerName, InvoiceAmt, and First Contact.
◼ He also wants to have a sorted output in
ascending order based on the customer name.
◼ If you want, you can use the Customer Orders
query again
◼ Save as Top Customers
Performing Calculation
◼ Chanyeol is considering adding a 2% late charge to
the unpaid invoices. He only wants to include
following fields; Customer Name, Paid, Billing
Date, and Invoice Amount.
◼ Set unpaid field to “No”
Performing Calculation
◼ And he wants to know exactly what these charges
would be. He wants to create a new field “Late
Charge” right after InvoiceAmt field and then use it
to calculate late charge.
◼ Late charge formula: InvoiceAmt*0.02
◼ Save as Unpaid With Late Charge
Query Practice 1
◼ Download a database: “Roadrunner” in the google
classroom.
◼ I would like to have a query that includes following
fields; Employee Number, Instructor Last Name,
Instructor First Name, Course Name and Time.
◼ Save as Your Course Info.
◼ I would like to have a query that ONLY includes the
male members who live in La Union using following
fields; First Name, Last Name, Gender, City, and
State.
◼ Save as Males in La Union.
Query Practice 2
◼ I would like to know a list of all members whose last
name begins with P using following fields; First
Name, Last Name, City, and State.
◼ Save as Last Names begin with P.
Query Practice 3
◼ I would like to know ONLY the Employee Number,
Instructor Last name, Instructor First name, and the
Salary Amount for only those employees who make
between 39,500 and 55,000. In addition, the
resulting salaries must also be placed in order from
high salary to low salaries.
◼ Save as Between Salaries.
Query Practice 4
◼ I would like to know the Class Number, Last Name,
and Member Number for each member who has a
class number greater than or equal to 900. In
addition, sort last names in ascending order.
◼ Save as Greater than or equal to 900.
Query Practice 5
◼ I would like to know a list of all members whose last
name that begins with A or a first name that begins
with R including the following fields: First Name, Last
Name, City, and State.
◼ Save as Names with A or R.
Query Practice 6
◼ I would like to know an instructor who teaches a
laboratory course and students who are taking a
laboratory course. Following fields must be appear on
the query: Instructor First Name, Instructor Last
Name, Course Name, Member Last Name and
Member First Name. In addition, the member last
names should be sorted in alphabetical order.
◼ Save as Laboratory Listing
Query Practice 7
◼ I would like to know a whole list of the Instructor
Last name, Instructor First name, and the Salary
Amount. Since instructors have worked hard, I would
like to increase their salary by 15%. So, I’d like to
calculate 15% salary increase for each instructor.
◼ Save as Salaries Increase
Query Practice 8
◼ I would like to know the Sum, Average, Max. and
Min. of employees salary (These four items must all
appear in the same query).
◼ Save as Salary Calculations
◼ I would like to know the Sum, Average, Max. and
Min. of employees salary based on Employee Type.
◼ Save as Employee Type
Forms
◼ Forms are used to customize your data entry screen.
◼ Forms are created for the convenience of the user.
◼ Forms are used to update Data Tables.
◼ You can change locations of fields and colors very
easily in the Design screen.
Creating a Form
◼ After Sehun leaves for her staff meeting, Kyungsoo asks you to
create a form for the Customer table because the staff are not
allowed to access the database directly. The staff members
should be allowed only for entering data. But, using a form, the
staff can work data easily in the table.
◼ Download “Restaurant 3” database again.

◼ Open Customer table to identify # of records (38)

◼ Create using “Form Wizard”

◼ Layout: Columnar & Style: International

◼ Save the form as Test Form


Adding a Record into the Form
◼ Add following information as a Record No.39
customer;
◼ CustomerNum: 000
◼ CustomerName: Your Last Name
◼ Street, City, State, and ZipCode: Your Address
◼ OwnerName: Your Full Name
◼ Phone: Your Phone Number
◼ FirstContact: 09/20/2001
◼ A record No. 39 added to the Customer table (it’s has
been altered).
Modifying a Form
◼ Modify the Test form based on below requirements
using the Design View of Form
◼ Make sure that City, State, and Zip Code are on the same
line
◼ Title of field: Label box
◼ Actual entry space: text box
◼ In order to move both boxes together, place the cursor
between LABEL and TEXT boxes. Then, the shape of cursor will
be changed to a black colored hand.
Modifying a Form (con’t)
◼ Put a space between words for followings:
◼ CustomerName, OwnerName, and FirstContact
◼ Change CustomerNum to Customer No
◼ Change Phone to Phone Number
◼ Add a label in the Form Header section in order to
create a title of this form. The title (use label button
from the Toolbox) for the form should be
Customer Data Entry Form.
◼ The font size of the title should be a minimum of 20
and the title must be centered.
Forms Practice
◼ Create a form for the Membership Table from the
Roadrunner database. Begin your form with the
Wizard and then modify it so that:
◼ Member Number is on the top line
◼ Last Name and First Name is on the same line
◼ Address is on a line by itself
◼ City and State are on the same line
◼ Class Number and Gender are on the same line
◼ The labels for Member Number, Last Name, Address, City,
and Class Number should all be lined up vertically with the
same left border/margin
Forms Practice (con’t)
◼ The labels for First Name, State, and Gender should
all line up vertically with the same left border/margin.
◼ You must also space out your fields and rows so that
there is plenty of space around each field.
◼ They should not be crowded together.
◼ You should also add a label to your form in the Form
Header section. The label (use label button)for your
form should be Membership Data Entry Form.
◼ The font size should be a minimum of 16 point
font.
◼ Your title must also be centered.
Forms Practice (con’t)
◼ You will need to change the font color of your
label text and the fill color for your label text
so that your form label is easily viewable on your
computer screen, given the style color/pattern that
you selected for your background.
◼ Save as Membership Data Entry Form.
Reports
◼ Reports are used to “Dress Up” or summarize
your data.
◼ Reports can be made from a Table or Query.
◼ You can use a Wizard to create your reports or
you can customize them to fit your needs.
◼ You can specify sorting orders and you can also
group data.
Creating a Report
◼ Sehun returns from his staff meeting with another
request.
◼ He wants to have a list of OrderNum, CustomerNum,
Paid and InvoiceAmt. from the Order table. He’d like
the information presented in a more readable format for
senior managers.
◼ Create using “Report Wizard”

◼ Layout: Tabular and others


◼ Group by: CustomerNum
◼ Sort the InvoiceAmt in descending order
◼ Save the report as Order List
Modifying a Report
◼ Insert CEA logo upper-right corner of the report
◼ The title is Order List report. Title requirements;
◼ The title must be centered. Change background and font
color. Change font size to 24.
◼ Put a space between words for followings:
◼ OrderNum
◼ CustomerNum
◼ InvoiceAmt
Modifying a Report (con’t)
◼ Change order Num to Order No
◼ Change Customer Num to Customer No
◼ Change InvoiceAmt to Invoice Amount
◼ Widen out the heading names and field entries so
that nothing is cut off. Space out your data fields
as well. Also, adjust vertical alignment of
each field. All words in the report must be clearly
visible.
Report Practice
◼ We will make a report that combines elements of the
Instructor Table with elements from the Course
Table.
◼ From the Instructor Table, your report will include
Employee Number and Instructor Last Name.
From the Course Table, your report will include
Class Number, Course Name, and Time.
◼ You need to group by Employee Number. Class
Number should be sorted in ascending order.
The report is called Teaching Assignments.
Report Practice (con’t)
◼ After you create the basic form of the report using
the Wizard, we will next need to go into the design
screen and customize the report. Center the title
in the middle of the page.
◼ Change Employee_Number to Employee No.
◼ Change Instructor_Last to Instructor.
◼ Change Class_Number to Class.
◼ Change Course_name to Course
◼ Widen out the heading names and field entries so
that nothing is cut off. Space out your data
fields. All words in the report must be clearly
visible.
Preview your report before
printing it

Use the Print Preview


option to see if the report
is as you want it to be. If
not, make your changes
and use Print Preview
again.

You might also like