Managing Information Technology

(Frankie) #1

100 Part I • Information Technology



  • TimingFew organizations can put all systems devel-
    opment on hold while a complete data model is
    developed. It is possible, for example, to develop
    only a high-level data model (with just major data
    categories) and then fill in details as major systems
    projects are undertaken. This evolutionary approach
    might be more practical, but it must be done within
    the context of an initial overall, general enterprise
    data model.
    Regardless of the approach, data modeling represents a
    radical change to the more traditional approach of making
    short-term fixes to systems. A business manager often simply
    wants access to needed data and is not interested in waiting
    for an entire data model to be built. Unless an overall data
    management approach is taken, however, the inconsistencies
    and excessive costs of poorly managed data will consume the
    integrity and viability of the data resource.
    It should be clear that data modeling is not an issue
    of centralized versus decentralized control. In fact, the data
    administration approach (with database administrators and
    subject area data stewards) emphasizes placing decision-
    making power in the hands of those most knowledgeable
    about the data. Some managers (both business and IS),
    however, will resist data planning and modeling because
    they sense a loss of influence.


Database Programming


Data processing activity with a database can be specified in
either procedural programs written in a 3 GL or via special-
purpose languages developed for database processing. In the
case of a 3 GL program, additional and more powerful
instructions are added to the vocabulary of the programming
language. For example, in a customer and order database the
storage of a new order record not only necessitates storing
the order data themselves but also updating various linkages
that tie together a customer record with its associated order
records. In a regular 3 GL program, instructions to write new
data to the customer record, its indexes, the order record, and
its indexes would have to be provided individually. With the
commands available through the special enhancements to the
language provided by the DBMS, only one instruction is
needed in the program, and all the associated indexes
and records are updated automatically, which makes the
programming task more productive and less error prone.
More commonly today, two special-purpose lan-
guages are used by themselves or in combination with 3
GLs for database access. One such 4 GL, nonprocedural
special-purpose language is called a query language, for
posing queries to the database. The most common database
4 GL is SQL(Structured Query Language, often pro-
nouncedsequel), which is standardized by the International


Organization for Standardization (ISO). Adopting such an
international standard for writing database queries means
that no or minimal changes will need to be made in a
program you write if you change DBMSs. Using such a
nonproprietary language, that is not particular to only one
vendor, means that programming talent is more readily
available, best practices are more common, and you are
more likely protected from being locked in to one vendor.
Suppose you needed to see the order ID, customer
ID, customer name, and order date for all customer orders
since April 12, 2011. The following is an example SQL
query to produce this result:

SELECT OrderID, CustomerID, CustomerName,
OrderDate
FROM Customer, Order
WHERE OrderDate > ‘04/12/11’ AND
Customer.CustomerID = Order.CustomerID;

The equivalent COBOL program might require ten or
more procedure division instructions. SQL can be used
interactively, by entering one query at a time and getting a
result for each query, or can be embedded in 3 GL programs.
Languages such as COBOL, Java, C++, and .NET can
include SQL with appropriate software to help these
languages process the SQL. Software, called middleware,
will allow SQL in programs on one computer to access data
on another computer when software on both computers
understand SQL, even if the SQL processors on the different
computers come from different software vendors. Some
software hides SQL from you. For example, statistical
analysis software like SAS and business intelligence tools
such as MicroStrategy actually generate very complex SQL
code in order to retrieve the data needed, for example, to
perform a sales forecast calculation.
When it is not possible to pass queries and data
between computers using SQL, a data exchange language,
XML(eXtensible Markup Language), often can be used.
XML is used to describe the structure of data and to label
data being exchanged between computer programs. XML
has essentially become a standard for e-commerce data
exchange because neither system (e.g., one in your compa-
ny and one in one of your suppliers) needs to know any-
thing about the database technology each is using. As long
as the different organizations agree on a schema (similar to
a data model) for data and what labels to use for different
pieces of data, data can be exchanged.
XML is the basis for Web services, which is a scheme for
sharing programs and data across the Internet. For example,
suppose your organization, a manufacturing company, partici-
pates in an industry that has created a common schema for data
the companies need to share (many industries, e.g., automotive,
travel, and health care, have done this). Further suppose that
Free download pdf