Database and Database Management 数据库与数据库管理 When you think of a microcomputer, perhaps you think of just the 'equipment itself. That is, you think of the video display screen or the keyboard. There is more to it than that. [1] The way to think about a microcomputer is as part of an information system. An information system has five parts, people, procedures, software, hardware, and data. People: It is easy to overlook people as one of the five parts of a microcomputer system. Procedures: Procedures are rules or guidelines to follow when using software, hardware, and data. Typically, these procedures are documented in manuals written by computer specialists for particular organizations. Software and hardware manufacturers also provide manuals with their products. Software: Software is another name for a program or programs. A program is the step-by-step instructions that tell the computer how to do its work. The purpose of software is to convert data (unprocessed facts) into information (processed facts). Hardware: The hardware consists of the equipment: keyboard, monitor (video display screen), printer, the computer itself, and other devices. Data: Data consists of the raw, unprocessed facts. Examples of raw facts are hours you worked and your pay rate. After the data is processed through the computer, it is usually called information. An example of such information is the total wages owed you for a week' s work. In large computer systems, there are specialists who deal with writing procedures, developing software, and capturing data. In microcomputer systems, however, end users often perform these operations. Among the five parts, data skills are often considered the most outstanding concern. Principal Features of Database A description of the principal features of database manager software for microcomputers follows: (1) Locate and Display: A basic feature of all database programs is the capability to locate records in the file quickly. In our example, the program searches each record for a match in a particular field to whatever data you specify. This is called querying a database. The records can then be displayed on the screen for viewing, updating, or editing. For example, if an employee moves, the address field needs to be changed. The record is quickly located by searching the database to find the employee record that matches the name field you specify. Once the record is displayed, the address field can be changed. [2] (2) Sort: Database managers make it easy to change the order of records in a file. Normally, records are entered into the database in the order they occur, such as the date a person is hired. This may not be the best way, however. There are a number of ways you can quickly rearrange the records in the file. For example, you might want to print out an entire alphabetical list of employees by last name. For tax purposes, you might want to list employees by social security number. (3) Calculate and Format: Many database programs contain built-in math formulas [3] . In the office, for example, you can use this feature to find the highest or lowest commissions earned. You can calculate the average of the commissions earned by the sales force in one part of the country. This information can be organized as a table and printed out in a report format. Database Management System (DBMS) [4] The term database is often used to describe a collection of related files that is organized into an integrated, sophisticated structure that provides different people varied access to the same data [5] . For example, the Department of Motor Vehicles has a database of all the information on drivers' licenses in all countries and cities in a given state. Some of the information in the file (e. g. a past criminal record, convictions, and the like) may be made available to police departments, other information (e. g. a balance due on a speeding ticket) may be made available to licensing bureaus, and still other information (e. g. number and type of convictions) may go to insurance companies. A database management system is an extremely complex set of software programs that controls the organization, storage and retrieval of data (fields, records and files) in a database. It also controls the security and integrity of the database. The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data. When a DBMS is used, information systems can be Changed much more easily as the organization's information requirements change. New categories of data can be added to the database without disruption to the existing system. 1. Data Security and Integrity Data security prs unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of the database, called subschemas. For example, an employee database can contain all the data about an individual employee, but one group of users may be authorized to view only payroll data, while others are allowed access to only work history and medical data. The DBMS can maintain the integrity of the database by not allowing more than one user to update the same record at the same time. The DBMS can keep duplicate records out of the database; for example, no two customers with the same customer numbers (key field) can be entered into the database. 2. Interactive Query Query languages and report writers allow users to interactively interrogate the database and yze its data. 3. Interactive Data Entry and Updating If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases. However, it does not automatically leave an audit trail of actions and does not provide the kinds of controls necessary in a multi-user organization. These controls are only available when a set of application programs is customized for each data entry and updating function. This is one of the most common misconceptions about database management systems that are used in personal computers. Thoroughly comprehensive and sophisticated business systems can be developed in dBase [6] , Paradox [7] , FoxPro [8] and other DBMSs; however, they are created by experienced programmers using the DBMS's own programming language. That is not the same as users who create and manage personal files that are not part of the mainstream company system. [9] 4. Data Independence When a DBMS is used, the detailed knowledge of the physical organization of the data does not have to be built into every application program. The application program asks the DBMS for data by field name; for example, a coded representation of "give me customer name and balance due" would be sent to the DBMS. Without a DBMS, the programmer must reserve space for the full structure of the record in the program. Any change in data structure requires changes in all applications programs. Intelt Database All DBMSs provide some data validation; for example, they will reject invalid dates entered into date fields, alphabetic data entered into money fields. However, the real processing is left up to the application programs. Intelt databases provide more validation; for example, table lookups will reject incorrect spelling or coding of items. There's no limit to the amount of processing that can be placed into an intelt database as tong as the process is a standardized function for that data. For example, the correct sales tax can be computed by the database and applied to all orders for the customer based on the customer's billing address. When the validation process is left up to the individual application program, one program can allow one set of codes to be entered into a field, while another program can allow a totally different, and erroneous, set of codes. Data integrity is best served when there's one controlling source for the validation of data. Mainframe databases have increasingly become more intelt, and personal computer database systems are rapidly following suit. In time, all database management systems will be "intelt". Object-Oriented Database System Currently, object-oriented database systems (OODBS) [10] are receiving a lot of attention from both experimental and theoretical standpoints, and there has been considerable debate about the definition of such systems. [11] Three points characterize the field at this stage: (i) the lack of a common data model, (ii) the lack of formal foundations and (iii) strong experimental activity. Whereas some people gave a clear specification of a relational database system, no such specification exists for object-oriented database systems. Opinion is slowly converging on the gross characteristics of a family of object-oriented systems, but, at present, there is no clear consensus on what an object-oriented system is, let alone an object-oriented database system. The second characteristic of the field is the lack of a strong theoretical framework. To compare object-oriented programming to logic programming, there is no equivalent. The need for a solid underlying theory is obvious: the semantics of concepts such as types or programs are often ill-defined. The absence of a solid theoretical framework makes consensus on the data model almost impossible to achieve. Finally, a lot of experimental work is underway: people are actually building systems. Some of these systems are just prototypes, but some are commercial products. The interest in object-oriented databases seems to be driven by the needs of design support systems (e. g. CAD, CASE, Office Information Systems). These applications require databases that can handle very complex data, that can evolve gracefully, and that can provide highperformance dictated by interactive systems [12] . The implementation situation is ogous to relational database systems in the mid- sies (though there are more st