Datasheet
SQL and Relational Database Management Systems 1
Scalability
Databases must be flexible and easily adaptable to changing business needs. That primarily
means the internal structure of database objects should be easily modifiable with minimum
impact on other objects and processes. For example, to add a field in a pre-SQL database, you
would have to bring the whole dataset offline — that is, make it inaccessible to users, modify it,
change and recompile related programs, and so on. This is covered in more detail in the
‘‘Database Legacy’’ section of this chapter.
Another scalability aspect is that data typically lives longer than the hardware and software used
to access and manipulate it, so it would not be very convenient to have to redesign the entire
database to accommodate the current ‘‘flavor-of-the-month’’ development environment, for
example, in case of a takeover or when company management suddenly decided to switch the
production environment from Java to C#.
In addition, a small private company with a handful of customers can gradually grow into a large
corporation with hundreds of thousands or even millions of users. In this case, it would be very
useful to have the ability to start with a simplified, inexpensive (or even free) database edition
on a small server with the ability to switch easily to the same vendor’s Enterprise version on a
powerful multiprocessor machine.
A very popular and recent alternative to the idea of a powerful multiprocessor server
is the concept of ‘‘grid’’ computing when a virtual supercomputer is being assembled
from multiple nodes where each node is a relatively small server. The nodes can be easily added
or removed from the system, which significantly improves its scalability.
User friendliness
Databases are not just for programmers and technical personnel (some would say not for pro-
grammers — period). Nontechnical users constitute the majority of all database users nowadays.
Accountants, managers, salespeople, doctors, nurses, librarians, scientists, technicians, customer
service representatives — for all these and many more people, interaction with databases is an
integral part of their work. That means data must be easy to manipulate. Of course, most users
will access it through a graphical user interface with a predefined set of screens and
limited functionality, but ad hoc database queries and reports are becoming more and more
popular, especially among sophisticated, computer-literate users.
Consider this. An order management application has a screen to view all orders and
another window to browse customers. It can also generate a number of reports, in-
cluding one to analyze orders grouped by customer. Accountant Jerry is working on a report for
his boss and needs to find the 10 customers with the highest debt. He can request a new report
from the IT department, but it will take days (or even weeks) because of bureaucratic routine,
programmers’ busyness, or something else. The knowledge of SQL can help Jerry to create his own
ad hoc query, get the data, and finish his report. The use of a GUI tool such as TOAD or Win-
SQL would make Jerry’s task even easier — in this case, he doesn’t have to know the exact SQL
syntax. The tool can build and execute the SQL statement he needs if only Jerry could specify the
tables and columns he wants to retrieve as well as the relationships between these tables.
5