
TOPICS OF INTEREST AND FAQS
IN
Barry
Williams
Principal
Consultant
Database
Answers Ltd.
2.3
Application Generation On-Demand
2.12
Multiple Languages in a Database
2.15
Service-Oriented Architecture (SOA)
2.16
SQL Server Features Analysis
This document presents a
discussion of some current Topics of Interest in Database-related areas..
To use this Document, simply
check out the List of Topics in Section 8 to see if they include what you are
looking for.
If you have a question that
is not covered please tell us about it and we will be happy to respond.
You can email us at dba_requests@barryw.org.
Agile Development is an
approach that emphases close collaboration with End-Users, and incremental
delivery on short time-scale, typically about six weeks.
The recommended reference
here is a book entitled “Agile Database Techniques” by Scott Ambler, a highly-respected writer in the general field of Agile
Development.
Application Generation is
still a very labour-intensive process.
This results in
time-consuming and expensive Applications which are
difficult to modify.
The necessity of solving the
‘Impedance Mismatch’ by reconciling Relational Database Tables and the
Object-Oriented approach adds to the problems.
We favour
a Data Dictionary-driven Approach which leverages the
power of Templates.
This is
discussed in the next Section.
From time to time, efforts have been made to extend the scope of Modelling
techniques to include more of the System Development Lifecycle.
These have met with mixed
success. Therefore, although Data Modelling remains a
powerful and widely-used technique, Systems Modelling is not common practice except in the area of
Object-Orientated Design, where the Rational Unified Process (RUP) is common
practice.
However, Microsoft has been
putting significant effort into extending the scope of Modelling
Techniques with their
Here’s an extract from a Presentation
by Bill Gates :-
[Oslo] is actually taking the
kind of models that you're seeing arising in specific domains, like software
management in System Center, or your data design over in SQL, or your process
activities over in BizTalk and saying, we need to take all these domains and be
able to put them into one model space.
In fact, we need to let
people create their own domains that aren't just
isolated, but that exist in this one modeling space. And that's what
Here’s a link to the
Microsoft Oslo initiative for Model-driven Applications :-
http://www.microsoft.com/soa/products/oslo.aspx
The use of Data Dictionaries to
provide an interpretive approach to building Applications has
been used on a number of occasions by different organizations in the
past.
Probably the most
high-profile current example is Salesfore.com which
has established an On-Demand business with 1,000,000 Online Users at https://www.salesforce.com/
At Database Answers, we
created an On-Demand facility several years ago to create and populate Tables.
This facility requires as a Login :-
Work is in progress to move
this facility to an On-Demand facility in the Clouds and specifications for are
available in a separate document.
Being able to produce Reports
from Databases is a facility that justifies the existence of many Database.
As a Database Professional,
it is very important to balance training with hands-on experience.
In the past, I have taken
some classroom courses with Learning Tree which were good :-
For home study, I would
recommend Sybex –
http://www.sybex.com/WileyCDA/Section/Databases-ERP.id-290542.html
Data Modelling
is a core discipline that provides a solid foundation for Data Analysis and
comprehensive Data Management.
The market leader in Data Modelling Tools is ERWin from
Computer Associates.
My favourite
is Dezign from Datanamic.
Both of these can generate
SQL Scripts to create Tables for a wide variety of Databases, including Oracle
and SQL Server, IBM’s DB2, mySQL and so on.
Data Modelling
therefore offers an excellent path away from vendor-specific thinking to a higher
level of abstraction.
Being a Database
Administrator or ‘DBA’ can be a very challenging and rewarding role.
The current trend is towards
‘Point and Click’. This means that many functions that used to require a DBA to
learn complex command-line instructions have now been deskilled.
This trend
has been accelerated by Microsoft with SQL Server where they have exploited
their expertise in
Windows
Interfaces.
Therefore, a Microsoft SQL
Server DBA can look after more Databases than an Oracle DBA.
This means that it is
important for a DBA to acquire skills in SQL Server’s T-SQL and Oracle’s
PL/SQL.
The move in the marketplace
is away from Oracle to SQL Server.
This is especially encouraged
by the Global credit crunch, where Oracle might lose out to SQL Server on
grounds of cost.
Certification can be
described as ‘Necessary but not sufficient’. In other words, some employers
consider it as evidence that you have the necessary technical knowledge and
skills to be a Database Administrator, but without any experience, it will not
guarantee you a job.
If you take your profession
seriously and are committed to self-improvement, then you should certainly
consider getting certified in the DBMS of your choice.
Here are some very useful
Microsoft Web Links :-
* Overview of Certification - http://www.microsoft.com/learning/mcp/default.mspx
* Database Administrator - http://www.microsoft.com/learning/mcp/mcitp/dbadmin/default.mspx
* Microsoft Certified Master - http://www.microsoft.com/learning/mcp/master/sql/default.mspx
* Certified Database Architect
http://www.microsoft.com/learning/mcp/architect/database/default.mspx
Being able to produce Reports
from Databases is a facility that justifies the existence of many Database.
Users frequently have
flexible Report Requirements which change from time to
time.
A very powerful technique to
meet these Requirements is the approach of building Data Marts.
These can
be informally described as ‘throwing all the data into a huge basket and
providing flexible Report Templates’.
Data Marts usually have a
clearly defined scope and a clearly defined User community.
Data Warehouses, in contrast,
are intended to be ‘a solution to everybody’s Report
Requirements’.
In other words, Data Marts
have a smaller scope and are easier to cost-justify.
Here follow some Data Models
for Data Marts.

This will include Tables from
Models listed under Data Warehouses on this page of the Database Answers Web Site :-.
http://www.databaseanswers.org/data_models/index.htm

This will include Tables from
Data Models listed under Law Enforcement on this page :-.
http://www.databaseanswers.org/data_models/index.htm

This will include Tables from
Student-related Data Models on this page :-.
http://www.databaseanswers.org/data_models/index.htm

This Data Model is number 3
on this page of the Database Answers Web Site :-.
http://www.databaseanswers.org/data_models/website_analytics/index.htm

Data Modelling
is a core discipline that provides a solid foundation for Data Analysis and
comprehensive Data Management.
Here is a Tutorial on Data Modelling from the Database Answers Web Site –
http://www.databaseanswers.org/tutorial4_data_modelling/index.htm
It is also available in other
languages :-
Portuguese -
http://www.databaseanswers.org/tutorial4_data_modelling/tutorial_in_portuguese.htm
Spanish - http://www.databaseanswers.org/tutorial4_data_modelling/tutorial_in_spanish.htm
During the Data Analysis
Stage, Data Modelling can be very effective as a
vehicle for establishing communication with a range of interested parties,
including End-Users, Managers, Developers and so on.
During Data Migration, Data Modelling is essential because it provides the details
necessary to define the field-level Mapping from Sources to Targets.
For Data Architecture, Modelling can be used to create
simple Architecture diagrams, with easy expansion to the underling Entities.

From time to time, efforts have been made to extend the scope of Modelling
techniques to include more of the System Development Lifecycle.
These have met with mixed success.
Therefore, although Data Modelling remains a powerful
and widely-used technique, Systems Modelling
is not common practice except in the area of Object-Orientated Design, where
the Rational Unified Process (RUP) is common practice.
However, Microsoft has been
putting significant effort into extending the scope of Modelling
Techniques with their
This shows how Customer
Services can be modeled for Local Government with
Addresses, Contacts, Documents, Events and Staff.

This Data Model includes
Entities selected from Models listed on this page on the Database Answers Web Site :-.
http://www.databaseanswers.org/data_models/top_ten_data_models_entertainment.htm
It shows Key fields only in
order to make the Model easier to understand.

This will include Tables
selected from Models listed on this page on the Database Answers Web Site :-.
http://www.databaseanswers.org/data_models/top_ten_data_models_law_enforcement.htm

This Data Model includes
Tables selected from Models related to Students on this page of the Database
Answers Web Site :-.
http://www.databaseanswers.org/data_models/index.htm
It shows Key fields only in
order to make it easier to understand.

This is the Logical Data
Model is number 1 on this page of the Database Answers Web Site
:-.
http://www.databaseanswers.org/data_models/website_analytics/index.htm

This is the Physical Data
Model is number 2 on this page of the Database Answers Web Site
:-.

I think of Data Services as
Web Services which are specifically designed to move
data around a Service-Oriented Architecture (SOA).
Wikipedia has a definition which is full of intriguing hints :-
One of the links which is
worth following up is this interesting page from Laura Gibbons, who is a Senior
BI Solutions Architect, and self-titled ‘Sassy Data Chic’ :-
Data Warehouses, in contrast
to Data Marts, are intended to be ‘a solution to
everybody’s Report Requirements’. Data Marts (q.v.) have a smaller scope and
are easier to cost-justify.
Design Patterns are generic
solutions to a particular group of problems.
In the case of Data Models,
we can easily identify that a Design Pattern would be a generic Data Model for
Master / Detail situations. For example, Customers and
Service Requests or Voters and Elections.
On the Database Answers Web
Site, there are several Design Patterns, which are referred
to as Generic Models. An excellent one to start with is this one which provides
a Generic Foundation for a family of related Data Models :-
http://www.databaseanswers.org/data_models/generic_foundation/index.htm
Global Reporting presents a range
of demands for Data Integration and Performance Reporting.
The Databases must provide
multiple languages in a range of aspects, such as product descriptions,
messages for Users in the User Interfaces.
In order to avoid major
redesign o the databases, these need to be built-in from the start, rather than
bolted on later.
Mobile applications are
increasing being used for serious commercial and
business uses, such as data entry of observations in the environment.
The implications are
replication and synchronization of remote Databases running on Cellphones and Mobile phones, typically running Windows
Mobile with SQL Server CE.
When Users need to logon to a
system, the Database will store a preferred language field for every User in .
UNICODE is be used to correctly store different characters sets, such as
Japanese, French or Hungarian
Multiple languages are commonly used for Multi-national Corporations, such as
Microsoft, where they need to store the description of the same Product in many
different languages.
In this case
there would be a language field in every table that stores text that must be
displayed in the language suitable for the country (or the preferred language
for a User).
There may not be any text of this nature that must be displayed
in different languages.
There may be messages that the application will display to the User.
In other words, they exist in the interface between the application and the
User.
For example, "Welcome" would be ようこそ in Japanese.
The Open Source approach
offers free software with support available at a charge.
The most widely-used
Open Source Database is mySQL, and here’s their Web
Site http://dev.mysql.com/
A while ago, MySQL was taken over by Sun, which
was recently taken over by Oracle, (in place of IBM).
It will be interesting to see
how the future of MySQL evolves.
Reference Data is an
important part of any Database.
Its importance frequently
goes unrecognized.
The specification and
sourcing of Reference Data should be one of the early tasks in creating an
operational Database.
Where possible, it should
conform to National or International Standards.
For
example, Currency Codes and Currency Codes.
Reference
Data is an important part of Master Data Management, which requires a single,
consistent definition of ‘Things of Interest’ in a Database.
This
is a link to an appropriate page on the Master-as-a-Service Web Site :-
http://www.mdm-as-a-service.com/reference_data.htm
The Service-Oriented
Architecture ‘SOA’ is important and will become increasingly important in the
future.
It is an essential design
approach for Cloud Computing because it makes it possible to think about Data
Services as independent functions that can be executed as required in an
environment that is loosely coupled around an SOA and an Enterprise Service
Bus.
Here is Microsoft’s position
on SOA :-
Microsoft has a
Self-Assessment Tool to help organizations identify where they are in SOA and
Business Process capabilities :-
http://www.microsoft.com/soa/about/assessment.aspx
This is a draft version of a
table comparing new features in SQL Server 2008 and Oracle.
|
CATEGORY |
FEATURE |
SQL
Server |
Oracle
10g |
|
Application
Generation |
Model-Driven
Generation |
|
??? |
|
|
Messages |
2008 |
??? |
|
Extensions
to SQL |
GIS |
2008 |
Oracle
Spatial |
|
Hierarchies |
Hierarchy
ID Datatype |
2008 |
CONNECT
BY |
|
On-Demand
|
Cloud
Computing |
Azure |
CRM
On-Demand |
|
|
|
|
|