What is A Database?
Databases are also considered containers. They hold the
objects that make up your server’s purpose in life. Tables, views, indexes, and
stored procedures are all objects that reside in your database. You can, and
often will, have multiple user-defined databases residing on your server. These
databases are where the production information and code reside. Other databases
are installed on your server to give it the intelligence it needs to function; I
will cover these databases in a few different areas throughout the book.
However, our focus will be on setting up a production system, not on the inner
workings of Microsoft SQL Server.
One of the most common mistakes new users make is to
confuse the device and the database. You place your databases within your
devices. To understand this, think of a database as a division within your
company. For instance, Human Resources deal with very specific kinds of
information, so you would logically put all of that type of information in a
container for centralized management and access control. Accounting is an area
that often requires more security than others, and the information generated
from this area would justly be placed in a separate container for security
reasons. You would not scatter information for the Human Resources department
throughout all the offices; instead, you would put all those functions and
resources in one place. The same applies to databases and good database design.
An interesting point for all PC-based database
programmers is that Microsoft SQL Server does not store the information or data
in the database. Remember, the database is a container. Instead, the server
stores your data in a table. The index you create for fast access to data is not
stored in the table with the raw data; it is stored as another object within the
database. A database is a collection of objects. This concept is not hard to
follow, but it is different enough from the organization of other database
programs that it is sometimes a stumbling block for the small-system programmer.
An MIS department accustomed to dBASE or Microsoft FoxPro databases will
struggle with this at first. Since this structure is common to most large
database systems today, you should become familiar with it.
In addition, you should focus on the database level when
administrating your system’s security. Your users will be granted a logon ID for
connecting to the server, but this does not allow them to get to the data they
need. This is done by adding users and groups to each database individually on a
need-to-know basis. This method of security keeps unwanted users from browsing
where they should not while allowing others to do their jobs.
Returning to the office analogy, let’s compare a
database to the Accounting department in your company. This department might
have a door you must pass through, and once you pass through that door, you
would see all the cubicles and desks where the actual work is done. This door
might be locked in the evening or even require a passkey to enter during the
day.
The same idea can be applied to a database. The records
and files are not strewn around the office; they reside in filing cabinets and
in folders or ledgers for ease of access. These organizational tools can be
related to Microsoft SQL Server objects. You use tables, stored procedures, and
indexes to find what you need when you need it.
The security model that Microsoft SQL Server uses is
also similar to the passkey entry requirement. No one gets access without a
valid key or password. I will not try to recommend a security method here
because of the diverse requirements in the market today. However, I will say
that Microsoft SQL Server will accommodate a strict security model very well and
still allow for the simple, trusting models required by smaller companies
growing into Microsoft SQL Server.
During installation of Microsoft SQL Server, you will
not be concerned with these divisions or security, but you should make a few
assumptions on the amount of disk space you will need to accommodate these areas
and how you will accommodate these needs.
No comments:
Post a Comment