Database Design

advertisement
Database Design
MIS 320
Kraig Pencil
Summer 2013
1
PPT Slides by Dr. Craig Tyran & Kraig Pencil
Game Plan
• Introduction
• Data base design
– Database scenario
– Key questions/answers
2
PPT Slides by Dr. Craig Tyran & Kraig Pencil
A. Introduction
Remember … ?
CNN: Internet is “Top innovation” of past 25 years (1/18/05)
But Kraig Pencil says …
The relational database is equally important
Really? Why?
The Internet would not be nearly as successful without
relational databases providing rich information.
3
PPT Slides by Dr. Craig Tyran & Kraig Pencil
A. Introduction
You can ask a database questions
–
–
–
–
How many cans of chicken soup do we have in inventory?
How large is the average pay raise in each department?
Who are my best/worst customers?
What else have I-Pod buyers also purchased?
– Is this airline passenger a known terrorist?
– Who has friended Gayle Zhang?
– Who else might Gayle want to consider friending?
With the right data and a well-designed database, you can ask
4
anything.
PPT Slides by Dr. Craig Tyran & Kraig Pencil
A. Introduction
Who works with databases?
• Database programmers
• Database analysts
• Database designers
• Database administrators
• Data administrators
• Website designers/programmers
• Many non-IT users!
– Marketers
– Financial analysts
– Human resources managers …. And more
PPT Slides by Dr. Craig Tyran & Kraig Pencil
5
A. Introduction
1.
2.
What does an organization do with
data/information?
•
Capture, cradle, and process transaction
data/information
• e.g., TPS
•
Use information to make decisions
• e.g., DSS
•
“Oversee” the information
• e.g., Who can view or use what info?, How to
back up info?, How long to retain info?
What can help support the above?
• A database management system
PPT Slides by Dr. Craig Tyran & Kraig Pencil
6
B. Business Scenario
1. Is data management a problem?
For generations we stored information in filing cabinets, then
in Excel spreadsheets. But as the amount of data has grown
those methods have become …
– Inefficient – and expensive – to store and gather data
– Unable to support for decision making based
on data
 A database management system is
needed to support business !!!
PPT Slides by Dr. Craig Tyran & Kraig Pencil
B. Business Scenario
1. Northwind Incorporated
– Distributor of food and beverage products
– Customers: Restaurants and specialty food stores
– Suppliers: Come from around the world
– In the lab and lectures, you will see
how efficiently a database management system
can provide rich information to the
organization.
PPT Slides by Dr. Craig Tyran & Kraig Pencil
C. Steps of Database Design
1.
What kinds of “things” does an organization
want to collect information about?
 Determine the Entities
•
For Northwind Inc, the “entities” of
interest include:
– Customers
– Suppliers
– Employees
– Products
– Etc.
PPT Slides by Dr. Craig Tyran & Kraig Pencil
C. Steps of Database Design (cont.)
2. What specific information about each
entity is important?
 Determine the attributes for each entity
•
Example: For the Employee entity,
attributes may include
•
•
•
•
•
Employee name
Address
Hourly rate
Etc.
For each
employee, we
keep track of …
President of
Northwind
Who is this guy doing the interview?
•
A “business analyst”
10
PPT Slides by Dr. Craig Tyran & Kraig Pencil
C. Steps of Database Design (cont.)
3. How do we organize the data? Which type of database
“model” shall we use?
– Assume: Use the most popular model
•  Relational model
• “Relation” refers to ???
• Data is organized as a linked set of tables
• An example of a relational database
management system that you are using
in MIS 320 : ___________
11
PPT Slides by Dr. Craig Tyran & Kraig Pencil
Northwind Database in MS Access
Sample
Entity-Relationship Diagram
(aka an “ERD” or
“ER diagram”)
PPT Slides by Dr. Craig Tyran & Kraig Pencil
B. Database Questions (cont.)
4. What are the important aspects of a data table?
Find all records in the
–
Terminology for data tables
Customer file for which
• Field (i.e. column)
the customer’s name field
– Attribute of the entity
is Serena Lewis
• Record (i.e. row)
– An instance of an entity
• File (i.e., table)
– Collection of records for an entity
• Primary key
– Unique identifier for each record
– Often a unique “ID code” is created
–
Example: See next figure
PPT Slides by Dr. Craig Tyran & Kraig Pencil
13
Database Tables
What are examples of a) Field, b) Record, c) File,
and d) appropriate Primary Key ??
Supplier Table
Supplier ID
Company Name
Street Address
City
State
1001
ACME Inc.
123 Easy St.
Deming
WA
1002
XYZ Corporation
456 Maple St.
Bellingham
WA
1003
ProductCo Inc.
389 Main St.
Seattle
WA
…
Product Table
…
…
…
…
Product ID
Product Name
Unit Price ($)
Supplier ID
800
Cheddar Cheese
15
1001
801
Swiss Cheese
12
1001
802
Chuckanut Red
Wine
20
1002
…
PPT Slides by Dr. Craig Tyran & Kraig Pencil
….
….
…
C. Steps of Database Design (cont.)
5. What are the relationships between the entities?
–
–
A database involves tables that are linked together
When building a database, we need to know how to link the
tables
• i.e., We need to know how the entities are related!
•
–
e.g., A Supplier provides a Product.
– If we know who the supplier is, we
can find all the products they have
supplied to us.
– For any product, we should be able
to find the supplier’s address.
Develop a “blueprint” diagram
for database design
 Entity-relationship diagram
PPT Slides by Dr. Craig Tyran & Kraig Pencil
15
B. Database Questions (cont.)
5. What are the relationships between the entities? (cont.)
– Possible “relationship types”
•
–
A) one to one, B) one to many, c) many to many
– “one” means “at most one”
– “many” means “more than one”
Example:
•
•
•
Entities: Supplier, Product
What is the relationship type? We are told that:
– A supplier can provide many different kinds of products.
– A product can be supplied by a max of one supplier.
Entity-Relationship Diagram:
Supplier
one
???
PPT Slides by Dr. Craig Tyran & Kraig Pencil
many
???
Provides
Product
16
B. Database Questions (cont.)
5. Relationship symbols: these all mean the same thing
The textbook used “crowsfoot” symbols
One
Many
Ignore these “inner” symbols
Access uses “1 – ∞” symbols
Access uses “
– ∞” symbols
PPT Slides by Dr. Craig Tyran & Kraig Pencil
B. Database Questions (cont.)
5. (cont.)
–
Foreign key
•
•
•
Serves as a “link” between data files/tables
A field in one file/table that serves as a primary
key in another file/table
How to determine the foreign key?
– For a “one to many” relationship, the primary key on the
“one” side of the relationship is added to the table on the
“many” side
•
See examples
18
PPT Slides by Dr. Craig Tyran & Kraig Pencil
Database Tables: Northwest Inc.
Supplier
Table
Supplier ID
Company Name
Street Address
City
State
1001
ACME Inc.
123 Easy St.
Deming
WA
1002
XYZ Corporation
456 Maple St.
Bellingham
WA
1003
ProductCo Inc.
389 Main St.
Seattle
WA
…
Product
Table
…
…
…
…
Product ID
Product Name
Unit Price ($)
Supplier ID
Category ID
800
Cheddar Cheese
15
1001
10
801
Swiss Cheese
12
1001
10
802
Chuckanut Red
Wine
20
1002
20
…
Category Table
….
….
…
…
Category ID
Category Name
Description
10
Dairy
Cheese and milk products
20
Spirits
Wine and liquors
…
PPT Slides by Dr. Craig Tyran & Kraig Pencil
…
…
Northwind Database in MS Access: Primary/Foreign Keys
Where are the primary keys? The foreign keys?
PPT Slides by Dr. Craig Tyran & Kraig Pencil
C. Steps of Database Design (cont.)
6. What do we do with the entity-relationship
diagram? (cont.)
–
–
–
ERD can be reviewed with client (Is the
design correct for the client’s needs?)
Database design can be used to build the
database
• e.g., Build database in MS Access
Can database design get more complicated
than this?
• Yes!
• But … the previous example will suffice
for MIS 320
– The lab database projects will
typically focus on “one to many”
types of relationships
21
PPT Slides by Dr. Craig Tyran & Kraig Pencil
Terminology Summary
Easy to
understand
Academic
Table
(File)
Entity / Relation
Column
Field
Attribute
Row
Record
Instance
The terms in each row have
very similar meanings.
For this course, learn all of
the terms, but do not be
concerned about the nuanced
differences between terms in
the same row.
22
PPT Slides by Dr. Craig Tyran & Kraig Pencil
Download