database design concepts be
TRANSCRIPT
-
8/6/2019 Database Design Concepts BE
1/41
3/10/2005 1
Database Design Concepts and
Data Integration
URISAFebruary 9th, 2005
Bob Earle
-
8/6/2019 Database Design Concepts BE
2/41
Agenda
A few Design tips and guidelines, some ofwhich I learned thehardway
Many GIS staff get database design and
maintenancethrust upon them
The revolution of GIS at Sacramento
County; how we became adata integrator,but not necessarily by plan
-
8/6/2019 Database Design Concepts BE
3/41
Design of a Spatial system is like any other Enterprise application
-
8/6/2019 Database Design Concepts BE
4/41
Earlier is Better
-
8/6/2019 Database Design Concepts BE
5/41
Translation of User Requirements
Business RulesModel the Users View
-
8/6/2019 Database Design Concepts BE
6/41
Entity Relationship Diagram
Good design tool, good communication tool
-
8/6/2019 Database Design Concepts BE
7/41
Access ERD (Relationships)
You may already have an ERD tool and not know it
-
8/6/2019 Database Design Concepts BE
8/41
-
8/6/2019 Database Design Concepts BE
9/41
Sacramento County ERD
-
8/6/2019 Database Design Concepts BE
10/41
Normalization
Remove RepeatingGroups
Every non-key column
must be dependent onall parts of the primary
key
No non-key column
may be functionallydependent on anothernon-key column
Introduced by E.F. Codd
-
8/6/2019 Database Design Concepts BE
11/41
Every attribute will refer to the
Primary key, the whole key and
nothing but the key, so help meCodd
A table should have a field that uniquely identifies
each of its records, and each field in the table should
describe the subject that the table represents
Database Design for Mere Mortals by Michael Hernandez
-
8/6/2019 Database Design Concepts BE
12/41
Database Data Models
-
8/6/2019 Database Design Concepts BE
13/41
-
8/6/2019 Database Design Concepts BE
14/41
-
8/6/2019 Database Design Concepts BE
15/41
Metadata
-
8/6/2019 Database Design Concepts BE
16/41
Database Design Fallacies Design your system to replicate existing practices
You can throw your data model away when you
have implemented your database
I will just put it in a note Metadata is too much trouble
My spreadsheet is good enough
GIS shouldnt be putting its nose into everybodys
business
-
8/6/2019 Database Design Concepts BE
17/41
More Database Design Fallacies Nobody will ever need my data
Just import your shapefiles into SDE and
voila you have a Geodatabase
Normalized data is fast performing data
Spatial data is just data
-
8/6/2019 Database Design Concepts BE
18/41
Database Design Truths
Spatial data is just data Design on paper, then a computer
Earlier is better Document deviances from the conceptual
design
-
8/6/2019 Database Design Concepts BE
19/41
More Database Design Truths
Use meaningful attribute and table names Flag for deletion, rather than delete
Take the users key away Use database constraints, rather than coded
business rules
-
8/6/2019 Database Design Concepts BE
20/41
What is so Special about Spatial
Data? How it is the same than regular data
Data relationships Integrity
Key Asset
How it is different Spatial Key (Location is a type of key)
Topology
Heavy load Long transaction
Advanced data type
Database
-
8/6/2019 Database Design Concepts BE
21/41
Early GIS
-
8/6/2019 Database Design Concepts BE
22/41
Community GIS
-
8/6/2019 Database Design Concepts BE
23/41
Evolution of the spatial data modelIan McCarg
Design With Nature
ArcInfo
Coverages
Oracle Spatial
True SpatiallyEnabled
Database
True SpatiallyEnabled
Database
GeoDatabaseShape File
ArcStorm
SDE
-
8/6/2019 Database Design Concepts BE
24/41
GIS Layers
Points
Lines
PolygonsSurfaces
-
8/6/2019 Database Design Concepts BE
25/41
3 D
-
8/6/2019 Database Design Concepts BE
26/41
Scanned Maps
-
8/6/2019 Database Design Concepts BE
27/41
Scanned Documents
-
8/6/2019 Database Design Concepts BE
28/41
Attribute Data
-
8/6/2019 Database Design Concepts BE
29/41
Orthophotography
-
8/6/2019 Database Design Concepts BE
30/41
-
8/6/2019 Database Design Concepts BE
31/41
-
8/6/2019 Database Design Concepts BE
32/41
Levels of Data Integration
-
8/6/2019 Database Design Concepts BE
33/41
If it were a perfect (GIS) World
SpatialInt
ernet
Universal
DatabaseTransactions Regional
DepartmentalDocume
nts
-
8/6/2019 Database Design Concepts BE
34/41
I cant say it was
easy, but I can say itwas worth it!!
Sacramento County PropertySystems
-
8/6/2019 Database Design Concepts BE
35/41
Systems(Without data sharing)
GHB/GAXApplications(Mainframe)
CPSUnsecured Tax
Application(Oracle)
GIS(ESRI)
APSPermits system
(Oracle)
PDBApplication(Mainframe)
SAP/COMPASS
(Oracle)
Utility Billing/CUBS
(SAP?,Oracle?)
Planning
Public WorksDirect Levy
Maintenance
Application
Sacramento County Property
-
8/6/2019 Database Design Concepts BE
36/41
County-wideShared
PropertyData Warehouse
GHB/GAXApplications(Mainframe)
CPSUnsecured Tax
Application(Oracle)
GIS
(ESRI)
APSPermits system
(Oracle)
PDBApplication(Mainframe)
SAP/COMPASS
(Oracle)
Utility Billing/CUBS
(SAP?,Oracle?)
Planning
y p ySystems
Public WorksDirect Levy
MaintenanceApplication
-
8/6/2019 Database Design Concepts BE
37/41
Examples of
Shared Data Benefits
Tax Rate Areas Vineyards
Utility Billing Minimize data redundancy and costs in the
Regional Cooperative
-
8/6/2019 Database Design Concepts BE
38/41
Data Ownership, Dissemination, and
Accessibility Policies
Ownership - Departments own their data,
GIS is the middleman
Dissemination - Open Access, Cooperative
Mapping based on Standards
Access - Concerns over safety
-
8/6/2019 Database Design Concepts BE
39/41
Database Architecture
Warehouse
Shared
Trans-actional
Warehouse
Shared
Trans-
actional
Firewall
fi f
-
8/6/2019 Database Design Concepts BE
40/41
Summary - Benefits of
Good Design Data integrity
Flexibility in data retrieval and analysis
Follows business rules and therefore supports
organizational requirements Easier to share data
Different users access same data
Accommodates different views of the data
Minimal Data Redundancy
Breaks out of Spreadsheet mentality
-
8/6/2019 Database Design Concepts BE
41/41
Questions, Comments?
[email protected]@saccounty.net
mailto:[email protected]:[email protected]:[email protected]:[email protected]