Database Answers

 

 

 

 

 

 

 

 

 

 

                                    TOPICS OF INTEREST AND FAQS

 

 

 

                                                               IN

 

 

 

ENTERPRISE   DATA MANAGEMENT

 

 

 

 

 

 

 

 

 

 

                                                                                                Barry Williams

                                                                                                                                Principal Consultant

                                                                                                                                Database Answers Ltd.

                                                                                                                                London, England

                                                                                                                                info@barryw.org

 


 

CHAPTER 1. INTRODUCTION.. 3

1.1 Purpose of this Document 3

1.2 How to use this Document 3

CHAPTER 2. TOPICS OF INTEREST. 3

2.1 Agile Database Techniques. 3

2.2 Application Generation. 3

2.3 Application Generation On-Demand. 4

2.4 Career Planning. 4

2.5 Data Marts. 5

2.6 Data Modelling. 11

2.7 Data Services. 17

2.8 Data Warehouses. 17

2.9 Design Patterns. 17

2.10 Global Reporting. 17

2.11 Mobile Applications. 17

2.12 Multiple Languages in a Database. 17

2.13 Open Source Databases. 18

2.14 Reference Data. 18

2.15 Service-Oriented Architecture (SOA) 18

2.16 SQL Server Features Analysis. 18

 

 

 


 

CHAPTER 1. INTRODUCTION

1.1 Purpose of this Document

This document presents a discussion of some current Topics of Interest in Database-related areas..

1.2 How to use this Document

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.

 

 

CHAPTER 2. TOPICS OF INTEREST

2.1 Agile Database Techniques

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.

2.2 Application Generation

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 Oslo initiative.

 

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 Oslo is about.”

 

Here’s a link to the Microsoft Oslo initiative for Model-driven Applications :-

http://www.microsoft.com/soa/products/oslo.aspx

 

2.3 Application Generation On-Demand

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 :-

http://www.databaseanswers.org/pi_user_registration/login.asp?ref_url=/data_models/user_extendable_database/uedb_tables.asp

 

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.

 

 

 

2.4 Career Planning

2.4.1 Introduction

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 :-

http://www.learningtree.com/

For home study, I would recommend Sybex 

http://www.sybex.com/WileyCDA/Section/Databases-ERP.id-290542.html

2.4.2 Data Modelling

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.

2.4.3 Database Administration

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.

2.4.4 What about Certification as aDBA ?

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

2.5 Data Marts

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.


2.5.1 Customer Services and Local Government

 


 

2.5.2 Entertainment

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

 


 

2.5.3 Law Enforcement

This will include Tables from Data Models listed under Law Enforcement on this page :-.

http://www.databaseanswers.org/data_models/index.htm

 

 


2.5.4 Students

This will include Tables from Student-related Data Models on this page :-.

http://www.databaseanswers.org/data_models/index.htm

 

 


 

2.5.5 Web Site Visits Analytics

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

 

 


 

2.6 Data Modelling

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 Oslo initiative.


 

2.2.1 Customer Services and Local Government ERD

This shows how Customer Services can be modeled for Local Government with Addresses, Contacts, Documents, Events and Staff.



 

2.2.2 Entertainment ERD

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.

 

 


 

2.2.3 Law Enforcement ERD

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

 


 

2.2.4 Students ERD

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.

 


2.2.5 Web Site Visits ERD

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 :-.

 

 

 

 


 

2.7 Data Services

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’ :-

 

2.8 Data Warehouses

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.

2.9 Design Patterns

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

2.10 Global Reporting

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.

2.11 Mobile Applications

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.

2.12 Multiple Languages in a Database

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.

2.13 Open Source Databases

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.

2.14 Reference Data

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

2.15 Service-Oriented Architecture (SOA)

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 :-

http://www.microsoft.com/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

2.16 SQL Server Features Analysis

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

Oslo

???

Enterprise Data Platform

Messages

2008

???

Extensions to SQL

GIS

2008

Oracle Spatial

Hierarchies

Hierarchy ID Datatype

2008

CONNECT BY

On-Demand

Cloud Computing

Azure

CRM On-Demand