Microsoft® SQL Server® 2012 Bible

(Ben Green) #1

17


Chapter 2: Data Architecture


2


If the data is to be made readily available in the future, then current designs must be fl ex-
ible enough to avoid locking the data in a rigid, but brittle, database.

Database Objectives


Based on the Information Architecture Principle, every database can be architected or evalu-
ated by six interdependent database objectives. Four of these objectives are primarily a func-
tion of design, development, and implementation: usability, extensibility, data integrity, and
performance. Availability and security are more a function of implementation than design.

With suffi cient design effort and a clear goal to meet all six objectives, it is fully possible
to design and develop an elegant database that does just that. No database architecture is
going to be 100 percent perfect, but with an early focus on design and fundamental prin-
ciples, you can go a long way toward creating a database that can grow along with your
organization.

You can measure each objective on a continuum. The data architect is responsible to inform
the organization about these six objectives, including the cost associated with meeting
each objective, the risk of failing to meet the objective, and the recommended level for
each objective.

It’s the organization’s privilege to then prioritize the objectives compared with the relative cost.

Usability
The usability of a data store (the architectural term for a database) involves the com-
pleteness of meeting the organization’s requirements; the suitability of the design for its
intended purpose; the effectiveness of the format of data available to applications; the
robustness of the database; and the ease of extracting information (by programmers and
power users). The most common reason why a database is less than usable is an overly com-
plex or inappropriate design.

Usability is enabled in the design by ensuring the following:

■ A thorough and well-documented understanding of the organizational requirements

■ (^) Life-cycle planning of software features
■ Selecting the correct meta-pattern (for example, transactional and dimensional) for
the data store
■ Normalization and correct handling of optional data
■ (^) Simplicity of design
■ A well-defi ned abstraction layer
c02.indd 17c02.indd 17 7/30/2012 4:07:51 PM7/30/2012 4:07:51 PM
http://www.it-ebooks.info

Free download pdf