Datasheet
4
Chapter 1: Introducing T-SQL and Data Management Systems
So with the introduction of LINQ in SQL Server 2008 and CLR integration in SQL Server 2005, is T - SQL
on its death bed? No, not really. Reports of T - SQL ’ s demise are premature and highly exaggerated. The
ability to create database programming objects in managed code instead of SQL does not mean that
T - SQL is in danger of becoming extinct. Likewise, the ability to create set - oriented queries in C# and VB
does not sound the death knell for T - SQL. SQL Server ’ s native language is still T - SQL. LINQ will help
in the rapid development of database applications, but it remains to be seen if this technology will match
the performance of native T - SQL code run from the server. This is because LINQ data access still must be
translated from the application layer to the database layer, but T - SQL does not. It ’ s a fantastic and
flexible access layer for smaller database applications, but for large, enterprise - class applications, LINQ,
like embedded SQL code in applications before it, falls short of pure T - SQL in terms of performance.
What was true then is true now. T - SQL will continue to be the core language for applications that need to
add, extract, and manipulate data stored on SQL Server. Until the data engine is completely re - engineered
(and that day will inevitably come), T - SQL will be at the heart of SQL Server.
Database Management Systems
A database management system (DBMS) is a set of programs designed to store and maintain data. The
role of the DBMS is to manage the data so that the consistency and integrity of the data is maintained
above all else. Quite a few types and implementations of database management systems exist:
Hierarchical database management systems (HDBMS) — Hierarchical databases have been
around for a long time and are perhaps the oldest of all databases. They were (and in some cases
still are) used to manage hierarchical data. They have several limitations, such as being able to
manage only single trees of hierarchical data and the inability to efficiently prevent erroneous or
duplicate data. HDBMS implementations are getting increasingly rare and are constrained to
specialized, and typically non - commercial, applications.
Network database management system (NDBMS) — The NDBMS has been largely abandoned.
In the past, large organizational database systems were implemented as network or hierarchical
systems. The network systems did not suffer from the data inconsistencies of the hierarchical
model, but they did suffer from a very complex and rigid structure that made changes to the
database or its hosted applications very difficult.
Relational database management system (RDBMS) — An RDBMS is a software application
used to store data in multiple related tables using SQL as the tool for creating, managing, and
modifying both the data and the data structures. An RDBMS maintains data by storing it in
tables that represent single entities, such as “ Customer ” and “ Sale ” and storing information
about the relationship of these tables to each other in yet more tables managed by the system
which define the relationship between the Sale table and the Customer table. The concept of a
relational database was first described by E. F. Codd, an IBM scientist who defined the relational
model in 1970. Relational databases are optimized for recording transactions and the resultant
transactional data. Most commercial software applications use an RDBMS as their data store.
Because SQL was designed specifically for use with an RDBMS, I will spend a little extra time
covering the basic structures of an RDBMS later in this chapter.
Object - oriented database management system (ODBMS) — The ODBMS emerged a few years
ago as a system where data was stored as objects in a database. ODBMS supports multiple classes
of objects and inheritance of classes along with other aspects of object orientation. Currently, no
international standard exists that specifies exactly what an ODBMS is and what it isn ’ t.
❑
❑
❑
❑
CH001.indd 4CH001.indd 4 3/26/10 11:35:34 AM3/26/10 11:35:34 AM