Database management System
Database Management System,dbms, sometimes referred to as the database manager.
What is a database management system
Database Management System,dbms is a large-scale software that manipulates and manages databases, and is used to establish, use, and maintain databases. It has unified management and control of the database to ensure the security and integrity of the database. The user accesses the data in the database through the DBMS, and the database administrator maintains the database through the DBMS. It provides a variety of features that enable multiple applications and users to create, modify, and interrogate databases in different ways, at the same time or at different times. It enables users to easily define and manipulate data, maintain the security and integrity of data, and conduct concurrent control and recovery databases under multiple users.
database management system Components
According to the function, the database management system can be broadly divided into 6 parts:
(1) Mode translation: Provides data definition language (DDL). The database schema written with it is translated into an internal representation. The logical structure, integrity constraints, and physical storage structure of the database are stored in the internal data dictionary. Database schema is the basis for various data operations (such as Find, modify, insert, delete, etc.) and maintenance management of database.
(2) Application compilation: Compiles the application that contains the Access database statements into a target program that can be run under DBMS support.
(3) Interactive query: Provides easy-to-use interactive query language, such as SQL. The DBMS is responsible for executing the query commands and displaying the query results on the screen.
(4) organization and access of data: provide the physical organization and access method of data on peripheral storage devices.
⑸ Transaction Operation Management: Provide transaction operation Management and operation log, security monitoring and data integrity check of transaction operation, concurrency control of transaction and system recovery, etc.
(6) Database maintenance: Provide software support for database administrators, including maintenance tools such as data security control, integrity assurance, database Backup, database reorganization, and performance monitoring.
The database management system based on the relational model has been perfected, and has been widely used as a commodity software in all walks of life. It is applied in the distributed multi-user environment of the server structure, and the application of the database system is further extended. With the development of new data model and data management technology, it is expected that the performance of DBMS software will be updated and perfected, and the application field will be further broadened.
It provides the following features:
(1) Data definition function. The DBMS provides the appropriate data language to define (DDL) The database structure, which is a database framework and is stored in a data dictionary.
(2) data access function. The DBMS provides data manipulation language (DML) for basic access to database data: retrieval, insertion, modification, and deletion.
(3) Database operation management function. DBMS provides data control functions, which are data security, integrity and concurrency control to effectively control and manage database operations to ensure that the data is correct and effective.
(4) The establishment and maintenance function of the database. Including database initial data loading, database dump, recovery, re-organization, system performance monitoring, analysis and other functions.
(5) The transmission of the database. The DBMS provides the transfer of processing data, enabling communication between the user program and the DBMS, usually in coordination with the operating system.
hierarchical structure of the database management system
According to the different processing objects, the hierarchical structure of database management system is the application layer, the Language translation processing layer, the data access layer, the data storage layer and the operating system.
(1) Application layer. The application layer is the interface layer between the DBMS and the end user and the application, and the objects are processed in a variety of database applications.
(2) Language translation processing layer. The language translation processing layer is the syntax analysis, the view transformation, the authorization check, the completeness check and so on the various statements of the database language.
(3) Data access layer. The data access layer handles an object that is a single tuple that transforms the upper-level collection operation into a single-record operation.
(4) Data storage layer. The data storage layer processes objects that are data pages and system buffers.
(5) Operating system. The operating system is the basis of the DBMS. The access primitives and basic access methods provided by the operating system are often used as interfaces to the DBMS storage layer.
functions and characteristics of database management system
The development of data management technology has undergone the human management phase (the mid 1950s ago), the file system phase (from the late the 1950s to the mid-60), the database phase (the late 1960s to 70) and the Advanced Database technology phase (beginning in the early 1980s).
A database is a collection of organized, shareable data that is stored in a computer for long periods of time.
Database management System (DBMS) is a software system that is responsible for the definition, establishment, operation, management and maintenance of database. The aim is to ensure data security and reliability, improve the simplicity and convenience of database application. The working mechanism of DBMS is to transform the operation of the data into the operation of the system storage file, and effectively realize the conversion between the database level 3. The main functions of database management system include definition and establishment of database, operation of database, control of database, maintenance of database, failure recovery and data communication.
A database system (DBS) is a system of computer software, hardware, and data resources that are organized and dynamically stored to facilitate multiuser access to a large number of associated data. A typical database system consists of a database, hardware, software (application), and a database administrator (DBA) 4 parts. According to the computer system structure, DBS can be divided into centralized, client/server, parallel and distributed 4 kinds.
Compared with the file system stage, the data management method of database technology has the following characteristics.
(1) using complex data models to represent data structures, data redundancy is small, easy to expand, and realize the sharing.
(2) with high data and program independence, the independence of database has physical independence and logical independence.
(3) The database system provides users with convenient user interface.
(4) The database system provides 4 aspects of data control functions, namely concurrency control, recovery, integrity and security. The data used by each application in the database is unified by the database system, organized and established according to a certain data model, unified management and centralized control by the system.
(5) Increased flexibility of the system.
The main sign of advanced database technology stage is the emergence of distributed database system and object-oriented database system.
The weakness of centralized system is that with the increase of data volume, the system is quite large, the operation is complex, the cost is large, and because the data is stored centrally, the large amount of communication will be caused by the host, causing congestion. The main characteristic of distributed database system is that the data is distributed physically, and it is logically unified. Most of the processing of distributed database systems is done in-place, and computers are connected by data communication networks.
Object-oriented database system is a product of the combination of object-oriented program design technology and database technology. The main characteristic of object-oriented database system is the encapsulation and inheritance of object-oriented technology, which improves the reusability of software.
From the current database system, there are mainly the following shortcomings.
(1) using static data model, data type and operation is simple, fixed, can only deal with short-life transactions.
(2) It can not adapt to the new applications such as CAD, Computer aided software engineering, image processing, hyper-text and multimedia.
The future trends of the database are as follows:
(1) Distributed data management.
(2) Support the object-oriented data model.
(3) Architecture adapts to function expansion, can handle complex data types and long-life transactions, and can coexist with previous databases.
(4) database technology is combined with other disciplines (distributed database, parallel database, multimedia database, Internet database, Knowledge base, deductive database and active database).
selection principle of database management system
Selecting a database management system should be considered in the following ways:
(1) How easy it is to construct a database.
Need to analyze the database management system has no paradigm requirements, that is, whether it is necessary to analyze the real world according to the data model stipulated by the system, establish the corresponding model; whether the database management statements conform to international standards and conform to international standards facilitates system maintenance, development and transplantation; There are no user-friendly development tools Supported database capacity, database capacity characteristics determine the scope of use of the database management system.
(2) How easy it is to develop the program.
Computer-aided Software engineering tools case--Computer-aided software engineering tools can help developers to provide various stages of maintenance and coding environment according to the software engineering method, so as to facilitate the development and maintenance of complex software. The fourth generation language development platform-the fourth generation language has the non-process language design method, the user does not need to write the complex process code, easy to learn, easy to understand, easy to maintain. There is no object-oriented design platform-object-oriented design concept is very close to human logic thinking mode, easy to develop and maintain. Support of multimedia data type-multimedia data demand is the trend of future development, the database management system supporting multimedia data type will reduce the development and maintenance of the application.
(3) Performance analysis of database management system.
Includes performance evaluation (response time, data unit time throughput), performance monitoring (internal and external storage usage, system input/output rate, execution of SQL statements, Database tuple control), performance management (parameter setting and tuning).
(4) Support for distributed applications.
This includes data transparency and network transparency. Data transparency means that the user does not need to point out the data in the network, the database management system can automatically search the network, extract the required data, and the network transparency refers to the protocol that the user does not need to point out the network in the application. The database management system automatically converts packets into corresponding protocol data.
(5) Parallel processing capability.
Support multi-CPU mode system (SMP,CLUSTER,MPP), load distribution form, parallel processing granularity, range.
(6) Portability and malleable.
Portability refers to the ability to scale vertically and horizontally. Vertical scaling requires the new platform to support the lower version of the platform, the database client/server mechanism to support the centralized management mode, so as to ensure the user's previous investment and system; Horizontal scaling requires hardware scaling to support switching from single CPU mode to multi-CPU parallel machine mode (SMP, CLUSTER, MPP)
(7) Data integrity constraints.
Data integrity refers to the correctness and consistency of data protection, including entity integrity, referential integrity, and complex transaction rules.
(8) Concurrency control function.
For distributed database management system, concurrency control function is necessary. Because it is faced with a multi-tasking environment, there may be multiple user points at the same time to read or write the same data, in order to ensure the consistency of data, the database management system needs to be the concurrency control function to complete. The criteria for evaluating concurrency control should be considered in the following areas:
Guaranteed Query Result Consistency method
Granularity of data locks (control range of data locks, tables, pages, tuples, etc.)
Upgrade management features for data locks
Detection and resolution of deadlocks
(9) fault-tolerant ability.
Fault-tolerant handling of data in exceptional cases. Evaluation criteria: Hardware fault tolerance, there is no disk mirror image processing function software fault tolerance, there is no software method of abnormal conditions of fault-tolerant function
(10) Safety control
Including the extent of security secrecy (account management, user rights, network security controls, data constraints)
(11) Support Chinese character processing ability
It includes the ability of Chinese character processing (table name, domain name, data) and database development tools to support Chinese characters in database description language.
(12) When a sudden power outage, hardware failure, software failure, virus or serious error operation, the system should provide the functions of the recovery database, such as periodic dump, restore backup, rollback, etc., so that the system has the ability to restore the database to a previous state.
representative of the database management system
Oracle
Oracle is one of the earliest commercialized relational database management system, it is also a widely used and powerful database management system. As a common database management system, Oracle not only has complete data management functions, but also a distributed database system, which supports a variety of distributed functions, especially for Internet applications. As an application development environment, Oracle provides a set of user-friendly, fully-functional database development tools. Oracle uses the PL/SQL language to perform various operations, with features such as openness, portability, and scalability. In particular, Oracle 8i supports object-oriented features such as support classes, methods, properties, and so on, making Oracle products an object/relational database management system. Currently the latest version is Oracle 11g.
PostgreSQL
PostgreSQL is a free object-relational database server (database management system), which is distributed under a flexible bsd--style license. It provides a choice for users in addition to other open source database systems such as MySQL and Firebird, and proprietary systems such as Oracle, Sybase, IBM DB2, and Microsoft SQL Server.
Microsoft SQL Server
Microsoft SQL Server is a typical relational database management system. Can run on many operating systems, and it uses the Transact-SQL language to perform data operations. Because Microsoft SQL Server is an open system, other systems can interoperate with it in good condition. Currently the latest version of the product is Microsoft SQL Server 2008, which features reliability, scalability, availability, manageability, and more, providing users with a complete database solution.
Microsoft Access
Microsoft Access, one of the Microsoft Office components, is a very popular desktop database management system in a Windows environment. With Microsoft Access, you don't need to write any code, and you can do most of your data management tasks with intuitive visualizations. In a Microsoft Access database, you include many of the basic elements that make up your database. These elements are tables that store information, forms that display human-computer interaction interfaces, queries that retrieve data efficiently, reports of information output vectors, macros that improve application efficiency, and powerful module tools. It can not only connect with other database through ODBC, realize data exchange and sharing, but also can exchange and share with Office software such as Word and Excel, and embed and link sound, image and other multimedia data in database through object linking and embedding technology.
Reference: Http://wiki.mbalib.com/wiki/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F
Oracle Learning Note Two--dbms