Introduction to DBMS

  A database management system (DBMS) is an important type of programming system, used today on the biggest and the smallest computers.As for other major forms of system software, such as compilers and operating systems, a well-understood set of principles for database management systems has developed over the years, and these concepts are useful both for understanding how to use these systems effectively and for designing and implementing DBMS's. DBMS is a collection of programs that enables you to store, modify, and extract information from a database. There are many different types of DBMS's, ranging from small systems that run on personal computers to huge systems that run on mainframes. The following are the location of database between application programs and end-users.

  There are two qualities that distinguish database management systems from other sorts of programming systems.

  1) The ability to manage persistent data, and

  2) The ability to access large amounts of data efficiently.

  Point 1) merely states that there is a database which exists permanently; the contents of this database is the data that a DBMS accesses and manages. Point 2) distinguishes a DBMS from a file system, which also manages persistent data. A DBMS's capabilities are needed most when the amount of data is very large, because for small amounts of data, simple access techniques, such as linear scans of the data, are usually adequate.

  While we regard the above two properties of a DBMS as fundamental, there are a number of other capabilities that are almost universally found in commercial DBMS's. These are:

  Support for at least one data model, or mathematical abstraction through which the user can view the data.

  Support for certain high-level languages that allow the user to define the structure of data, access data, and manipulate data.

  Transaction management, the capability to provide correct, concurrent access to the database by many users at once.

  Access control, the ability to limit access to data by unauthorized users, and the ability to check the validity of data.

  Resiliency, the ability to recover from system failures without losing data.

  Data Models Each DBMS provides at least one abstract model of data that allows the user to see information not as raw bits, but in more understandable terms. In fact, it is usually possible to see data at several levels of abstraction. At a relatively low level, a DBMS commonly allows us to visualize data as composed of files.

  Efficient File Access The ability to store a file is not remarkable: the file system associated with any operating system does that. The capability of a DBMS is seen when we access the data of a file. For example, suppose we wish to find the manager of employee "Clark Kent". If the company has thousands of employees, It is very expensive to search the entire file to find the one with NAME="Clark Kent". A DBMS helps us to set up "index files," or "indices," that allow us to access the record for "Clark Kent" in essentially one stroke no matter how large the file is. Likewise, insertion of new records or deletion of old ones can be accomplished in time that is small and essentially constant, independent of the file’s length. Another thing a DBMS helps us do is navigate among files, that is, to combine values in two or more files to obtain the information we want.#p#

  Query Languages To make access to files easier, a DBMS provides a query language, or data manipulation language, to express operations on files. Query languages differ in the level of detail they require of the user, with systems based on the relational data model generally requiring less detail than languages based on other models.

  Transaction Management Another important capability of a DBMS is the ability to manage simultaneously large numbers of transactions, which are procedures operating on the database. Some databases are so large that they can only be useful if they are operated upon simultaneously by many computers: often these computers are dispersed around the country or the world. The database systems used by banks, accessed almost instantaneously by hundreds or thousands of automated teller machines (ATM), as well as by an equal or greater number of employees in the bank branches, is typical of this sort of database. An airline reservation system is another good example.

  Sometimes, two accesses do not interfere with each other. For example, any number of transactions can be reading your bank balance at the same time, without any inconsistency. But if you are in the bank depositing your salary check at the exact instant your spouse is extracting money from an automatic teller, the result of the two transactions occurring simultaneously and without coordination is unpredictable. Thus, transactions that modify a data item must “lock out” other transactions trying to read or write that item at the same time. A DBMS must therefore provide some form of concurrency control to prevent uncoordinated access to the same data item by more than one transaction.

  Even more complex problems occur when the database is distributed over many different computer systems, perhaps with duplication of data to allow both faster local access and to protect against the destruction of data if one computer crashes.

  Security of Data A DBMS must not only protect against loss of data when crashes occur, as we just mentioned, but it must prevent unauthorized access. For example, only users with a certain clearance should have access to the salary field of an employee file, and the DBMS must be able associate with the various users their privileges to see files, fields within files, or other subsets of the data in the database. Thus a DBMS must maintain a table telling for each user known to it, what access privileges the user has for each object. For example, one user may be allowed to read a file, but not to insert or delete data; another may not be allowed to see the file at all, while a third may be allowed to read or modify the file at will.

  DBMS Types

  Designers developed three different types of database structures: hierarchical, network, and relational. Hierarchical and network were first developed but relational has become dominant. While the relational design is dominant, the older databases have not been dropped. Companies that installed a hierarchical system such as IMS in the 1970s will be using and maintaining these databases for years to come even though new development is being done on relational systems. These older systems are often referred to as legacy systems.#p#















    数据模型 每个DBMS提供了至少一种允许用户不是以原始比特位的方式,而是以更容易理解的术语来观看信息的抽象数据模型。实际上,通常要观察以几个不同级别提取出来的数据是可能的。在相关的低级别中,DBMS一般允许我们将数据形象化为文件的组成部分。#p#

    高效数据访问 存储一个文件的能力并不特别:操作系统中结合的文件系统都能够如此。DBMS的能力在我们访问文件的数据时才能显露出来。比如,假设我们希望找到员工经理“克拉克·肯特”。如果这个公司有上万员工,则要通过NAME=“克拉克·肯特”搜索整个文件来找到这个人是非常费时的。而DBMS帮助我们建立“索引文件”或“索引”,不管文件有多大,它都使我们能够一举访问到“克拉克·肯特”的记录。同样的,新记录的插入或者原有记录的删除都可以在较短并且本质上恒定的时间内完成,而不依赖于文件的长度。DBMS还可以帮助我们进行文件间的导航,即,通过结合两个或更多文件的值来获得我们所需的信息。

    查询语言 为了使访问文件更容易,DBMS提供了查询语言(或者说数据控制语言)来表达对文件的操作。查询语言对用户所提供的细节的详细程度要求有所不同,基于关系数据模型的系统通常比基于其他模型的系统所需的细节要少。

    事务管理 DBMS的另外一项重要功能就是同时管理大量事务的能力。事务即是数据库中运行的进程。某些数据库是如此之大,它们只有在被多台计算机同时操作时才有用武之地:通常这些计算机分散在全国甚至世界各地。银行中使用的数据库系统就是这类数据库的一个典型,它们儿乎同时被成千上万的自动取款机所访问,也同时被同样多甚至更多的支行员工所访问。机票预定系统是另一个好例子。



    数据安全 DBMS不只可以在计算机崩溃时保护数据不被丢失,正如上文提到的那样,而且它还能够阻止非法访问。比如,只有拥有特定权限的用户可以访问职工文件的工资区域,DBMS还能结合不同用户的权利来判定他们有权看到哪些文件,文件的哪些区域或者数据库中数据的哪些子集。因此DBMS必须拥有一个表,表中给出每个用户对于每个对象的访问权限。比如,某个用户可能被允许读取文件,但不能够插入或删除数据;另一个用户可能根本都不被允许看文件,而第三个用户可能被允许读取或随意修改文件。




  1. 计算机专业英语之域名系统(英文与译文)
  2. 计算机专业英语之理解网络地址(英文与翻译)
  3. 软考历年真题与经验谈
责任编辑:丁小雨 来源: 学赛网

2010-04-15 16:16:57


2009-01-15 13:52:16


2010-05-06 12:44:47


2015-08-21 12:59:38


2009-02-13 12:56:45


2021-11-26 22:07:57


2010-04-26 14:24:58


2009-02-19 21:06:33


2010-05-14 17:34:36


2010-09-07 16:12:36


2011-08-10 15:46:29


2018-04-16 09:21:04


2010-07-02 08:23:06

SQL Server

2010-06-02 13:03:20


2011-04-18 13:40:15


2010-11-01 11:30:41


2010-05-13 14:07:39


2009-01-15 09:24:03


2011-07-14 15:24:26


2011-08-15 09:48:30