Data Management

advertisement
Managing Data Resources
1
The Name of the Game
• Information is a valuable resource.
• It is expensive to collect, maintain, and use.
• The goal of database management it to
– maximize the benefits gained from information
• maximize the accuracy of information
– minimize the costs associated with information
2
Keeping Track of Things
• Entity - person, place, thing or event on
which we maintain information.
• Attribute - A single piece of information
describing a particular entity.
3
Data Hierarchy
•
•
•
•
•
•
Database - a collection of related files
File - a collection of uniform records
Record - a collection of related fields
Field - a collection of bytes
Byte (& words)
Bit
4
Terminology
• Generic
Database Spreadsheet
• ----• Entity
• Attribute
Table
Record
Field
Table/Sheet
Row
Column
5
Key Field(Attribute)
• A key field is an attribute that uniquely
identifies a record in a file.
– Examples: SSN, NAID
• The values in the key field MUST be
unique.
• It is possible to use several fields to form a
composite key.
– Example: Lastname + firstname + middlename
6
Natural Keys
• It is convenient and desirable to use
attributes which “naturally occur” with an
entity as a key.
• Example - most students have a SSN by the
time they enroll at NDSU, so the SSN
would be natural key.
7
Accessing Information
• Lookup items(records) by the value of their
key.
• Methods of access:
– Sequential Access
– Direct Access
– Indexed Sequential Access
8
Ordered vs. Unordered
• A database file (collection of records) may
be:
• ordered - physically arranged in the file so
that the key field increases (or decreases) in
a sequential fashion.
• unordered - physically arranged in the file
so the key field has no ordered relation with
the preceding or succeeding key.
9
Costs & Benefits of Ordering
• “In general” a record can be found faster in
an ordered list than in an unordered list.
– I’ll use the term file & list interchangeably.
• “In general” you can turn an unordered list
into an ordered list by sorting.
• Sorting is a cost of keeping a list ordered.
• In this course we will generally be dealing
with ordered lists.
10
Sequential Access
•
•
•
•
Look at key of first record in file,
if not the target then look at next record,
if not the target then look at next record, …
If file has N records on average will have to
look at N/2 records to find a random target.
• Question - Why not just “skip over” some
of the records?
11
Sequential Access
• An employee database might use SSN as
the key field.
• If the target SSN is 540-12-3763, and
• the first record SSN is 120-11-0007, then
• how many records should you skip?
• This is why sequential access has to look at
every record.
12
Sequential Access
• Historically data was stored on tapes.
• Tapes store information sequentially and
“only” allow for sequential access.
• DASD (disks drives) can also store files
sequentially. Files are written to the disk
track-by-track, cylinder-by-cylinder in a
“physically contiguous” fashion.
13
Direct Access
• Direct access means that given a value for
the key attribute the system can move
“directly” to the corresponding record
without having to look at an intervening
records in the file.
• Direct access requires that the system
“know” the physical location of the target
record on the disk.
14
Hashing Algorithms
• To find the physical location on the disk a
computation is performed on the key value
which yields a “unique” physical address
for the corresponding record.
• Perfect hashing algorithms get you to a
unique address.
• Imperfect algorithms may hash several keys
to the same address.
15
Hashing Example
• Suppose that I were using SSN as the key
and wanted to keep track of 100 entities.
• Select 101 (a prime number closest to the
number of records) and divide this into the
SSN.
• Remainder will always be a number
between 0 and 100.
16
Hashing Example
• The remainder represents the disk address.
– A remainder of 52 could represent
– cylinder 5, surface 2
• If two or more SSNs have the same
remainder (hash to the same address) this is
called a collision. Essentially these records
are then searched sequentially.
17
Direct Access Note
• The physical addresses in Direct Access
have no relation to the sequential “order” of
the keys.
• For any two adjacent sequential keys there
is no guarantee about the relationship
between their physical locations on the disk,
they may not be “physically contiguous”.
18
Sequential vs. Direct Access
• Sequential Access
– good when you want to process all records in
key order, next record is always ready to be
read/written.
• Direct Access
– good when you want to process records in a
random order, next record can be found
directly.
19
Indexed Sequential Access
Method (ISAM)
• Combines a sequential file with one or more
levels of indexes.
• Each index relates a physical location to the
highest key value stored in that location.
• You find physical location by looking in
each level of the index and then sequentially
searching the last physical location.
20
ISAM
• In the library the books are laid out
sequentially by call number (the key).
• Look at floor index to determine the floor
• Look at shelf index to determine the shelf
• Sequentially search the shelf
21
ISAM
• ISAM tries to give the best of both worlds.
• When you want to process items
sequentially you have an underlying
sequential file.
• When you want direct access you go
through the indexes to get close, then a
“small” sequential search at end.
22
Traditional File Systems
• Also called:
– flat file organization
– data file approach
• Typically an organization or a department
within an organization would develop their
applications and associated data files in an
independent fashion.
23
Problems with Traditional Files
• Data Redundancy
– conflicting data
• Program-Data Dependence
– lack of flexibility
• Lack of Data Sharing
– no common names for attributes & entities
• Poor Security
24
DBMS Approach
• Database Management Systems approach
places a common interface between the
users of data (the application programs) and
the data files.
25
DBMS Components
• Data Definition Language, DDL
• Data Manipulation Language, DML
– Structured Query Language, SQL
• Data Dictionary, DD
26
Logical & Physical Views
• Logical View
– how the user sees the data
• Physical View
– how the data is physically saved on the storage
media
• The DBMS gives each user their own
logical view while storing the data using a
single physical view.
27
Advantages of DBMS
• Complexity & Confusion reduced
– all data stored in single centralized physical
view
• Data redundancy & inconsistency reduced
– data dictionary shows what data elements are
available, data element only present “once”
• Program-data dependence reduced
– each user can get desired logical view
28
Advantages of DBMS
• Security
– single point of access to data
• Reduced cost
– initial purchase cost of DBMS and related staff
are high, but savings in future development and
maintenance usually offset these costs
– Access & Flexibility
– DML usually provides easier access to data
29
Designing Databases
• Hierarchical Data Model
• Network Data Model
• Relational Data Model
30
Hierarchical Data Model
Author 1
Book 1
Publisher A
Book 2
Publisher B
Book 3
Publisher A
31
Hierarchical Data Model
• Data records are broken into segments
• Each segment contains some attributes
• Segments are arranged into a hierarchical
“tree-like” structure
• Physical locations pointers join related
segments into records
• Child segments can only have one parent
32
Network Data Model
Author 1
Book 1
Publisher A
Book 2
Book 3
Publisher B
33
Network Data Model
• Same organization as hierarchical data
model
• Except that a child segment can have
multiple parents
34
Relational Data Model
Author 1
Book 1
Author 2
Book 2
Author 3
Book 3
Book 4
Publisher 1
Book 5
Publisher 2
35
Relating Fields
A1
Author 1
Book 1
A1
P1
A2
Author 2
Book 2
A3
P2
A3
Author 3
Book 3
A2
P2
Book 4
A1
P2
Book 5
A1
P1
P1
Publisher 1
P2
Publisher 2
36
Relating Fields
A1
Author 1
Book 1
A1
P1
A2
Author 2
Book 2
A3
P2
A3
Author 3
Book 3
A2
P2
Book 4
A1
P2
Book 5
A1
P1
P1
Publisher 1
P2
Publisher 2
37
Relational Data Model
Author-table
ID
Author
A1
Author 1
Title
AID
PID
A2
Author 2
Book 1
A1
P1
A3
Author 3
Book 2
A3
P2
Book 3
A2
P2
Publisher-table
Book-table
ID
Publisher
Book 4
A1
P2
P1
Publisher 1
Book 5
A1
P1
P2
Publisher 2
38
Relational Data Model
•
•
•
•
Data Records are broken into segments
Each segment contains some attributes
Segments are arranged in tables
There are NO “physical” location pointers
between tables
• Relations between tables are “implied” by
relating fields
39
Relations Generated When Asked
• Relationships between segments are not
predefined by pointers in the relational
model.
• Tables are JOINed together to display
relationships.
• JOINs occur at query time.
• Tables must have a common data element to
be joined.
40
Example JOIN
Select
Author, Title, Publisher
FROM
Author-table, Book-table, Publisher-table
WHERE
Author-table.ID = Book-table.AID, and
Book-table.PID = Publisher-table.ID
41
Results of Join
Answer-table
Author
Author 1
Author 1
Author 1
Author 2
Author 3
Title
Book 1
Book 4
Book 5
Book 3
Book 4
Publisher
Publisher 1
Publisher 2
Publisher 1
Publisher 2
Publisher 2
42
Relational Model Operations
• Selection
– select which rows to display
• Projection
– select which columns to display
• Join
– combine two or more tables
43
Types of Relations
• 1-1
– 1-to-1
• 1-n
– 1-to-many
• n-n
– many-to-many
44
Name of the game
• Using the relational model,
• Represent each type of relationship
– as simply as possible (using the fewest tables),
– with a minimum of duplicated data, and
– with a minimum of wasted space (empty fields)
45
Tables needed for 1-1
Book
Author
Author1
Author2
Author3
Title
Book1
Book2
Book3
46
Tables needed for 1-n
Book
Author
ID
1
2
3
Name
Author1
Author2
Author3
ID
1
1
2
3
2
Title
Book1
Book2
Book3
Book4
Book5
47
Tables needed for n-n
Writes
Author
ID
1
2
3
Name
Author1
Author2
Author3
AID
1
1
2
2
3
3
3
1
2
BID
1
2
1
2
1
5
4
5
5
Book
ID
1
2
3
4
5
Title
Book1
Book2
Book3
Book4
Book5
48
Advantages & Disadvantages
• Hierarchical & Network Data Models
– faster for “pre-defined” queries
– slower for ad-hoc queries
– inflexible, more expensive to maintain
• Relational Data Models
– flexible, less expensive to maintain
– most queries require joins and are slower than
“pre-defined” queries mentioned above
49
Entity-relationship diagram
• A conceptual model useful in database
design.
• Illustrates the relationships between various
entities in the database.
• Entities are represented by rectangles.
• Relationships represented by diamonds.
• Attributes can be assigned to both entities
and relationships.
50
ER-Diagram
Authors
ID
Last_Name
First_Name
Middle_Name
DOB
DOD
n
write
n
Books
n
Title
Date
Edition
publish
1
Publishers
Name
Address
Phone
51
Centralized Database
• All database files are stored on a central
computer.
• All database processing is performed by the
central computer.
• Problems
– can overload central system
– not very fault tolerant
– communications costs can be high
52
Distributed Databases
• Distributed Processing
– processing is performed locally by processors
connected by a communications network.
• Distributed Databases
– the physical files that make up the database are
stored in more than one location
53
Distributed Databases
• Duplicate Database
– each location has its own copy of the entire
database.
• Partitioned Database
– each location has a copy of the portion of the
database that it needs.
54
Distributed Databases
• Central Index
– Records are stored locally, but a centralized
index is maintained to quickly located any
record.
• Ask-the-network
– Records are stored locally and the network
must be polled each time a record is needed.
55
Data Warehousing
• A database with associated reporting and
query tools,
• that stores current and historical data
extracted from various operational systems
• and consolidated for management reporting
and analysis.
56
A Data Warehouse...
• Sits on top of existing isolated legacy
systems, “islands of information”, to
provide an enterprise-wide database.
• Provides single platform, standardized
access to current operational data and
historical data (not normally maintained on
legacy systems).
57
Obstacles to Database
Implementation
• Organizational
– structural changes
– political changes
• Cost/benefit considerations
• Placement of Data Management Function
– need data administration and planning at
highest possible organizational level
58
Download