TEC 5323 Advanced Database Technology
Supplemental Reading of Chapter 1
1. Database:
Think of a database as a sophisticated version of an index card file. For example, an employee phone list consists of index cards. Each card contains employees' ID number, first name, last name, and phone number as in the following table.
ID_NUMBER FIRST_NAME LAST_NAME PHONE_NUMBER 1 John Doe 217-333-5551 2 Joe Smith 217-343-2354 3 Dawn Pretty 630-234-2223 4 Leslie White 201-851-7809
In database terminology, each employee's card is called a record. Sometimes, computer programmer will call it one row. For example, "1, John Doe, 217-333-5551" is one record or one row. All the cards in the index card file are organized into a table. Each column of the table stores the same type of information for all records.
Each item on a card is called a field, which is an intersection of the row and column. A field represents two parts: field label and field value. For example, for employee 1, John is the field value whereas the field label is "FIRST_NAME"
A typical database is normally composed of many tables similar to the above table. For example, in addition to the employee phone list card file, you might also have card files for customers and products. You can store the additional card files as additional tables in the same database.
2. Role of Database Management System (DBMS):
Data can be important asset and become useful information for an organization only if they are organized and presented in a meaningful way. Generally, a typical database management system (DBMS) will have the following roles.
- Data storage: The system should be able store data efficiently, safely and securely. In most cases, corporate data are stored in a central location for even a global organization.
- Access: The database can be accessed by employees and customers of the organization any time and any where. Generally, concurrent access by many users is a major advantage of modern distributed/networked database system, in contrast to desktop database such as Microsoft Access.
- Transaction: Authorized employees or customers should be able to input or update data into database for any operations. This requirement generally imposes a major challenge to database system design. For example, if there are more than one customers want to buy the same items, the database will allow only one customer to proceed before another one. In this way, all customers will have up-to-second information.
- Bookkeeping: The database system will keep a record of transaction and changes in the database. If needed, a transaction can be rolled back if necessary (similar to undo function on Microsoft WORD).
- Backup and Recovery: In case of system crash, the database system will protect the data or recover the data loss as much as possible.
- Performance: The database responds to users' needs as quickly as possible.
- Security: Data is a major asset of any organization. No unauthorized access or tempering will be allowed in the system.
3. Enterprise Database Management System:
Enterprise DBMS normally refers to the database system for a typical organization. This organization may be either a business entity such State Farm Insurance, or comprehensive operation such as Motorola. All those organizations have needs to manage their information assets including human resources, financial transaction and records, inventory control, customer relationship management and many others. A typical enterprise DBMS is utilized to handle B2C (business to customer) and B2B (business to business) applications.
A typical enterprise DBMS is configured on three-tie architecture as in the following figure.
A user will initiate user-process request from desktop machine which can be either a client site or through Internet. The client request will be sent to application servers where database application programs such as Oracle Forms reside. The application server will communicate with the database server where all enterprise data are centrally managed.
In terms of hardware, client sites can utilize desktop or laptop PCs. Most application servers are handled by NT servers which are able to handle most of network traffics. Database servers typically requires high performance and speed, most of which reside in UNIX environment. As we move from clients to database servers, the number of machines decreases while the performance requirement increases.