Database Fundamentals
Database Fundamentals
Database Fundamentals
A Database Schema
Schema Owner [1]
Views Constraints
schema objects
1) Stephens, R.K. and Plew. R.R., 2001. Database Design. SAMS, Indianapolis , IN. (with slight changes by V.G.D.)
2
Caution about Schema Objects
The meaning of object here is different
than that in UML.
3
Table
A table is the primary unit of physical
storage for data in a database.1
1) Stephens, R.K. and Plew. R.R., 2001. Database Design. SAMS, Indianapolis , IN.
4
Table
5
A Database with Multiple Tables
[1]
Publishers Books Customers
1) Stephens, R.K. and Plew. R.R., 2001. Database Design. SAMS, Indianapolis , IN. (with slight changes by V.G.D.)
6
Table
Customers
7
Field (Column)
Customers
a field
8
Record (Row)
Customers
a record
9
Primary Key
Customers
Directors
One-to-many
Many-to-many
13
Data Types
Alphanumeric (Text, Memo)
Numeric (Number, Currency, etc.)
Date/Time
Boolean (Yes/No)
14
Entity
An entity is a business object that
represents a group, or category of data.1
1) Stephens, R.K. and Plew. R.R., 2001. Database Design, pp. 21. SAMS, Indianapolis , IN.
15
Instance (Record, Tuple)
A single, specific occurrence of an entity is
an instance. Other terms for an instance are
record and tuple.1
1) Stephens, R.K. and Plew. R.R., 2001. Database Design, pp. 210. SAMS, Indianapolis , IN.
16
Attribute
An attribute is a sub-group of information
within an entity.1
1) Stephens, R.K. and Plew. R.R., 2001. Database Design, pp. 21. SAMS, Indianapolis , IN.
17
Relationship
A relationship is a link that relates two
entities that share one or more attributes.
18
OO Design DB Design
Class Entity (Table)
Object Record
Attribute Attribute (Field)
Association Relationship
19
Database Environments
Mainframe
Client/Server
Internet-based
20
Database Types
Flat-file
Hierarchical
Network
Relational
Object-oriented
Object-relational
21
INFM 603 Information Technology
and Organizational Context
Lecture 7
Normalization
(Advanced may not be required for
LBSC690)
Normalization
A method for organizing data elements into
tables.
Done in order to avoid
Duplication of data
Insert anomaly
Delete anomaly
Update anomaly
23
We will look at
First Normal Form
24
Example (Unnormalized)
Table: SalesOrders (Un-normalized)
SalesOrderNo
Date
CustomerNo
CustomerName
CutomerAddress
ClerkNo
ClerkName
Item1Description
Item1Quantity
Item1UnitPrice
Item2Description
Item2Quantity
Item2UnitPrice
Item3Description
Item3Quantity
Item3UnitPrice
Total
25
Normalize into 1NF
Separate repeating groups into new tables.
26
Example (1NF)
Table: SalesOrders Table: OrderItems
SalesOrderNo SalesOrderNo
Date ItemNo
CustomerNo ItemDescription
CustomerName ItemQuantity
CustomerAddress ItemUnitPrice
ClerkNo
ClerkName
Total
27
Normalize into 2NF
Remove partial dependencies.
28
Dependencies
Functional dependency: The value of one
attribute depends entirely on the value of
another.
Partial dependency: An attribute depends on
only part of the primary key. (The primary
key must be a composite key.)
Transitive dependency: An attribute depends
on an attribute other than the primary key.
29
Example (2NF)
Table: OrderItems Table: InventoryItems
SalesOrderNo ItemNo
ItemNo ItemDescription
ItemQuantity
ItemUnitPrice
30
What if we did not do 2NF
Duplication of data: ItemDescription would appear
for every order.
Insert anomaly: To insert an inventory item, you
must insert a sales order.
Delete anomaly: Information about the items stay
with sales order records. Delete a sales order
record, delete the item description.
Update anomaly: To change an item description,
you must change all the sales order records that
have the item.
31
Normalize into 3NF
Remove transitive dependencies.
32
Example (3NF)
Table: SalesOrders Table: Customers
SalesOrderNo CustomerNo
Date CustomerName
CustomerNo CustomerAddress
ClerkNo
Total Table: Clerks
ClerkNo
ClerkName
33
What if we did not do 3NF
Duplication of data: Customer and Clerk details
would appear for every order.
Insert anomaly: To insert a customer or clerk, you
must insert a sales order.
Delete anomaly: Information about the customers
and clerks stay with sales order records. Delete a
sales order record, delete the customer or clerk.
Update anomaly: To change the details of a
customer or clerk, you must change all the sales
order records that involve that customer or clerk.
34
Example (Final Tables)
Table: SalesOrders Table: InventoryItems
SalesOrderNo ItemNo
Date ItemDescription
CustomerNo
ClerkNo Table: Customers
Total CustomerNo
CustomerName
Table: OrderItems CustomerAddress
SalesOrderNo
ItemNo Table: Clerks
ItemQuantity ClerkNo
ItemUnitPrice ClerkName
35