Datasheet

Part I SQL Basic Concepts and Principles
Sufficient capacity
A database’s primary function is to store large amounts of information. For example, an order
management system for a medium-sized company can easily grow into gigabytes or even
terabytes of data; the bigger the company, the more data it needs to store and rely upon. A com-
pany that wants to keep historical (archival) data will require even more storage space. The need
for storage capacity is growing rapidly; the recent change in how audio and video files are being
used is a good example of that. Just five or six years ago, storing movie files in a database, edit-
ing and remixing them using online tools, and sharing them on the Internet would sound
almost unrealistic, and today it is our day-to-day reality. Just think of the popularity of YouTube
and similar services (such as Eyespot, Grouper, Jumpcut, VideoEgg, and so on).
Adequate security and auditing
As was noted previously, enterprise data is valuable and must be stored safely. That means
protection of the stored data not only from malicious or careless human activities, such as unau-
thorized logins, accidental information deletions or modifications, and so on, but also from hard-
ware failures and natural disasters. For many companies, database security is not a ‘‘nice-to-have’’
feature, but rather a mandatory requirement regulated by a number of different level standards,
including federal laws, such as the Sarbanes-Oxley Act of 2002 (Sarbox) and the Health Insur-
ance Portability and Accountability Act of 1996 (HIPAA).
Multiuser environment
It is also important to note that, in order to be useful, the information stored in a database must
be accessible to many users simultaneously at different levels of security, and, no matter what,
the data must stay consistent. For example, if two users try to change the same piece of infor-
mation at the same time, the result can be unpredictable (such as data corruption), so situations
like that have to be handled appropriately by internal database mechanisms. Also, certain groups
of users may be allowed to modify several pieces of information, browse other parts of it, and
be prevented from even viewing yet another part. (Some company data, such as employee and
customer personal information, can be strictly confidential with very restricted access.)
Effectiveness and searchability
Users need quick access to the data they want. It is very important not only to be able to store
data, but also to have efficient algorithms to work with it. For example, it would be unaccept-
able for users to have to scroll through each and every record to find just one order among
millions stored in the database the response to someone’s querying the database must be fast,
preferably instantaneous.
As an analogy, suppose you wanted to find all the occurrences of the word ‘‘object’’
in a book. You could physically browse through the entire book page by page until
you reach the end. Or you could use the index and determine that the word is used on pages 245,
246, and 348. This situation is comparable to using bad or good programming algorithms.
4