Beruflich Dokumente
Kultur Dokumente
Technology
Document Authorisation
Name:
Mike Hilton
Position:
Signature:
Date:
Document references
Version:
1.0
Date:
Document Control
Department
Infrastructure Cluster
Ext
73988
Position
Ext
1.2 Reviewers
Name
Date
29/04/03
Author
Mike Hilton
Description
First issue.
Any comments or queries about this document should be addressed to Mike Hilton
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 2 of 27
Contents
1
DOCUMENT CONTROL.................................................................................2
1.1
Work carried out by:..............................................................................2
1.2
Reviewers................................................................................................2
1.3
Document History..................................................................................2
2 INTRODUCTION.............................................................................................5
2.1
Scope, Approach and Methods.............................................................5
2.2
How to Review........................................................................................5
2.3
Related Documents................................................................................5
3 SUBSYSTEM/APPLICATION OVERVIEW....................................................6
3.1
Architecture............................................................................................6
3.1.1
3.1.2
3.1.3
3.1.4
Hardware Architecture...............................................................................................6
Software Architecture................................................................................................6
Interfaces................................................................................................................... 6
Datastores................................................................................................................. 6
4.4
Mapping rules............................................................................................................ 7
Entities and Attributes Not Implemented....................................................................7
Non-trivial Mapping.................................................................................................... 7
Additional Objects...................................................................................................... 8
Key mappings............................................................................................................ 8
Other Deviations........................................................................................................ 9
Denormalisation.....................................................................................9
4.4.1
4.4.2
Performance Improvement........................................................................................ 9
Functional Support.................................................................................................. 10
4.5
Journaling and History........................................................................10
4.6
Business Rules.....................................................................................10
4.7
Implied Functionality...........................................................................10
5 INTERFACES AND DEPENDENCIES..........................................................11
5.1
Interfaces...............................................................................................11
5.1.1
Interface <Name/Id>................................................................................................ 11
5.2
Dependencies.......................................................................................11
REPORTING AND MIS.................................................................................12
6.1
Requirements........................................................................................12
6.2
Design issues.......................................................................................12
7 DATA ACCESS..............................................................................................12
7.1
Role Definitions....................................................................................12
7.2
Users......................................................................................................12
7.3
Table Access Patterns.........................................................................13
8 PHYSICAL IMPLEMENTATION CONSIDERATIONS..................................13
8.1
Storage of Large Objects.....................................................................13
8.2
Usage of Queuing.................................................................................13
6
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 3 of 27
8.2.1
8.2.2
8.2.3
8.2.4
8.2.5
Object Types............................................................................................................ 13
Queue Tables.......................................................................................................... 14
Advanced Queues................................................................................................... 14
Consumers.............................................................................................................. 14
Producers................................................................................................................ 14
8.3
Partitioning............................................................................................14
8.4
Usage of other RDBMS Specific Features.........................................15
9 NON-FUNCTIONAL DESIGN.......................................................................15
9.1
Security Design....................................................................................15
9.2
Availability and Resilience Design.....................................................15
9.3
Scalability..............................................................................................15
9.4
Platform Management..........................................................................15
9.5
Performance Design............................................................................15
9.6
Error Processing..................................................................................16
9.7
Backups and Recovery policy............................................................16
9.8
Archiving...............................................................................................16
10
ASSUMPTIONS AND ISSUES..................................................................16
10.1 Design Assumptions............................................................................16
10.2 Outstanding Issues..............................................................................16
11
APPENDIX A - TABLE RELATION DIAGRAMS....................................17
12
APPENDIX B MODULE LIST................................................................18
13
APPENDIX C - TABLE DEFINITIONS....................................................19
14
APPENDIX D - VIEW DEFINITIONS........................................................20
15
APPENDIX E - SNAPSHOT DEFINITIONS............................................21
16
APPENDIX F - TRIGGER DEFINITIONS.................................................22
17
APPENDIX G - ENTITY TO TABLE IMPLEMENTATION.......................23
18
APPENDIX H - ROLE DEFINITIONS.......................................................24
19
APPENDIX I - DATABASE DESIGN CHECKLIST.................................25
19.1 Checklist................................................................................................25
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 4 of 27
2 Introduction
This Database Design provides the basis for the <Subsystem/Application Name>
database design. It defines the database that will support the <Subsystem/Application
Name> Data Model. It describes both the logical and physical definition, non-functional
issues, and the database interfaces; storage aspects are defined in the physical database
design sections. The design is created with expected data volumes, functional and nonfunctional usage of the tables, and performance considerations and requirements in mind.
.
The following topics are covered in this document:
assumptions and decisions on database design
entity-mapping
table, column and view definitions
primary, unique and foreign key definitions
column and row level validation rules (check constraints)
rules for populating specific columns (sequences, derivations, denormalised
columns, journaling)
interfaces and dependencies with other components
data access description
:
: Issue 1.0
: 29/04/03
Page 5 of 27
3 Subsystem/Application Overview
Mandatory section
This section provides a brief overview of the subsystem. MUST be consistent with the
high level design (if any exists), or can refer directly to the high level design document if
this exists.
If the HLD is incorrect then this should be flagged to the Lead Designer.
Components within each area should be labelled using decimal notation. These tags must
be used in both diagrams and text when referencing subsystems and components.
3.1 Architecture
3.1.1 Hardware Architecture
This section provides an overview of the hardware architecture. Briefly identify the
hardware and present a diagram showing how the components are connected.
3.1.3 Interfaces
Briefly identify the interfaces to external systems - each database interface will be
described in more detail below, and documented in an external interface specification.
3.1.4 Datastores
Briefly describe all datastores including databases, file systems and media data stores.
4 Database Design Decisions
This section contains the decisions that were made when designing the database for
<Subsystem/Application Name>. Problems, alternative solutions and motivated choices
are listed below. The section also lists any design assumptions that had to be made. In
case the assumptions are results of ambiguities or lack of details, they will need verifying
by the analyst team.
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 6 of 27
4.1 Assumptions
List any assumptions made due to lack of information (eg. in the functional specifications
or data model).
Description
Reason for
not
implementin
g
:
: Issue 1.0
: 29/04/03
Page 7 of 27
Table/Column
Mapped
from
Purpose
Reason for
deviation
Description
Purpose
Sequenc
e
The following tables have a surrogate primary key columns instead of a composite
primary key consisting of a foreign key column plus a sequence within fk-column:
Table
CI Ref.
Version
Date
Comments
:
: Issue 1.0
: 29/04/03
Page 8 of 27
The following tables do have a composite primary key consisting of a foreign key column
plus a sequence within fk-column:
Table
Sequenc
e
Table/Column
/
Foreign Key
Column
Reason for
deviating
4.4 Denormalisation
To improve performance or otherwise support specific functionality, redundancy is
sometimes added to the design. Two types of redundancy are distinguished, performance
denormalisation and functional denormalisation. The first type is aimed at improving
performance, the second is needed to support the proposed functionality of the system.
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 9 of 27
Source table or
entity
Description
Journaling Issues
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 10 of 27
5.1 Interfaces
Detailed APIs for interfaces can be described here or left to individual module interface
specifications.
5.1.1.1 Purpose
Describe the purpose of the interface
5.1.1.2 Characteristics
Summarise the interface characteristics, consistent with the High Level Design.
5.1.1.6 Security
Mandatory section to describe the protocols, user authentication, encryption, signing and
control of access (at the interface entry point). (State N/A if there is nothing to describe
here).
5.2 Dependencies
List here any dependencies for the <Subsystem / Application Name> schema. One type of
dependencies can be foreign keys across schemas. List foreign key dependencies here:
CI Ref.
Version
Date
Schema the
table/ column
refers to
Table
:
: Issue 1.0
: 29/04/03
Page 11 of 27
Comments (eg.
Sharing data or just
sharing definitions)
6.1 Requirements
Describe any reporting and / or MIS requirements.
Purpose
7.2 Users
The following users are recognised as being required.
User name
Purpose
A description should be provided as to the anticipated strategy for managing users, along
with estimates of user volumetrics
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 12 of 27
Peak Frequency
Tables used
Also list any tables that can be classified as one of the following:
-high-volume read only
-high-volume insert
-high-volume updates
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 13 of 27
Payloa
d
Sort
List
Multiple
Consumer
s
Message
Grouping
Comment
Auto
Commit
Table
Name
Queue
Type
Max
Retrie
s
Retry
Delay
Retenti
on
Time
Dependen
cy
Tracking
Commen
t
8.2.4 Consumers
Queue
Name
8.2.5 Producers
Queue
Name
8.3 Partitioning
Any partitioned tables should be described as follows:
Partition
table
CI Ref.
Version
Date
Index
equipartitio
ned
(Y/N)
Partitio
n
column
Partitio
n value
Partitio
n Name
:
: Issue 1.0
: 29/04/03
Page 14 of 27
Partitio
n size
Comments
(reason for
partitioning:
eg.
Performance,
archiving)
Auto
Commit
Any partitioned indexes (other than described above) should be described as follows:
Table
Name
Index
Name
Partitio
n
column
Partitio
n value
Partitio
n Name
Partitio
n size
Comments
(reason for
partitioning:
eg.
Performanc
e,
archiving)
9.3 Scalability
Identify how the database design supports scalability requirements.
:
: Issue 1.0
: 29/04/03
Page 15 of 27
9.8 Archiving
Describe the archiving policy to be used.
10 Assumptions and Issues
Mandatory section
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 16 of 27
Logical Design
(ii)
Physical Design
Not all relations between the diagrams are shown (for clarity). This information is
available in the Table Design reports included with this document.
Legend
Drawing conventions used in the Table Relation Diagrams are defined in the design tool
used.
Describe any deviations below.
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 17 of 27
non-standard messaging
Module Reference
CI Ref.
Version
Date
Module Name
:
: Issue 1.0
: 29/04/03
Page 18 of 27
Purpose
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 19 of 27
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 20 of 27
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 21 of 27
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 22 of 27
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 23 of 27
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 24 of 27
19.1 Checklist
Naming Conventions
Check as prescribed by Design Standards.
Graphical Representation
Is a graphical representation available?
Is it consistent with the other documentation?
Can it be used by the build team?
In what ways does the logical model differ from the conceptual
schema?
Table Definition
Check as prescribed by Design Standards.
How have super- and subtypes been handled?
Is the table usage valid with respect to the CRUD matrix. (Note
that a table may be modified through a view.)
Has the life cycle of all tables been covered completely by the
modules?
Column Definition
Check as prescribed by Design Standards.
Have domain definitions been used correctly?
Have the datatypes been defined according to the standards?
Are system generated keys used?
Is the column usage valid with respect to the CRUD matrix? (Note
that a table may be modified through a view.)
Is the life cycle covered completely by the modules?
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 25 of 27
Constraint Definition
Pay attention to constraints that only hold for subtypes, or that hold
under special conditions.
Check if there is no overlap between constraints.
Have all necessary constraints (PK, FK, CHECK) been defined on
views?
Definition of Relationships
Check as prescribed by Design Standards
Investigate the following:
the design of arcs
non transferable relationships
recursive relationships
time-dependencies
(Which time is used, commit time, screen
time? What operations may be performed
on time-dependent data, under what
conditions?)
Special Problems
Have special measures been taken to deal with the following:
journaling
(What data will be journaled: user, session
id, object, operation or module, and how?
Will the journaled data be used for rollback
to X or roll forward from X purposes ?)
high performance demands
(response time for reports, screens, overall
response time, partial)
heavy or peak usage, high throughput
complex mix of hardware
robustness
denormalisation
non-frozen data model, out of phase
development of other systems
long or raw columns (in a network
environment)
concurrency problems
distributed data
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 26 of 27
CI Ref.
Version
Date
:
: Issue 1.0
: 29/04/03
Page 27 of 27