Menu
Is free
check in
the main  /  Programs / General principles for building database management systems. Requirements for modern DBMS

General principles for building database management systems. Requirements for modern DBMS

Any modern organization dealt with a huge amount of data that are entered by users of various corporate applications, and then apply to employees to obtain reference information, printing documents, analyzing certain aspects of the company. Often the competitiveness of the company and the effectiveness of its activities directly depend on the relevance and availability of this data both for employees of the company itself and for its customers and business partners, therefore the task of storing corporate data is now relevant as ever.
Corporate data of most companies are usually stored in databases managed by server DBMS. It is about them that will be discussed in this article.

What are the database management systems

akaya Category of Software, as a database management systems, there has been no longer one ten years - the storage task has occurred almost simultaneously with the advent of first data carriers, and the principles on which the work of most modern DBMS was based on the 60s of the past century. This product category exists almost for all platforms, starting with pocket computers and mobile phones And ending with mainframes and supercomputers, and is used absolutely in all enterprise management systems and in other corporate applications, as well as in many other applications.

Database management systems can be classified different ways - on the principle of data organization (relational, hierarchical, network ...), according to the method of access (single-user and multiplayer), by architecture (desktop and server), functional features and by opportunities associated with scalability.

Currently, relational DBMSs with the client-server architecture are most often used, although it is still possible to meet applications using desktop DBMS. Databases controlled by desktop DBMSs usually represent a file or file set, and the DBMS itself is a set of libraries with which applications that apply them can make changes to these files. Sometimes, desktop DBMSs are also supplied with a shell to create tables and other objects and even to develop simple applications, for example, in the case of Microsoft Access, the most popular currently is the shell, and not the library is a commercial product.

However, corporate applications for large and even for medium enterprises, as a rule, use server DBMS due to their greater reliability and scalability. In the simplest case, an information system based on the client-server architecture consists of two main components: database database servers, managing data and executing requests from client applications, and the client applications themselves providing user interface and sending requests to the server. It is the database server that can manipulate the files in which the data is stored, perform user requests, maintain the reference data integrity, provide access to them, back up data and log operations associated with their change. In more complex cases, an intermediate link application (middleware) can be located between the client and the server, the functions of which are very diverse - from the distinction of access to data before implementing a sufficiently complex business logic.

Requirements for modern DBMS

the following requirements are presented with modern DBMS:

  • scalability - the lack of a significant reduction in the speed of custom requests with a proportional increase in the number of queries and hardware resources of this DBMS used (such as the volume random access memory, number of processors and servers);
  • availability - the ability to always execute the request;
  • reliability - minimum probability of failures, availability of data recovery tools after failures, tools reserve copy and duplication of data (Recently, the DBMS manufacturers often offer tools that allow such operations, without interrupting users' operation);
  • handling - Easy Administration, Availability of automatic configuration (Typical Modern Administration Tools Includes Databases and Object Tools, Data Replication Rules Tools Between Different Servers, User Management Utilities, Groups and Rights, Event Monitoring Tools, Execution Plans requests, migration utilities from other DBMS);
  • availability of data protection from loss and unauthorized access;
  • support for data access using Web services;
  • support for standard data access mechanisms (such as ODBC, JDBC, OLE DB, ADO .NET), which allows you to create applications for DBMS using various development tools.

The discrepancy between the DBMS of any of these requirements leads to the fact that even a good-to-other consumer properties of the DBMS field of application turns out to be very limited. Thus, the DBMS with poor scalability, which has successfully used with a small amount of data being processed, is unsuitable in the event of an increase in their quantity. The absence of the necessary administrative utilities also often leads to the abandonment of the use of some DBMS. Bad scalability and accessibility entail an additional cost of working time employees, downtime, as well as loss by customers, desperately wait for a response to a question set by phone or a request entered on the Web site. The lack of support for the server code leads to the fact that the DBMS, successfully applied on the corporate Web site, cannot be used to create other internal corporate applications. The lack of support for standard data access mechanisms can automatically lead to the fact that using the development facilities focused on these mechanisms will refuse to apply this DBMS.

That is why the leaders of the corporate DBMS market seek to produce products that meet all the above requirements. In addition, as a rule, such products exist for several platforms, and often in different editions (including even free) intended for solving various tasks.

DBMS of leading manufacturers

according to a number of analytical reports (see, for example: Strange K. Magic Quadrant for Data Warehouse DBMSS // Gartner Research Note M-22-2154. 2004), the leaders of the DBMS market are currently a long time ago and successfully presented on the Russian market of IBM , Oracle, Microsoft, Sybase and Teradata, as well as a relatively young NETEZZA, which is almost unknown on the domestic market. Next, we will briefly consider the features of these companies.

DB2 Universal Database (IBM)

IBM Server DBMS Family, known as DB2 Universal Database (DB2 UDB), first appeared in 1996 and was intended for UNIX, OS / 2 platforms and Microsoft Windows. NT. The latest version of this product, DB2 UDB 8.2, operates running AIX, AIX, Linux, HP-UX, Sun and Windows operating systems.

The features of this DBMS are developed means of self-restoration and automatic execution of operations related to database support (such as creating backup copies and data defragmentation). From DB2 access mechanisms, DB2 UDB supports ODBC, JDBC, ADO / OLE DB, ADO .NET. This DBMS allows you to create a server code on CLR compatible languages, such as C # and Visual Basic .NET.

DB2 Universal Database supports the creation of data warehouses and in addition to the data transfer tools in the store contains a data warehousing tool to manage all processes related to creating and supporting data warehousing, including the creation of a repository scheme, defining source data sources for it, creating Schedules of data update in the repository, checking and correcting incorrect data.

To other essential technical characteristics DB2 Universal Database should include support for relational and integrated data using object extensions, the ability to work on multiprocessor platforms, support for clusters, 64-bit memory architecture, parallelization of requests, availability of means for distributed administration and data processing, support for distributed transactions. Some of these technologies were borrowed from the INFORMIX Dynamic Server DBMS acquired by IBM with Informix a few years ago.

Oracle 10G (Oracle)

Oracle, which appeared in 1979, was the first commercial relational DBMS, which supported the SQL language, which now became an industrial standard. Early versions of this DBMS were created for mainframes, but in 1985, Oracle versions appeared, intended for use in the Client-Server architecture. It was the first DBMS used by the means of parallel computing provided by some server platforms.

Currently, its last version is Oracle 10G. This DBMS meets the most stringent service quality requirements, has clustering capabilities (for this purpose, the Oracle Real Application Clusters module), developed safety facilities.

Oracle 10G DBMS provides parallel processing tools, built-in OLAP tools, quick removal tools, convert and download data, portal services, business analysis tools, distribution of reports and analyzing user actions, DBMS performance analysis tools, ensures cluster support.

ORACLE 10G data access mechanisms support ODBC, JDBC and ADO / OLE DB, in addition, for this DBMS there is a .Net provider and a corresponding set of classes from Microsoft. The Oracle client part also contains a set of COM objects to access data (Oracle Objects for Ole). Note that many other companies produce ODBC drivers and OLE DB providers to access Oracle - this DBMS support all the leading manufacturers of developments, report generators, analytical data processing tools.

Both in the West and Russia are often used ready-made corporate solutions from Oracle Corporation, united under the general name of Oracle Applications, such as Oracle Financials, Oracle Human Resources, Oracle Market Management, Oracle Project Systems, etc., - Actually, sale and support These applications make up the main part of the company's business.

SQL Server 2000 and SQL Server 2005 (Microsoft)

First version of Microsoft SQL Server - Joint product of Microsoft and Sybase, released in 1988, was designed for the OS / 2 platform. Subsequent versions of this database server were intended for windows platforms And over time, it was closely integrated with this operating system. For other version of this server platforms, not released and are not available.

The most frequently used version of this DBMS - Microsoft SQL Server 2000 is characterized by increased scalability and performance. It allows you to use several simultaneously running servers on one computer, supports the creation of clusters, parallel calculations in multiprocessor systems, distributed requests. Microsoft SQL Server 2000 administration tools are considered one of the easiest and most convenient. In addition to the means of solving standard administration tasks, such as creating databases and their objects, user privileges management and data privileges, backup and recovery, data replication, they include data exchange utilities with other DBMS and data warehouses. This product includes an OLAP server - it was from its appearance as part of SQL Server that the OLAP funds began into the DBMS of other manufacturers and move them from the category of expensive, elite products to the product category, widely used even in small companies.

From data access mechanisms, this product supports ODBC, OLE DB / ADO, ADO .NET. There is also a JDBC driver manufactured by Microsoft. It is impossible not to note the magnificent means of integrating this DBMS with Microsoft Office., Up to the instruments of the manipulation of OLAP data from these applications.

Subsequent version of this DBMS - SQL Server 2005, the release of which is expected this year will support asynchronous messaging between various server processes, contain customer notification services about events in the database, allow you to create clusters-resistant failures and make database mirrors, produce replication With databases managed by the DBMS of other manufacturers, perform operations such as changing the number of processors and memory volumes without stopping the server.

Another major technological innovations of the expected version of SQL Server is integration with Microsoft .NET Framework 2.0 at the Common Language Runtime level in the DBMS itself, which will create a server code on any CLR-compatible programming language, such as C # or Visual Basic. We also note the substantial expansion of the analytical capabilities of this DBMS, for example, the emergence of new Data Mining algorithms.

SQL Server 2005 will be created as not only 32-, but also a 64-bit version supporting intel processors ITANIUM and AMD Opteron. And to solve relatively simple tasks using small databases, will be released free version Microsoft SQL Server 2005 Express Edition.

Adaptive Server Enterprise and Adaptive Server IQ (Sybase)

Sybase server products come from one of the earliest microsoft versions SQL Server created by Microsoft and Sybase. Since 1994, Microsoft and Sybase are developing their server products independently of each other, and the result of Sybase's activities in this direction is the Adaptive Server Enterprise product (ASE), the latest version of which, 12.5.2, exists for Windows NT / 2000 and some versions UNIX and LINUX.

Currently, Adaptive Server Enterprise supports proactive asynchronous reading, which increases the speed of complicated requests; Creating clusters; the presence of a 64-bit version; distributed request processing, including other manufacturers; Extended stored procedures allowing easy access to the functions that are written in languages \u200b\u200bother than SQL; parallel processing of queries in multiprocessor systems; parallel operation of administration utilities; Dynamic server configuration and backup data with compression. It is especially worth noting the Sybase Real-Time Data Services services, intended for the organization of real-time messages when any events occur in databases, including in databases managed by the DBMS of other manufacturers.

From Universal Access Mechanisms ASE Supports ODBC, JDBC, OLE DB / ADO. Note that often together with ASE uses the development and design of the data of Sybase itself.

To create multidimensional data warehouses, Sybase has another server product - Adaptive Server IQ, which allows you to create storage based data from the production DBMS not only Sybase, but also from other manufacturers. The high speed of queries in this product is due to a non-standard storage method. We also note that there are a number of products under the general name of Sybase Industry Warehouse Studio, serviced by the maintenance of specific subject areas.

TeraData Database V2R6.0 (Teradata)

Over the past few years, Teradata's DBMS is considered to be leading products among DBMSs intended for creating data warehouses. The latest version of this DBMS, Teradata Database V2R6.0, is available for Microsoft Windows, OS / 2 and a number of UNIX and Linux versions.

The difference of this DBMS from other products is a special mechanism for parallel processing of requests, which involves breaking the task to a number of individual subtasks and their parallel execution. At the same time, even operations such as sorting or grouping data can be separated into several tasks and are executed in parallel - this is achieved due to a special storage method, in which parts of the database are also divided between subtasks. The subtasks themselves can be distributed among the available processors, which may be more than one. Thanks to the mechanism of parallel solving tasks, TeraData Database V2R6.0 is characterized by high scalability.

To create client applications using Teradata Database, there are an ODBC driver, a documented client API, compatible with IBM DB2, and a number of other software interfaces. Tools of this DBMS include backup and recovery, viewing and editing data, performance monitoring and load, as well as the administration utility to manage all the following tasks available for different versions Windows.

Netezza Performance Server 8000 Series (NETEZZA)

Netezza Performance Server is a hardware-software solution, which is a server with a storage system and pre-installed operating on it. linux system , as well as DBMS with open sourcecreated on the basis of postgress. NETEZZA declares that this solution is not inferior to the performance of TERADATA-based solutions at a noticeable cost. Among the features of this hardware-software solution - support for parallel data processing, separation of tasks by separating the parts of the database between subtasks, high scalability.

From the programming interfaces, this solution supports universal access mechanisms for ODBC and JDBC.

***

In conclusion, we note that the possibilities of modern DBMS leading manufacturers reflect the current needs of corporate applications. These include the ability to form clusters, maintain parallel data processing in multiprocessor systems, provide software interfaces for the most popular tools for developing applications, create analytical applications. An important features of modern DBMS of leading manufacturers are also simplicity of administration and the ability to perform a number of database support operations without interruption, quite high performance and availability indicators, as well as the presence of several editions to solve various problems.

Components of the environmental functioning of the DBMS

The DBMS is a software package, which takes part in the work of many people who serve these programs and using the result of their work. In fig. 6.2 The main components of the DBMS are presented.

Fig. 6.2. Components of the environmental functioning of the DBMS

Software

Software includes all computer programsused in the operation of the database management system. To fulfill all the DBMS functions, three kinds are required: System software, DBMS software, as well as applied programs and utilities. Since the DBMS software is functionally located between the system and user applications, it is referred to the category of intermediate (MidDleWare) software.

System software manages all components of the equipment and provides access to it all other applications running on the computer. Examples of system software: Windows, Linux, Unix, MVS, MacOS, OpenSolaris, etc.

The DBMS processing subsystem manages the database, implementing the DBMS functions.

DBMS design tools are designed to gain access to data and manipulate them in the DBMS environment. Application programs (User Applications) in most cases are used to submit data stored in the database, as reports and tables.

This includes all users of the database management system. If you take the basis of functional responsibilities, then in the database management system, you can select six main user groups: system administrators, database administrators, system analysts, database designers, programmers and end users.

System administrators are responsible and ensure reliable operation of system software.

Data Base Administrator, DBA (DBA) controls the operation of the DBMS, ensure the operation of the DBMS, create accounts DBMS users assign rights, restrict access, perform various procedures related to ensuring the safety and reliability of data storage.

System analysts perform work on the collection, systematization and clarification of data structure, applications and reports.

Database Designers (system architects) design database structure.

Programmers are developing application software. They design and create input and display forms, reports and procedures, with which end users get access to the data and the possibility of manipulating them.

End users apply applied programs to perform daily operations, for example, companies are sellers, heads of warehouses, accounting workers, managers and managers. The final senior users use the information obtained from the database to solve the tactical and strategic tasks of the enterprise.

Database

The database includes data, metadata and procedures.

Data. Under the terms "Data", "Information" or "Information" in this context is understood by the entire actual material stored in the database. Data are untreated raw materials, which is subject to appropriate structuring. Deciding on what information to put in the database how to streamline and structure it is the most important part of the system of system architects (designers) database.

Metadata constitute the contents of the database system directory and are information about the names and structure of tables, names and user rights, names and types of restrictions, about procedures, functions and other database objects.

Procedures are an important component of the system. They establish standards for maintaining commercial, technological and production and technical activities within the enterprise and in relations with customers. Procedures are also used to organize observation and auditing as information entered in the database and for information generated based on recoverable data.

Classification of DBMS

Classification by type of data taken

The classification of databases on the data model illustrates Fig. 6.3.

The hierarchical databases are based on a hierarchical data model in which the bond between the database objects forms an inverted tree. With such a model, each underlying element of the hierarchy is connected only with one element located above


Network databases are based on network model Data in which communication between data objects can be installed in an arbitrary order.

Relational databases are based on a relational data model in which each unit of data in the database is unambiguously determined by the table name (called attitude), the recording identifier (cortex) and the field name.

Object-relational databases contain object-oriented mechanisms for constructing data structures (at least, mechanisms of inheritance and support methods) in the form of language extensions and software addresses above the DBMS core.

Object-oriented databases are defined as a new generation of databases based on a combination of three principles: relational model, standards for the description of objects and principles of object-oriented programming.

Architecture classification

The classification of architecture database illustrates Fig. 6.4.


In local databases, all data and DBMS objects are on the same computer.

In distributed databases, various parts of the data (groups of tables, tables and even fragments of tables) and DBMS objects may be on different computers.

Example. As an example, it is possible to bring complex production (or supermarket chain), different parts of which are located in different cities. Each enterprise accumulates "its" data. It is necessary that each of the enterprises have access to the same data as its own and other enterprises. The solution to this problem may be the creation of one local database on one computer with a mechanism. remote access. However, this solution is irrational, since rapid access to data will receive client computers of only the enterprise where the DBMS is located. Another solution to this problem can be the creation at each enterprise its copy of the DBMS. In this case, it is difficult to synchronize data between copies (especially in the scale of our country, where in Khabarovsk may be the midst of the working day, and in Moscow - a deep night). Distributed DBMS in this case provides a data storage mechanism in different databases in such a way that when applying, the set of different databases looks like one base. Then frequently used data ("their" data) are in the part of the database, which is located in the enterprise. And if necessary, refer to "foreign" data, the DBMS makes a request to a remote DBMS and receives data from there. The combination of different databases on different computers from the client's point of view looks like one database.

Classification by way of access to database

The classification of databases by access method illustrates Fig. 6.5.


In the mainframe databases, the user workplace is a text or graphical terminal, and all information is processed on the same computer where the DBMS is located.

In file-server DBMS, data files are centrally located on the file server, and the DBMS kernel is located on each client computer. Data access is carried out through local network. Synchronization of read and updates is carried out through file locks. The advantage of this architecture is the low load on the server CPU, and the disadvantage - high loading of the local network.

Client-server DBMS consist of a client part (which is included in the application program) and server. Client-server DBMS, in contrast to file-server, provide separation of access between users and a little download the network and client machines. The server is external with a program to the client, and if necessary, it can be replaced by another. The lack of client-server DBMS consists in the very fact of the server's existence (which is bad for local programs - They are more convenient to embedded DBMSs) and large computing resources consumed by the server.

The embedded DBMS is a software library that allows the unified way to store large amounts of data on the local machine. Data access can occur through requests for sQL Language Either by calling the library functions from the user application. Embedded DBMSs are faster than regular client-server and do not require a server deployment.

Classification for information processing speed

The classification of databases in the speed of information processing illustrates Fig. 6.6.


Operational (Operational), or workers (Production), databases have high reaction rates to request, extract and reporting information.

Data warehouses and multidimensional data warehouses (Data Warehouse, OLAP) are databases with a very large amount of information, the preparation of the representation of which occupies a significant amount of time.

DBMS functions

Data abstraction, data dictionary management. The functioning of the DBMS provides that the definitions of data elements and their relationships (metadata) are stored in the data dictionary (Data Dictionary). In turn, any programs get access to data by means of DBMS. To search for the necessary data structures and their relations, the DBMS uses a data dictionary, helping to avoid encoding such complex relationships in each program. In addition, any changes that are made in the database structure are automatically recorded in the data dictionary, which also frees the programmer from the need to modify the programs of access to changed data structures. The DBMS provides abstraction of data, thereby eliminating structural dependence in the system and dependence on data.

Data storage management. The DBMS creates complex structures necessary for data storage, freeing programmers from identifying and programming physical data properties. Modern DBMSs provide storage of not only data, but also related to data on screen forms, report schemes, data verification rules, procedures code, multimedia processing systems, image formats, etc.

Transformation and presentation of data. The DBMS assumes the task of structuring the input data, converting them into a form convenient for storage. Therefore, the DBMS and in this case eliminates a person from routine work to convert a logical data format to a physical format. Providing data independence, the DBMS converts logical requests to the commands that determine their physical location and extraction. Thus, the DBMS provides software independence and data abstraction.

Security management. The DBMS creates a security system that provides user protection and data confidentiality inside the database. Security rules set which users can access the database to which data elements the user can access, which data operations (read, add, delete or change) can perform a user.

Managing multiplayer access. The DBMS creates complex structures that provide access to multiple users simultaneously. In order to ensure the integrity and consistency of the data, complex algorithms are applied to the DBMS that guarantee that several users can get simultaneous access to the database without risk to disrupt its integrity.

Backup and recovery management. The DBMS contains backup and data recovery procedures that ensure their safety and integrity. Modern DBMS contain special utilitiesWith which the database administrators can perform regular and emergency backup and data recovery procedures. Data recovery is made after the database damage, for example, in case of the failure of the crash sector on the hard disk or after an emergency power off. This feature is necessary to ensure the integrity of the data.

Data integrity management. The DBMS provides rules that ensure the integrity of the data, which allows minimizing data redundancy and ensure their consistency. To ensure the integrity of the data, their connections are used that are stored in the data dictionary.

Support for data access language and application programming interfaces. DBMS provides data access using the query language. Query language is an unpassed language, that is, it provides the user with the ability to determine what needs to be done without specifying how to do it. The DBMS language of the DBMS language includes two main components: data definition language (DATA Definition Language, DDL) and data manipulation language (DML) (DATA Manipulation Language, DML). DDL defines the structures in which data is placed, A DML allows end users to extract data from


Database The DBMS also provides programmers access to the data from third-generation procedural languages, such as COBOL, C, Pascal, etc. As part of the DBMS, there are administrative utilities focused on administrators and database designers and intended to implement, current control and database service.

Interfaces interaction with the database. The current generation of DBMS provides special programs Interactions designed to allow the database to receive end-user requests in a network environment. In fact, the ability to interact end users with a database are an integral component of modern DBMS. For example, the DBMS provides interaction features to gain access to the database using an Internet browser as an external interface ( Mozilla Firefox., Opera or Internet Explorer.). In such an environment, the interaction can be carried out in several ways:

□ The end user can receive answers to requests, filling on-screen forms using the browser selected;

□ DBMS tools can automate the publication of reports on the Internet via web formatting, which allows you to view reports in any browser and others.

Data model

This subsection provides the classification of the DBMS, and their main functions are considered. As the main classification features, the following are: type of program, nature of use, data model. These features significantly affect the target selection of the DBMS and the efficiency of using developed information system.

Database Management System (DBMS) - This is the most important component of the AIS based on the database. The DBMS is required to create and support the database of the information system to the same extent as to develop a program on the algorithmic language - a translator. Software components of the DBMS include kernels and service tools (utilities).

Sound DBMS- This is a set of software modules, necessary and sufficient to create and maintain the database, that is, a universal part, solving standard tasks for information Services users. Service programs Provide users of a number additional features and services depending on the described subject area and the needs of a particular user.

Classification of DBMS.

In general, under the DBMS can be understood any softwaresupporting the processes of creating, maintaining and using the database. Consider which of the programs available in the market are related to the database and to what extent they are associated with databases.

The DBMS includes the following main types of programs:

Full-featured DBMS;

Database servers;

BD clients;

Tools for developing programs for working with database.

Full-featured dBS (PFSUBD) are traditional DBMS, which first appeared for large machines, then for mini-machines and for PC. From among all DBMS, modern PFSUBD are the most numerous and powerful in their capabilities. The PFSUBD includes, for example, packages such as: Clarion Database Developer, Database, DataPlex, Dbase IV, Microsoft Access, Microsoft FoxPro and Paradox R: Base.

Usually, the PFSUBD has a developed interface that allows menu commands to perform basic databases using the menu commands: Create and modify table structures, enter data, generate requests, develop reports, display them to print, etc. To create requests and reports, not necessarily programming, And it is convenient to use the QBE language (QUERY by Example - wording of sample requests, see subsection 3.8). Many PFSUBD include programming tools for professional developers.

Some systems have as auxiliary and additional means Designing Databases or CASE subsystem. To provide access to other databases or to SQL servers data, optional modules have full-featured DBMS.


BD servers Designed to organize data centers in computer networks. This BD group is currently less numerous, but their number is gradually growing. The database servers implement the database management functions requested by other (client) programs usually using SQL statements.

Examples of database servers are the following programs: NetWare SQL (Novell), MS SQL Server (Microsoft), InterBase (Borland), SQLBase Server (GUPTA), Intelligent Database (Ingress).

In the role client programs For database servers, in general, various programs can be used: PFSUBD, spreadsheet, text processors, e-mail programs, etc. In this case, the "Client-Server" pair elements may belong to one or different manufacturers software.

In the case when the client and server units are made by one firm, it is natural to expect that the distribution of functions between them is rationally. In other cases, it is usually pursued by the goal of providing access to data "at any cost". An example of such a compound is the case when one of the full-featured DBMS plays the role of the server, and the second DBMS (another manufacturer) is the role of the client. So, for the SQL Server (Microsoft) server in the role of client (frontal) programs, many DBMSs, such as are: Dbase IV, Biyth Software, Paradox, DataEase, Focus, 1-2-3, MDBS III, Revelation and others.

Databases for working out programs can be used to create species of the following programs:

Client programs;

Bd servers and their individual components;

Custom applications.

Programs of the first and second form are rather small, as they are intended mainly for system programmers. Packages of the third type are much larger, but less than full-featured DBMS.

The tools for developing user applications include programming systems, such as Clipper, a variety of programming libraries for various programming languages, as well as development automation packages (including client-server type systems). Among the most common can be called the following tool systems: Delphi and Power Builder (Borland), Visual Basic (Microsoft), SilverRun (Computer Advisers Inc.), S-Designor (SDP and Powersoft) and Erwin (LogicWorks).

In addition to the listed funds, various additional funds are used to manage data and organization of database services, for example, transaction monitors

By the nature of the use of DBMS, they are divided into personal and multiplayer.
Personal suable Usually provide the possibility of creating personal databases and inexpensive applications operating with them. Personal DBMSs or those designed with their help can often act as the client part of the multiplayer DBMS. Personal DBMS, such as Visual Foxpro, Paradox, Clipper, Dbase, Access, and DR

Multiplayer DBMS include the BD server and the client part and, as a rule, can operate in an inhomogeneous computing environment (with different types EUM I. operating systems). The multiplayer DBMS includes, for example, Oracle and Informix DBMS.

According to the data model used by the DBMS (as well as database), divided into hierarchical, network, relational, object-oriented and other types. Some DBMSs can simultaneously support multiple data models.

From the user's point of view, the DBMS implements the storage, changes (replenishment, editing and deletion) and processing information, as well as the development and receipt of various output documents.

To work with the DBMS stored in the database provides the following two types of languages \u200b\u200bwith programs:

Data Description Language - high-level unproduced declarative type language designed to describe a logical data structure;

The data manipulation language is a set of structures that ensure the implementation of the main operations for working with data: input, modification and sampling of data on requests.

These languages \u200b\u200bin various DBMS may have differences. Two standardized languages \u200b\u200breceived the greatest distribution: QBE (Query by Example) - the language of queries and SQL (Structured Query Language) - a structured query language. QBE basically has language properties manipulating data, SQL combines the properties of both types of languages \u200b\u200b- descriptions and manipulation data.

The following DBMS functions, in turn, use the following main functions of lower levels that are called low-level:

Data management in external memory;

Management of RAM Buffers;

Transaction management;

Maintaining the log of changes in the database;

Ensuring the integrity and security of the database. We give a brief description of the need and features of the implementation of the listed functions in modern DBMS.

Function implementation data management in external memory in different systems may vary at the resource management level (using file Systems OS or direct control of PEVM devices), and on the logic of the data management algorithms themselves. Basically, the methods and algorithms of data management are "internal affair" of the DBMS and directly to the user do not have. The quality of this function is most effectively affected by the efficiency of specific IP, for example, with huge databases, with complex requests, Large data processing.

The need to buffering data and as a result of implementation bucket management functions RAM is due to the fact that the amount of RAM is less than the volume of external memory.

Buffers They are areas of RAM, intended to accelerate the exchange between the external and RAM. In the buffers temporarily stored fragments of the database, the data from which is intended to be used when accessing the DBMS or is planned to be recorded in the database after processing. The transaction mechanism is used in the DBMS to maintain the integrity of the data in the database.

Transaction Called some indivisible sequence of database data, which is monitored by the DBMS from the beginning and before completion. If for any reason (malfunctions and failures of equipment, errors in software, including the application) transaction remains unfinished, then it is canceled.

It is said that transactions are inherent in three basic properties:

Atomicity (all the operations included in the transaction or none) are performed;

Serializability (there is no mutual influence of transactions performed at the same time);

Durability (even the collapse of the system does not lead to the loss of the results of the fixed transaction).

An example of a transaction is the transaction operation with one account to another in the banking system. Here you need at least a two-having process. First remove the money from one account, then add them to another account. If at least one of the actions is not successful, the result of the operation turns out to be incorrect and the balance between accounts will be broke.

Transaction control is important in single-user and multiplayer DBMS, where transactions can be launched in parallel. In the latter case, they talk about the serializability of transactions. Under the serialization of parallel transactions, the preparation of such a plan for their implementation (serial plan) is understood, in which the total effect of transactional implementation is equivalent to the effect of their sequential execution.

With parallel performing a mixture of transactions, conflicts may occur (locks), the resolution of which is the function of the DBMS. If such cases are detected, a "rollback" is usually performed by canceling changes made by one or more transactions.

Maintain Magazine Amendments In the database (MODERSIONS) DBMS is performed to ensure the reliability of data storage in the database in the presence of hardware failures and failures, as well as errors in software.

DBMS log is a special database or part of the main database, directly inaccessible to the user used to record information about all the changes in the database. In various DBMS in the log, records may be recorded that appropriate changes in the DBMS on different levels: from the minimum internal modification operation of the external memory page to the logical Operation of the database modification (for example, the insertion of the recording, deleting column, changes in the value in the field) and even transactions.

In order to effectively implement the function of making a log of changes in the database, it is necessary to ensure increased reliability of storage and maintenance in the working condition of the magazine itself. Sometimes there are several copies of the magazine in the system.

Providing integrity The database is a necessary condition for the successful functioning of the database, especially for the use of databases in networks. Mystery of database, There is a database property that means that it contains a complete, consistent and adequately reflective object information.

Maintaining the integrity of the database includes verification of integrity and its recovery in case of detection of contradictions in the database. The holistic state of the database is described by interquality restrictions In the form of conditions that must be satisfied with the data stored in the database. An example of such conditions can be the limitation of the ranges of possible values \u200b\u200bof object attributes, information about which is stored in the database, or the absence of repeating records in the relational database tables.

Security It is achieved in the DBMS encryption of application programs, data, password protection, support for database access levels and to separate items (tables, forms, reports, etc.).

The program written in the algorithmic language must be converted to the object module recorded in the machine (in binary codes). Such a transformation is performed by translator (assembler - from Assembler and compilers with high-level languages). For some algorithmic languages, interpreters are used that do not create an object module, and each time another execution of the program, translating each individual string or operator to the machine language. The object module is processed by the bootloader - the editor of the links that convert it into the executable machine program.

Debugging tools allow you to perform program traces (step-by-step execution with issuing information about execution results), to check the syntax of the program and intermediate results at the stop points, modify the values \u200b\u200bof the variables at these points.

Technical and service systems are software Control, diagnostics and restoring computer performance, disks, etc.

Application software provides witching custom tasks. Key concept here is a package of application programs.

The application package is a set of programs for solving the circle of tasks according to a certain topic or subject. The following types of application packages are distinguished:

general purpose - oriented to automate a wide range of user tasks (text processors, tabular editors, database management systems, graphic processors, publishing systems, design automation systems, etc.);

method-oriented - the implementation of a variety of economic and mathematical methods for solving problems (mathematical programming, network planning and management, theory of mass service, mathematical statistics, etc.);

problem-oriented - aimed at solving a certain task (problem) in a specific subject area (bank packages, accounting packages, financial management, legal reference systems, etc.).

Application software includes service software that serve to organize a user-friendly user environment, as well as to perform auxiliary functions (information managers, translators, etc.).

    The main types of specialized professionally oriented software.

Main types of specialized software.

This type of software is so diverse (how diverse the activities of human society and the scope of computer technologies) are sufficiently difficult to produce their clear classification. As a rule, these are multifunctional and integrated software systems for solving information objectives and support decision-making in a specific subject area. Of the most widely known software tools of this class, the following systems can be distinguished.

Integrated office management systems are software tools for automating the workplace of the head. To basic functions such systems The functions of creating, editing and format the simplest documents, the centralization of email functions, facsimile and telephone communication, dispatching and monitoring of enterprise document management, coordination of units, optimization of administrative and economic activity and delivery on request of operational and reference information.

Accounting systems are specialized systems that combine the functions of text and tabular editors, spreadsheets and database management systems. Designed to automate the preparation of primary accounting documents of the enterprise and their accounting, to conduct accounts of the Accounting Plan, as well as to automatically prepare regular reports on the basis of industrial, economic and financial activities in the form adopted for the provision of tax authorities, extrabudgetary funds and bodies statistical accounting.

Despite the fact that theoretically, all functions characteristic of accounting systems can be fulfilled by other above-mentioned software, the use of accounting systems is convenient thanks to the integration of different means in one system. When making a decision on the implementation of an automated accounting system at the enterprise, it is necessary to take into account the need for adaptation tools when changing the regulatory framework. Due to the fact that in this field the regulatory and legal framework in Russia is extremely instability and is subject to frequent changes, the possibility of flexible reconfiguration of the system is a mandatory function, although it requires a high-qualification system users.

Financial analytical systems allow you to monitor and predict the situation on financial, commodity and commodity markets, to analyze current events, prepare reports and reports.

Geoinformation systems (GIS) are designed to automate cardographic and geodesic works based on information obtained by topographic or aerospace methods.

Video editing systems provide digital processing of video materials.

Separate categories of applied software, which have their own internal classification systems, represent learning, developing, reference entertainment systems and programs. A characteristic feature of these software classes are increased requirements for the multimedia component (the use of musical compositions, graphic animation and video materials).

Automated design systems (CAD system) are distinguished by the ability to automatically provide on all stages of design of technical conditions, norms and rules, which frees the designer (or architect) from the work of a non-creative nature. For example, in mechanical engineering CAD systems are capable of assembly drawing products Auto-matically perform work drawings of parts, prepare the necessary technological documentation with a sequence of mechanical processing transitions, assign the necessary tools, machine and control adjustments, as well as prepare control programs For machine tools with numeric software (CNC), industrial robots and flexible automation lines. Today, automated design systems are necessary componentwithout which the effectiveness of the implementation of flexible production systems (GPS) is lost and automated process control systems (ASUTP).

Expert systems are used to analyze the data contained in the knowledge bases, and issuing recommendations for the user's request. Such systems are used in cases where the source data is well formalized, but extensive special knowledge is required to make decrees.

A characteristic feature of expert systems is their ability to self-priority. The initial data is stored in the database in the form of facts, between which a certain system of relations is established using experts experts. If at the testing stage of the expert system it is established that it gives incorrect recommendations and conclusions on specific issues or cannot give them at all, this means either the absence of important facts in its base, or violations in the logical system of relations. And in another case, the expert system itself can generate a sufficient set of requests to the expert and auto-matically increase its quality.

The characteristic areas of the use of expert systems are jurisprudence, medicine, pharmacology, chemistry. By the aggregate of signs of the disease, medical expert systems help to make a diagnosis and prescribe medicines, dosage and medical course program. By set of signs of the event, legal expert systems can give a legal assessment and propose a procedure for the accusing side and for defending. With the use of expert systems, the special area of \u200b\u200bscientific and technical activities, called engineering knowledge, is associated. Knowledge engineers are specialists of special qualifications, acting as an intermediate link between the discrepancy between the expert system (programmers) and leading experts in specific areas of science and technology (experts).

    General principles for building spreadsheets.

In the spreadsheets, all the information being processed is located in the cells of the rectangular table. The difference of the spreadsheet from the simple is that it has fields whose values \u200b\u200bare calculated through the values \u200b\u200bof other fields where the source data is located. This happens automatically when the source data changes. The fields of the table in which the source data are located is made by independent fields. Fields where the results of the calculations are recorded, called dependent or calculated fields. Each cell of the spreadsheet has its own address that is formed on behalf of the column and the number of the line where it is located. Rows have a numerical numbering, and the columns are denoted by the letters of the Latin alphabet. The spreadsheets have large sizes. For example, the most frequently used Excel spreadsheet in IBM-compatible computers has 256 columns and 16,384 lines. It is clear that the table of this size can not fit on the screen. Therefore, the screen is only a window through which only part of the table can be seen. But this window is moved, and it can be looked into any place of the table with it. The spreadsheet has several modes of operation: forming a table, editing, calculation by formulas, saving information in memory, building graphs and diagrams, data statistical processing, an ordering on the basis. Formulas for which the values \u200b\u200bof the dependent fields are calculated include numbers, addresses of table cells, operations of operations. When working with spreadsheets, the user can use the so-called built-in formulas, prepared for certain calculations and entered into the computer. Most tabular processors allow you to streamline a table according to any feature, such as descending. The spreadsheets also provide graphical mode of operation, which makes it possible to graphically represent the numerical information contained in the table.

    General principles for building DBMS.

Currently, the functioning of various enterprises of organizations is not possible without an information system, which allows you to automate the collection and processing of data. For storing and accessing data containing the necessary information, a database is created.

Modern information systems based on the concept of data integration are characterized by huge amounts of stored data, a complex organization, the need to satisfy the various requirements of numerous users.

The purpose of any information system is to process data on the volume of real world. In the broad sense, the database is a set of information about the specific objects of the real world in any subject area. Under the subject area it is customary to understand the part of the real world (enterprise or university) to be studied to organize management and automation.

The term "database" has several terms. They are not contradictory, but represent different points of view on one concept. Let us dwell on one of them:

Database - information model The subject area in the form of a set of data stored in the memory of a computer and related by themselves according to the rules that determine their general principles for describing, storing and manipulation.

The information model understands information about the object, selected and structured in accordance with the given goal.

Data Model - Description of data and data processing methods in DBMS, including methods for determining the types of logical structures in the database, data manipulation methods and methods for determining and supporting the integrity of the database.

The first databases were created on the basis of file systems, and all responsibility for working with them was imposed on the application software that used these bases. File databases are practically not used now. In modern database technology, it is assumed that the creation of a database, its support and user access to it is carried out centrally with the help of special software tools - database management systems.

The database management system (DBMS) is a complex of language and software, designed to create, maintain and apply the database by users.

Modern database servers include all sorts of developments and mechanisms for interaction with the user at a high level. These development tools, being user applications, allow you to create applications that work as a DBMS.

The DBMS is a software package, in which many people take part, both serving these programs and using the result of their work.

Software includes all computer programs used in the operation of the database management system. To fulfill all the DBMS functions, three types of software are required: 1) System software (manages all components of the equipment and provides access to it all other applications running on the computer);

2) Software DBMS (manages the database, implementing the DBMS functions);

3) Application programs and utilities (designed to gain access to data and manipulate them in an environment, application programs are used to represent data stored in the database, as reports and tables).

The software of the DBMS refers to the discharge of the intermediate software.

If we take the basis of functional responsibilities, then six main groups can be distinguished into the DBMS:

1) system administrators - are responsible and ensure reliable software work

2) Database administrators - provide DBMS and manage it, create entries, performs procedures related to the reliability of data storage (assign rights, limit access)

3) system analysts - perform work on systematization of data structure, applications and reports

4) Database Designers - Design DBMS Structure

5) Programmers - Develop application software

6) End users apply applied programs to perform daily operations.

The database includes:

1) Data (all actual material stored in the database). Are untreated raw materials that are subject to structuring

2) Metadata (System Directory Content). Represent information about the names and structure of the tables, user rights, types of restrictions and other database objects

3) Procedures - an important component of the system. Establish standards for maintaining commercial, technological and production and technical activities within the framework of the enterprise and in relations with clients

Classification of DBMS

By type of adopted model:

1) Hierarchical - the relationship between the database objects forms an inverted tree, i.e. Each underlying element of the hierarchy is connected only with one element located above.

2) Network - communication between data objects can be installed in any order

3) relational - each unit of data in the database is uniquely determined by the table name, recording identifier and field name

4) Object-relational - contain object-oriented mechanisms for building data structures in the form of language extensions and software addresses over the dance core

5) Object-oriented - based on a combination of three principles: relational model, standards for the description of objects and principles

object-oriented programming

By architecture:

local databases (all data and DBMS objects are on the same computer) and distribution (various parts of the data and DBMS objects are on different computers)

By way of access to the database:

2) file-server - is located on each client computer and data access is carried out through the local network.

3) Client-server - ensure the delimitation of access between the user and the network and machines are loaded.

4) Built-in - represents a software library. Data access occurs by requesting the SQL language or by calling the library functions from the application

By processing speed:

Operational (possess high speeds to request, extracting and providing information) and data warehouses (occupies a significant amount of time because Bases with a very large amount of information)

The DBMS performs the following functions:

1) Data abstraction, data dictionary management - to search for the necessary data structures and their DBMS relations uses a data dictionary, helping to avoid encoding such complex relationships in each program.

2) Data storage management - DBMS creates complex structures required for storing data, freeing programmers from identifying and programming physical data properties

3) Transformation and presentation of data - DBMS assumes the task of structuring input data, converting them into a form, convenient for storage. Providing data independence, the DBMS converts logical requests to the commands that determine their physical location and extraction

4) Security Management - DBMS Creates a security system that provides user protection and data confidentiality inside the database

5) Multiplayer access management - DBMS creates complex structures that provide access to multiple users simultaneously

6) Backup and Recovery Management - DBMS There are backup and data recovery procedures that ensure their safety and integrity.

7) Data integrity management - DBMS provides rules that ensure data integrity, which allows you to minimize data redundancy and ensure their consistency

8) Support for data access languages \u200b\u200band subference programming interfaces - DBMS provides data access using the query language (necrotic language, i.e. it provides the user with the ability to determine what needs to be performed without specifying how to do it)

9) interfaces of interaction with the database - the current generation of DBMS provides special interaction programs designed to ensure that the database can receive end-user requests in the network environment

Designing databases, as well as the design of information systems, consists of several stages. One of the important stages of the design is the creation of "Essence-Communication" diagrams. To do this, you need to designate entities, add attributes to them, set the keys and combine entities using connections. All this can be done manually, simply drawing the appropriate diagrams on paper. In those days, when the concept of "Essence-Communication" was proposed, but they did, but if there is a computer with a developed graphical interface, the drawings on paper were departed into the past. Quite quickly created a whole class of software products, allowing not only to perform modeling in the "Essence-Communication" paradigm, but also generate a database schema based on the created models for almost any common database servers.

It should be noted that modern database servers are often equipped with the means of modeling the "Entity-Communication" model or other means of creating data schemes.

All the subtleties of building an information model of a certain subject area of \u200b\u200bhuman activity pursue one goal - to get a good database. Let us explain the term "good database" and we formulate the requirements that it must satisfy:

1) must meet the information needs and the possibilities of users (organizations) and in structure and content to meet solved objectives;

2) must ensure the obtained data required for an acceptable time, i.e., respond to performance requirements;

3) should be easily expanding or integrated into larger objects in the reorganization of the subject area;

4) should be easily changed when changing the software and hardware environment;

5) The correct data loaded into the database must remain correct (data should be checked for correctness when entering them).

Database management systems are very important for many organizations and enterprises, because There is a need for safety and skillful use of informational resources. The efficiency of the enterprise depends on how reasonably the management of the document flow is organized. In fact, the ineffective use of the accumulated information (or, even worse, its loss) can lead to the collapse of the enterprise. After all, on time, not received information or document is, first of all, lost money, time and missed opportunities. As a result, at any enterprise, where active work with various documents is being done, sooner or later the problem of systematization, processing and safe storage of significant amounts of information. An important role in optimizing the activities of the enterprise of any size and profile is played modern systems Electronic document management.

    Appointing computer networks and their varieties.

Under the computer network, a complex of hardware and software tools intended to exchange information and access users to uniform network resources is understood.

The main purpose of computer networks is to provide shared user access to information (databases, documents, etc.) and resources ( hard drives, Printers, CD-ROM drives, modems, access to the global network, etc.).

Network subscribers are objects that generate or consume information.

Subscribers of the network can be separate computers, industrial robots, CNC machines (machine tools with numeric software control), etc. Any network subscriber is connected to the station.

Types of computer networks

Existing networks are currently divided primarily by territorial sign:

1. Local networks (LAN - Locate Area Network). Such a network covers a small territory with a distance between individual computers up to 10 km. Usually such a network is valid within a single institution.

2.Glice networks (WAN - Wide Area Network). Such a network covers, as a rule, large areas (territory of the country or several countries). Computers are located apart from tens of thousands of kilometers away.

3.Regional networks. Similar networks exist within the city, district. Currently, each such network is part of some global Network And special specifics in relation to the global network is no different.

communication channels - data transmission network.

Main characteristics:

* Bandwidth

* Data reliability

The data transfer rate on the channel is standardized. In domestic communication channels: 200, 300, 600, 1200, 2400, 4800, 9600, 12000, 24000, 48000, 96000 bits / second. In channels up to 300 bits - low speed, from 600 to 4800 - average speed, from 4800 and further - high-speed.

Software

Teleprocessing data is organized on this scheme and is supported by software included in the OS. The message arriving in the computer over communication channels, for example, in the input queue, where they are accumulated are edited, and with the help of teleworking facilities are in line to programs. The application refers to the message queue, as a set of data with a sequential sample, by special macros, selects a processing message. In turn, generated by the application application program, are in the queue to the channels, also using a microcomand, but of another type, after which messages are edited, and then enter the output queue, from where to display in the COP in order.

The reception and processing processes in such a system proceed asynchronously. The scheme has features: everything goes synchronously. As a result, you can organize messaging between users without computer management. This additional connection is done (1) Therefore, messaging between users goes, bypassing application program. As a result, the exchange time and performance of the computer is growing on the implementation of the objectives of the main direction.

    The concept of the reference model of interaction of open systems.

Move information between computers of various schemes is an extremely difficult task. In early 1980 The International Organization for Standardization (ISO) and the International Advisory Committee for Telegraph and Telephony (ICTC) recognized the need to create a network model that could help suppliers to create implementations of interacting networks. In close cooperation, the reference model "Interaction of Open Systems" was developed (EMVOS). Emvos quickly became the main architectural model for transmitting intercomputer messages. Despite the fact that other architectural models were developed (mainly patented), most network providers when they need to provide training information to the users supplied by them, refer to them as products for a network corresponding to the reference model. And indeed, this model is the most best toolAvailable at the disposal of those who hope to explore network technology.

The OSI network model consists of 7 levels, and it is customary to start the countdown from the bottom. 7. Application Layer is a set of diverse protocols by which network users get access to shared resources, such as files, email, hypertext web pages, printers.

At this level, there is no interaction between computers, but between applications: the model on which the file sharing will occur, the rules for which we will forward the mail, organize a virtual terminal, network managementDirectory. For example: view web pages (HTTP), reception and file receipt (FTP, TFTP), transmission and reception mail (SMTP, POP3).

6. Constate Layer or Presentation Level (Presentation Layer) - data representation functions (encoding, formatting, structuring) are implemented. For example, at this level, data allocated for transmission are converted from the EBCDIC code in ASCII, etc. 5. Session Layer - designed to organize and synchronize a dialogue, which is done by objects (stations) of the sings. At this level, the type of communication (duplex or half-duplex), the beginning and end of the tasks, the sequence and mode of exchanging requests and the responses of interacting partners are determined.

Each site owner knows that for the proper functioning of the site, not only files with pages code, but also databases are needed. To interact with databases, database management systems (DBMS) are used. In this article, I want to talk about databases and DBMS, what kind of varieties exist, and what they differ from each other.

Database

The database is a specific dataset, which is usually associated with a unifying feature or a property (or several). These data are ordered, for example, alphabetically. The abundance of various data that can be placed in a single base leads to a variety of variations that can be recorded: personal data of users, records, dates, orders, and so on. For example, if you have an online store, then the database of your site may contain price lists, catalog of goods or services, reports, statistics and customer information.

First of all, it is convenient to the fact that information can be quickly entered into the database and also to quickly extract it if necessary. If all the necessary data should be prescribed all the necessary data on the development of the Web Development, now there is no such need - the necessary information may be requested from the database using scripts. Special information storage and search algorithms that are used in databases allow you to find the necessary information literally for the fraction of seconds - and when working in a virtual space, the speed of the resource is important as nothing else.

It is also important and the relationship of information in the database: a change in one line can lead to significant changes in other lines. Working with data is thus much easier and faster than if the changes concerned only one place in the database.

However, this does not mean that the database must necessarily have each site - for example, if you have a business card site, and no new information on the site you are on the site, the database will be simply not needed. The easiest way to make a simple site is to create.

Database Management System

As you can guess from the title, the database management system (or abbreviated DBMS) is a software that is used to create and work with databases. The main function of the DBMS is data management (which can be both in external and in RAM). The DBMS necessarily supports database languages, and is also responsible for copying and recovering data after any failures.

As for the classification of databases, there are various options here.
For example, you can divide the databases data model: Hierarchical (have a tree structure), networks (in their structure are similar to hierarchical), relational (used to manage relational databases), object-oriented (used for object model) and object-relational (some merge of relational and object-oriented fusion Views databases).

Or if the division goes according to where the DBMS is locatedThey can be divided into local - the entire DBMS is posted on one computer, and distributed part parts of the database management system are located on multiple computers.

File-server, client-server and embeddable - such names wear DBMS if divided them method of access to databases. File-server DBMS are currently considered outdated; Basically, the use of client-server (DBMS, which are located on the server along with the database itself) and embedded (do not require separate installation) Systems.

Information that is stored in databases is not limited to text or graphic files - modern versions The DBMS also support audio and video file formats.

In this article, I will focus on the DBMS that are used to store information from various web resources.

Why do you need these DBMS? In addition to the main function - storage and systematization huge number Information - they allow you to quickly handle client requests and issue fresh and relevant information.

This also applies to changes that you make - instead of changing the information in each site file, you can change it in the database, and then correct information will immediately be displayed on each page.

Relational DBMS and SQL language

Relational and object-relational DBMS are one of the most common systems. They are tables that each column (which is called "field" or "field") is ordered and has a certain unique name. The sequence of strings (they are called "Records" or "Record") is determined by the sequence of input information in the table. In this case, the processing of columns and rows can occur in any order. Tables with data are related to each other with special relationships, due to which data from different tables can be operated - for example, to combine them - with one request.

To manage relational databases, a special programming language is applied - SQL. The abbreviation is decrypted as "Structured Query Language", translated into Russian "Language of Structured Requests".

Commands that are used in SQL are divided into those that manipulate data, those that define the data and those that manage the data.

The scheme of working with the database is as follows:


Mysql

MySQL is one of the most popular and common DBMSs, which is used in many companies (for example, Facebook, Wikipedia, Twitter, LinkedIn, Alibaba and others). MySQL is a relational DBMS that relates to free software: it applies to conditions GNU Public License. As a rule, this database management system is defined as a good, fast and flexible system recommended for use in small or medium-sized projects. MySQL has many different advantages. For example, it supports different types Tables: Both famous Myisam and InnoDB and more exotic Heap and Merge; In addition, the number of supported types is constantly growing. MySQL performs all commands quickly - perhaps now it is the fastest DBMS of all existing. With this database management system, an unlimited number of users can work simultaneously, and the number of rows in tables can be equal to 50 million.

Since in comparison with some other DBMS MySQL supports fewer capabilities, it is much easier to work with it than, for example, with PostgreSQL, which will be described below.

The first version of MySQL was published in 1995, and since then several subsequent releases took place, each of which carried significant changes.

To work with MySQL, not only text, but also graphic mode is used. This is possible thanks to the PHPMYAdmin application: To work in the application you will not even need to know the SQL commands, and you can administer your database directly through the browser.

In general, it can be noted that MySQL is the choice of those who need the DBMS for a small or medium-sized project, fast and convenient in operation and without administration difficulties.


PostgreSQL

This freely distributed database management system refers to the DBMS object-relational type. As in the case of MySQL, work with PostgreSQL is based in SQL, however, unlike MySQL, PostgreSQL supports SQL-2011 standard. This DBMS has no restrictions maximum size Databases or maximum records or indexes in the table.

If we talk about the advantages of PostgreSQL, then, of course, this is the reliability of transactions and replications, the possibility of inheritance and lightweight expansion. PostgreSQL supports various extensions and variants of programming languages, such as PL / PERL, PL / PYTHON and PL / JAVA. It is also possible to download C-compatible modules.

Many note that in contrast to MySQL, this DBMS has good and detailed documentation, which gives answers to almost all questions.

The fact that it is more large-scale than MySQL, DBMS, also says the fact that PostgreSQL is periodically compared with such a powerful data management system as Oracle.

All this allows you to talk about PostgreSQL as one of the most advanced DBMS at the moment.


SQLite.

At the moment it is one of the most compact DBMS; It is also an embedded and relational. SQLite allows you to store all data in one file and, due to its small volume, is distinguished by enviable speed. SQLite differs significantly from MySQL and PostgreSQL with its structure: the engine and interface of this DBMS are in the same library - and it allows you to perform all requests very quickly. Other DBMS (MySQL, PostgreSQL, Oracle, etc.) use the client-server paradigm when the interaction occurs through the network protocol.

Of the disadvantages, you can note the lack of user system and the possibility of increasing productivity.

SQLite can be advised to use in projects where you need to be able to quickly transfer the application, and there is no need for scalability.


Oracle

This DBMS refers to an object-relational type. The name happened from the name developed by Oracle. Along with SQL DBMS uses a procedural extension called PL / SQL, as well as the Java language.

Oracle is a system that has a stability of more than a dozen years, so it chooses large corporations for which the reliability of recovery after failures, the debugged backup procedure, the possibility of scaling and other valuable possibilities. In addition, this DBMS provides excellent security and spectacular data protection.

Unlike other DBMS, the cost of buying and using Oracle is high enough, and this is often a significant obstacle to its use in small firms. It is probably that this is also the reason that in the rating of DBMS for 2016 in Russia, Oracle is only 6th place.



Mongodb.

This DBMS is characterized by the fact that it is designed to store hierarchical data structures, and therefore it is called a documenant oriented (it is a document storage without the use of tables or schemes). Mongodb has an open source code.

Using the identifier, you can produce quick operations on the object; This DBMS well shows itself and with complex interactions. First of all, we are talking about speed - in some cases, the application written in MongoDB will work faster than the same application using SQL, because Mongodb refers to the NOSQL DBMS class and instead of SQL uses the object language of requests, which is much easier than SQL.

However, this language has its limitations, and therefore MongoDB should be used in cases where there is no need for complex and non-trivial samples.

Instead of imprisonment

The choice of DBMS is important moment When creating your resource. Relieve yourself from your tasks and features, try and experiment to find exactly the option that will be most appropriate.