"Unlock your business data and gain inovation and competitive advantage with Expert Database Solutions."




Expert Database Solutions Database Architecture

Understanding Data Relationships and Data Models

Data architecture is the design of data to achieve a business objective. Like an architect who designs buildings and houses, the database arcitect drafts the blue print for a business system to store and retrieve business data in meaningful ways.

You wouldn't start building a house without a blueprint, and you shouldn't start building a database system without one. A critical component to good system design is business analysis or the process of business requirements gathering.

Business Requirement Analysis

All too often business stakeholders think they can save money by eliminating this critical step in the design phase of a database development project. Although business stakeholders know more about their business processes and what they need to better achieve their business objectives than an "outsider" would; they don't understand technology or the differences and limitations specific to technology tools.

The Role of a Business Analysis

It takes special skills to understand both business requirements and technology methods, tools, benefits and limitations. A good business analyst understands both the needs of business stakeholders and system developers. They can help select the best and most cost effective technologies to meet project objectives. They can determine the natural work flow of the system's end users and what GUI features will allow them to complete their work more effectively. They can help set realistic development schedules.

Conceptual, Logical and Physical Data Models

Complexity increases from conceptual to logical to physical. With the conceptual data model we understand at a high level what the different entities are in our data and how they relate to one another. With the logical data model we can understand the details of our data without worrying about how they will actually implemented. Finally with the physical data model we can understand exactly how to implement our data model in the RDBMS of choice.

  • Conceptual: represents all business entities, processes and rules.
  • Logical: represents the logic of how entities are related and how processes flow.
  • Physical: the realization of the data mechanisms for a specific type of functionality.

In a broader sense, data architecture includes a complete analysis of the relationships between an organization's functions, available technologies, and data types.

Relational Database Management Systems

A relational database management system (RDBMS) is a program that lets you create, update, and administer a relational database. Most commercial RDBMS's use the Structured Query Language (SQL) to access the database. The leading RDBMS products are Oracle, IBM's DB2 and Microsoft's SQL Server.

The Relational Model

The relational database model was conceived by E. F. Codd in 1969, then a researcher at IBM. The model is based on branches of mathematics called set theory and predicate logic.

The basic idea behind the relational model is that a database consists of a series of unordered tables (or relations) that can be manipulated using non-procedural operations that return tables. This model was in vast contrast to the more traditional database theories of the time that were much more complicated, less flexible and dependent on the physical storage methods of the data.

The relational model can be applied to both databases and database management systems (DBMS) themselves. The relational fidelity of database programs can be compared using Codd's 12 rules (since Codd's seminal paper on the relational model, the number of rules has been expanded to 300) for determining how DBMS products conform to the relational model.

Relational Database Design

Database design requires decisions about how best to take a set of real world business processes and model them into a database system. This consists of deciding what tables to create, what data will be captured in each table, what columns each table will contain, and the relationships between the data in these tables.