Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 49

Database Development

Process

Lecture # 02
Database Design
• Why do we need it?
• Agree on structure of the database before deciding on a
particular implementation.
• Consider issues such as:
• What entities to model
• How entities are related
• What constraints exist in the domain
• How to achieve good designs
Information Systems
Architecture
(ISA)
• Conceptual plan that expresses the desired future
structure for the information system in an organization
• Consists of six components:
• Data (e.g. Enterprise Data Model–simplified ER Diagram)
• Processes – data flow diagrams, process decomposition, etc.
• Data Network – transport the data- topology diagram
• People – people management using project management tools
(Gantt charts, etc.)
• Events and points in time (when processes are performed)
• Reasons for events and rules that governs processing of the
data(e.g., decision tables)
Enterprise Data Modeling

• Enterprise data model is one part of ISA.


• Scope and general contents of organizational databases are
specified in Enterprise data modeling.
Information Engineering
• A data-oriented methodology to create and maintain
information systems
• Top-down planning–a generic IS planning methodology
for obtaining a broad understanding of the IS needed by
the entire organization
• Four steps to Top-Down planning:
• Planning- Results in an Information Systems Architecture
• Analysis-Results in functional specifications…i.e. what we want
• Design- Results in design specifications…i.e. how we’ll do it
• Implementation- Results in final operational system
Develop Enterprise Model
• Functional decomposition
• Iterative process breaking system description into finer and finer
detail
• Enterprise data model

• Planning matrixes
• Describe interrelationships
between planning objects
Example of process decomposition of an order
fulfillment function (Pine Valley Furniture)

Decomposition = breaking
large tasks into smaller tasks
in a hierarchical structure
chart
Two Approaches to Database
and IS Development
• SDLC
• System Development Life Cycle
• Detailed, well-planned development process
• Time-consuming, but comprehensive
• Long development cycle
• Prototyping
• Rapid application development (RAD)
• Cursory attempt at conceptual data modeling
• Define database during development of initial prototype
• Repeat implementation and maintenance activities with new
prototype versions
Systems Development Life Cycle

Planning

Analysis

Design

Implementation

Maintenance
Systems Development Life Cycle

Planning
Planning Purpose–preliminary understanding
Deliverable–request for study
Analysis

Design

Implementation

Database activity–
Maintenance
enterprise modeling
and early conceptual
data modeling
Systems Development Life Cycle
Purpose–thorough requirements analysis
Planning and structuring
Deliverable–functional system specifications
Analysis
Analysis

Design

Implementation

Database activity–Thorough
and integrated conceptual Maintenance
data modeling
Systems Development Life Cycle
Purpose–information requirements
elicitation and structure, develop
technology and organizational
Planning
specifications
Deliverable–detailed design
Analysis specifications program/data
structures, technology purchases
Design
Logical Design
Database activity–
logical database design
Implementation
physical database design (define
database to DBMS, physical data
organization, database processing Maintenance
programs)
Systems Development Life Cycle
Purpose–programming, testing, training,
Planning installation, documenting
Deliverable–operational programs,
Analysis documentation, training materials

Design

Implementation
Implementation
Database activity–
database implementation,
Maintenance
including coded programs,
documentation,
installation and conversion
Systems Development Life Cycle

Planning Purpose–monitor, repair, enhance


Deliverable–periodic audits
Analysis

Design

Implementation
Database activity–
database maintenance,
performance analysis Maintenance
Maintenance
and tuning, error
corrections
SDLC
• Enterprise Modeling
• Conceptual Data Modeling
• Logical Database Design
• Physical Database Design
• Database Implementation
• Database Maintenance
Prototyping Database Methodology
Prototyping Database Methodology
Prototyping Database Methodology
Prototyping Database Methodology
Prototyping Database Methodology
CASE
• Computer-Aided Software Engineering (CASE)–software tools providing
automated support for systems development
• Three database features:
• Data modeling–drawing entity-relationship diagrams
• Code generation–SQL code for table creation
• Repositories–knowledge base of enterprise information
Range/ categories of
Databases
• There are several methods for people to interact with the data
in the database.
• Users interact directly and issue commands known as queries
• 2nd method of interaction is using application programmes
Range of Databases contd..
• Application Program consists of two key components.

1. A graphical user interface:.

2.The business logic


• contains the programming logic necessary to act on the users’
commands.
Database Application
Programs
• A computer program that interacts with the database by
issuing an program appropriate request (typically an SQL
statement) to the DBMS.
• The application programs may be written in some

24
programming language or in some higher-level fourth-
generation language.
Database application
Programs

25
Range of Databases contd..
• The machine that runs the user interface (and
sometimes the business logic) is referred to as the

26
client.
• The machine that runs the DBMS and contains the
database is referred to as the database server.
• Three categories of database systems, based on the
location of the client (application) and the database
software itself.
1. Personal database:
• Designed to support
one user.
• Residing on PCs,
smart phones and
PDAs.
2. Two-Tier Client/Server
Databases
• Database needs to be shared
• Used by workgroups linked through a LAN
• Each computer has a copy of a specialized

28
application (client)
• which provides the user interface as well as the
business logic through which the data is
manipulated.
Two Tier Client/Server
Databases contd..
Two Tier Client/Server
Databases contd..
• The database itself and the DBMS are stored on a central
device.
• Different users have different views of database.
• Problems such as security, data integrity and multiple access
arise.
Two Tier Client/Server
Databases contd..
Client computer needs to be powerful enough
to handle user interface and business logic.

31
Each time there is a change to either the business
logic or user interface, each client that has the
application needs to be updated.
3-tier architecture

32
3. Multitier Client/Server
Databases
Centralized and Client-Server
Architectures
• Centralized DBMS: combines everything
into single system including- DBMS
software, hardware, application programs
and user interface processing software.
Classification of DBMSs
Distributed Database Systems have now
come to be known as client server based
database systems because they do not
support a totally distributed environment,
but rather a set of database servers
supporting a set of clients.
Basic Client-Server Architectures
• Specialized Servers with Specialized
functions
• Clients
• DBMS Server
Specialized Servers with
Specialized functions:
• File Servers
• Printer Servers
• Web Servers
• E-mail Servers
Clients:
• Provide appropriate interfaces and a client-
version of the system to access and utilize the
server resources.
• Clients maybe diskless machines or PCs or
Workstations with disks with only the client
software installed.
• Connected to the servers via some form of a
network.
(LAN: local area network, wireless network,
etc.)
DBMS Server
• Provides database query and transaction
services to the clients
• Sometimes called query and transaction
servers
Classification of DBMSs
• Based on the data model used:
• Traditional: Relational, Network, Hierarchical.
• Emerging: Object-oriented, Object-relational.
• Other classifications:
• Single-user (typically used with micro-
computers) vs. multi-user (most DBMSs).
• Centralized (uses a single computer with one
database) vs. distributed (uses multiple
computers, multiple databases)
Three-Schema Architecture
• Proposed to support DBMS characteristics
of:
• Program-data independence.
• Support of multiple views of the data.
Data Independence
• Logical Data Independence: The
capacity to change the conceptual schema
without having to change the external
schemas and their application programs.
• Physical Data Independence: The
capacity to change the internal schema
without having to change the conceptual
schema.
Three-Schema Architecture
• Defines DBMS schemas at three levels:
• Internal schema at the internal level to describe physical
storage structures and access paths. Typically uses a
physical data model.
• Conceptual schema at the conceptual level to describe the
structure and constraints for the whole database for a
community of users. Uses a conceptual or an
implementation data model.
• External schemas at the external level to describe the
various user views. Usually uses the same data model as
the conceptual level.
Three-schema architecture

Different people
have different
views of the
database…these
are the external
schema

The internal
schema is the
underlying
design and
implementation
Developing the three-Schema architecture
Mappings among schema levels are needed to transform
requests and data. Programs refer to an external schema, and
are mapped by the DBMS to the internal schema for
execution.
When a schema at a lower level is changed, only the mappings
between this schema and higher-level schemas need to be
changed in a DBMS that fully supports data independence.
The higher-level schemas themselves are unchanged. Hence,
the application programs need not be changed since they
refer to the external schemas.
References

• Chapter 1/2
Modern database Management by Jeffery A. Hoffer 10th Ed.
• Quiz 1 in third week.
Contents:
Baics
SDLC
SCHEMA
ARITECTURES
All topics covered in class

49

You might also like