Intro to Database notes

advertisement
Introduction to Database
Concepts
BUAD/American University
Intro to Database Concepts
1
Levels of System Development
• Analysis - describes the problem domain: use cases, classes, object,
relationships and interactions that model the Real World entities.
(Business Objects) Free from technical or implementations details
• Design - Technical expansion and adaptation of the analysis models.
How the analysis is to be implemented and the constraints of the
implementation environment are considered. Along with the objects
discovered in analysis, new “technical” classes (e.g. relational
database mapping classes, user interface classes etc.) are created to
support the requirements defined during the analysis.
• Implementation - Actual writing, testing and running of the code and
implementation of the database based on the Design. Mapping the
design to one or more Languages (e.g. Java, C++, Ada95) and to
databases
BUAD/American University
Intro to Database Concepts
2
Activities in Design
• Architectural Design - Analysis classes are divided into
functional groups (packages) and described across the
hardware. New functional groups such as user interface,
database management, security etc. are defined
• General Design - Reworking the analysis, adding new
technical classes, addresses issues of output format,
database Design and access, communication, class
libraries, exceptions etc
• Detailed Design - Specification of all classes, including
the needed implementation attributes and operation, and
physical database layout
BUAD/American University
Intro to Database Concepts
3
What is a Database?
• A database is an integrated and structured
collection of stored operational data used
(shared) by application systems of an
enterprise:
•
•
•
•
Manufacturing
University
Hospital
Bank
BUAD/American University
Product data
Student data, courses
Patient data, facilities
Account data
Intro to Database Concepts
4
What is a Database?
• A database (DB) is a structured collection of
data about the entities that exist in the
environment that is being modeled.
• The structure of the database is determined
by the data model that is used.
• A database management system (DBMS) is
the generalized tool that facilitates the
management of and access to the database.
BUAD/American University
Intro to Database Concepts
5
Definitions
• Data: Meaningful facts, text, graphics,
images, sound, video segments.
• Database: An organized collection of
logically related data.
• Information: Data processed to be useful in
decision making.
• Metadata: Data that describes data.
BUAD/American University
Intro to Database Concepts
6
History of Database Management
Systems
BUAD/American University
Intro to Database Concepts
7
File Processing
• Data are stored in files with interface
between programs and files.
• Various access methods exist (e.g.,
sequential, indexed, random)
• One file corresponds to one or several
programs.
BUAD/American University
Intro to Database Concepts
8
BUAD/American University
Intro to Database Concepts
9
Issues with File Systems
• Computer file system stores data in independent,
unrelated files on disk.
– Data are still high redundant
– Sharing limited and at the file level
– Data is unstructured (“flat” files)
• The sharing, security and integrity of the data can't be
enforced efficiently because of data redundancy and
data dependence problems.
– Ensuring data consistency and controlling access to data
(Sharing granularity is very coarse, difficulties in developing
new applications)
– High maintenance costs (data dependence; accessing data
BUAD/American University
Intro to Database Concepts
10
is difficult)
What is Data Redundancy?
• Exists when unnecessarily duplicated data are found
in the database.
• For example, a customer's telephone number may be
found in the customer file, in the sales agent file, and
in the invoice file.
• Data redundancy is symptomatic of a (computer) file
system, given its inability to represent and manage
data relationships.
• Data redundancy may also be the result of poorlydesigned databases that allow the same data to be
kept in different locations.
BUAD/American University
Intro to Database Concepts
11
Types of Data Redundancy
• Data inconsistency. Data
inconsistency is the lack of data
integrity.
• Data anomalies. Ideally, a field value
• change should be made only in a single
place. Data redundancy, however,
fosters an abnormal condition by forcing
field value changes in many different
locations.
BUAD/American University
Intro to Database Concepts
12
What is Data independence?
• Exists when changes in the data
characteristics don't require changes in the
programs that access those data.
• File systems exhibit data dependence
because file access is dependent on a file's
data characteristics.
• Therefore, any time the file data
characteristics are changed, the programs
that access the data within those files must
be modified.
BUAD/American University
Intro to Database Concepts
13
Database Management System
• A DBMS is a data storage and retrieval
system which permits data to be stored nonredundantly while making it appear to the
user as if the data is well-integrated.
BUAD/American University
Intro to Database Concepts
14
Database Management
Systems
• Goals of a DBMS
– Provides an environment that is both convenient and
efficient to store and retrieve information to and from a
computer system
– Help an organization to perform its mission and to achieve
its goals.
• Proper database system eliminates data
dependence and improves data integrity by
minimizing data redundancy.
BUAD/American University
Intro to Database Concepts
15
Advantages of the Database Approach
• Data Independence/Reduced Maintenance
• Improved Data Sharing
• Increased Application Development
Productivity
• Enforcement of Standards
• Improved Data Quality (Constraints)
• Better Data Accessibility/ Responsiveness
• Security, Backup/Recovery, Concurrency
BUAD/American University
Intro to Database Concepts
16
The Range of
Database Applications
• Personal Database
• Workgroup/Department Database
• Enterprise Database
BUAD/American University
Intro to Database Concepts
17
Workgroup database with local area network
BUAD/American University
Intro to Database Concepts
18
An enterprise
data
warehouse
BUAD/American University
Intro to Database Concepts
19
Components of the
Database Environment
•
•
•
•
•
•
CASE Tools
Repository
Database Management System (DBMS)
Database
Application Programs
User Interface
BUAD/American University
Intro to Database Concepts
20
Components
of the
database
environment
BUAD/American University
Intro to Database Concepts
21
Database stakeholders
• Database administrator (DBA)
– A person who is responsible for the
management of the entire database
environment
• System Developers
• Database users
– Casual users
– Naive users
– Application programmers
BUAD/American University
Intro to Database Concepts
22
What is a Database Model?
• Collection of logical constructs used to
represent the database's
• Data structure as well as the data
relationship(s) found within that
structure.
BUAD/American University
Intro to Database Concepts
23
Steps in the Database Development
Process
• Enterprise Modeling
• Conceptual Data Modeling
– Cuts across Project Initiation and Planning &
Analysis phases of SDLC
• Logical Database Design
• Physical Database Design and Creation
• Database Implementation
• Database Maintenance
BUAD/American University
Intro to Database Concepts
24
Functional and Database
Development life-cycles
BUAD/American University
Intro to Database Concepts
25
Conceptual and logical
database models
• E-R, object oriented, and semantic database
models.
• Describes the data and what the relationships
• Types of relationships represented include:
– One-to-many relationship
– Many-to-many relationship
– One-to-one relationship
BUAD/American University
Intro to Database Concepts
26
Implementation (Physical)
database models
• Describes how data are actually stored in the
database
• Types of Implementation (physical) database
models include:
• Hierarchical,
• Network,
• Relational, and
• Object oriented
BUAD/American University
Intro to Database Concepts
27
Hierarchical database Model
•
•
Data redundancy is avoided by using an upside-down tree structure
composed of parents and their children.
Since a parent can have many children, but each (hierarchical) child
can have only one parent, the parent data is identical for all of its
children and need not be repeated.
BUAD/American University
Intro to Database Concepts
28
Network Database Model
• The network model allows a record to have
more than one parent.
• Handles more relationship types then a
Hierarchical database.
– Many to Many relationships are easier to
implement in the than in the hierarchical model.
• Improved data access flexibility
BUAD/American University
Intro to Database Concepts
29
Network Model
BUAD/American University
Intro to Database Concepts
30
Issues with the Hierarchical and Network
Models
• The hierarchical and network models
yield some data independence, but they
still exhibit database structure
dependency.
• For example, changes in segments or
their location require data managers
and programmers to perform complex
system management tasks and
extensive maintenance coding.
BUAD/American University
Intro to Database Concepts
31
The Relational Model
• A Relational Database Management System
(RDBMS) is a single data repository that provides
both structural and data independence while
maintaining conceptual simplicity.
• The manages all of the complex physical details
• The relational database model is perceived by the
user to be a collection of tables in which data are
• stored.
• Each table resembles a matrix composed of row and
columns. Tables are related to each other by sharing
a common value in one of their columns
BUAD/American University
Intro to Database Concepts
32
Some advantages of Relational Model
• Structural independence. Does not use a
navigational data access system,
• Provides excellent ad hoc query capability.
End users find it easier to visualize their data
as a collection of data organized as a matrix.
• Designers find it easier to deal with
conceptual data representation, freeing them
from the complexities associated with
physical data representation.
BUAD/American University
Intro to Database Concepts
33
Structured query language (SQL)
• Is a fourth-generation language (4GL).
• allows the user to specify what must be done
without specifying how it must be done.
• Based on work done by IBM.
• Comprise of three parts: a user interface, a
set of tables within the database, and the
SQL “engine.”
BUAD/American University
Intro to Database Concepts
34
Object-Oriented Database model
• Excellent for capturing Complex data such as graphics, video, and
sound
• Objects contain all operations that can be performed on it, such as
changing its data values, finding a specific data value, and printing
data values.
• Because objects include data, various types of relationships, and
operational procedures, the object becomes self-contained
• Ad hoc query and navigation can be a challenge compared to a
relational database
• Hybrid databases called Object/relational database model
(O/RDM) or universal servers are starting to appear
BUAD/American University
Intro to Database Concepts
35
Why is database design so
important?
• Yields a detailed database blueprint. This
blueprint
• Usually in the form of an E-R or object model,
is used as the basis for database
implementation.
• A database created without the benefit of a
detailed blueprint is unlikely to be satisfactory.
BUAD/American University
Intro to Database Concepts
36
Points to Remember
• Good applications can't overcome bad
database designs
• The existence of a DBMS does not guarantee
good data management, nor does it
• ensure that the database will be able to
generate correct and timely information
• Ultimately, the end user decides what data
will be stored in the database
BUAD/American University
Intro to Database Concepts
37
Download