databaseR - File Storage
Download
Report
Transcript databaseR - File Storage
Relational Databases
What Is A Relational Database?
Created by Dr. E.F. Codd
A database is a collection of tables
and other “objects” that are related
and collectively describe an entity.
Other objects are forms, queries,
reports, modules.
Advantages Of Database
Store data only once - lower cost
Reduces errors
Eliminate data redundancy
Avoid duplicate processing
Simplify maintenance
Centralize data management & security
Advantages Of Database
Offer greater flexibility
Simplify report modifications and
updates
Provide ad-hoc query capabilities
Cross functional data analysis
Permits multiple use and
simultaneous
data analysis
Disadvantages Of Database Systems
Increased costs (usually offset by
savings)
Hardware requirements
The software itself
Database administrator
Disadvantages Of Database
Systems
Centralized management and security
control
System operation becomes critical
Errors in data entry effects all users
Potential disputes over data
ownership
Tables
Fundamental storage structures for data
Tables are sometimes called files
Looks like a spreadsheet
Consist of rows (TUPLES) which are
the equivalent of a record and columns
(ATTRIBUTES) which are the
equivalent of a field
Table Terms
Primary key - An attribute (column) that
uniquely identifies a given row so the system
can distinguish each record of a table
PRIMARY KEYS CAN’T BE NULL!
Foreign key - An attribute (column) in one
table that must match the primary key in
another table. Used to join tables together.
Composite (concatenated) key - A primary
key that consists of more than a single column.
Table Rules
No duplicate tables
No duplicate rows or columns in table
Sequence of rows/columns doesn’t
matter
Each table must have a primary key
The primary key CANNOT be null
Each table is about ONE concept
Joining Tables
Customer ID
Company Name
Contact
Invoice ID Invoice Date Order Date
Invoice ID
Inventory ID
Inventory ID
Quantity
Item ID Caffeinated
Phone Number
Customer ID
Employee ID Customer PO
Unit Price Discount
Price
On Hand
Credit Limit
One-to-One Relationships
Only one matching record
Uses primary key for both tables
Use to limit access to information
11
One-to-One Relationships (cont.)
12
One-to-Many Relationships
Most common type of relationship
Related between primary and foreign keys
Can have many related records
Referential integrity prevents orphaned records
13
One-to-Many Relationships (cont.)
14
Many-to-Many Relationships
One order, many products
One product, many orders
Not directly supported between tables
Use an Intersection table to relate
15
Many-to-Many Relationships (cont.)
16
Relational Database Design
Relationships and Referential Integrity
Create relationships
between the tables
Set referential
integrity
17
Queries
Allows you to ask questions about your data
examples:
How many employees earn more than $40,000?
Which customer invoices are more than 60 days
old ?
SQL (structured query language pronounced
seequel) is the underlying “how” of making
queries of databases
Queries
Access does Queries by using QBE
or SQL. QBE makes it easy to pick
up simple queries, but becoming
accomplished enough to write more
complex queries takes much time
and effort.
Queries
Queries are where the real POWER of a
database lies
Relationships between tables must be
properly established in order for queries
to work correctly in QBE
Forms
Shows data from a table in a format that
is more attractive and easier to
understand
Access forms can be made to resemble
paper forms that users are already
familiar with
Forms are commonly used to input,
display, or change data
Reports
Hard copy of output of information contained
in the database
We often create reports that are the result of
queries we made
Access allows you to create board room
quality reports
Modules
Visual Basic for Application code that
can executed at the click of a button or
when a form is opened. They are useful
in developing more sophisticated internal
controls into an Access based
information system.
REVIEW TABLE RULES
No duplicate tables
No duplicate rows or columns in table
Sequence of rows/columns doesn’t
matter
Each table must have a primary key
The primary key CANNOT be null
Each table is about ONE concept
DATABASE
NORMALIZATION
Database normalization is
the process of ensuring
that each table contains
data about only ONE
concept.
REPEATING GROUPS AND
NORMALIZATION TO FIRST
NORMAL FORM (1NF)
SALES-INFORMATION
Invoice#
Date
Customer#
Salesperson
Region
Item#
Description
Price
Quantity
1001
1002
1003
7/1/92
7/1/92
7/1/92
456
329
897
John
Mary
Al
West
East
West
121
348
540
Widget
Gear
Bolt
$2.25
$3.70
$0.40
45
10
5
INVOICE-ITEMS (1NF)
Invoice#
Item#
INVOICES
(2NF)
Invoice#
Date
Customer#
Salesperson
Region
Description
Price
Quantity
WHAT IS THE
PROBLEM WITH
DESCRIPTION/PRICE?
Insert anomalies
Delete anomalies
Update anomalies
DECOMPOSITION OF A
FIRST-NORMAL-FORM
(1NF) TABLE
INVOICE-ITEMS (1NF)
Invoice#
Item#
Description
INVOICE-ITEMS-QTY (2NF)
Invoice#
Item#
Price
Quantity
ITEMS (2NF)
Item#
Description
Price
Quantity
You can only have a 2nd Normal Form problem if there is a composite primary Key
DATABASE
NORMALIZATION
Functional dependency is key in
understanding the process of
normalization. Functional
dependency means that if there is
only one possible value of Y for
every value of X, then Y is
functionally dependent on X.
DATABASE
NORMALIZATION
Think of an invoice table. Two fields
would be invoice # and date. Which
field is functionally dependent on the
other?
INVOICE #
DATE
Date is functionally dependent on invoice number.
Functional Dependency is “good”. With
functional dependency the primary key
(Attribute A) determines the value of all the
other non-key attributes (Attributes
B,C,D,etc.)
Transitive dependency is “bad”. Transitive
dependency exists if the primary key
(Attribute A) determines non-key Attribute B,
and Attribute B determines non-key Attribute
C.
DECOMPOSITION OF A
SECOND-NORMAL-FORM
(2NF) TABLE
SALES (2NF)
Invoice#
Date
Customer#
Salesperson
Region
This is a transitive
dependency which must
be eliminated for 3NF
INVOICES (3NF)
Invoice#
Date
SALESPERSON-REGION (3NF)
Customer#
Salesperson
Salesperson
Region
SUMMARY OF 3NF
RELATIONS FOR SALES
DATABASE
SALESPERSON-REGION (3NF)
INVOICES (3NF)
Invoice#
Date
Customer#
Salesperson
Salesperson
Region
1001
1002
1003
7/1/92
7/1/92
7/1/92
456
329
897
John
Mary
Al
John
Mary
Al
West
East
West
INVOICE-ITEMS-QTY (3NF)
ITEMS (3NF)
Invoice#
Item#
Quantity
Item#
Description
Price
1001
1002
1003
121
348
540
45
10
5
121
348
540
Widget
Gear
Bolt
$2.25
$3.70
$0.40