Menu
Is free
check in
the main  /  Multimedia / Database management systems leading manufacturers. Appointment of computer networks and their varieties

Database management systems of leading manufacturers. Appointment of computer networks and their varieties

The database (database) is a set of specially organized data stored in the memory of the computing system displaying the state of objects and their relationship in the subject area under consideration.

Subject area called part real systemRepresenting interest for a certain study. Distinguish between the full subject area (enterprise) and the organizational unit of this subject area (departments).

Basic terms.

The object is a term denoting the fact, a person, an event, the subject that data can be collected (each table represents one object);

Relational database - the main type of modern databases. It consists of tables between which there may be connections on key values.

A database table (Table) is a regular structure that consists of the same type of strings (entries, records), broken into columns (fields, fields).

In the theory of relational databases, the table is synonymous with the table (Relation), in which the string is called a tuple, and the column is called the attribute.

In the conceptual model of the relational database, the table is an entity (entity), with a specific set of attribute properties that can take certain values \u200b\u200b(a set of permissible values \u200b\u200b- domain).

The key element of the table (key, regularkey) is its field (simple key) or a string expression formed from the values \u200b\u200bof several fields (composite key) by which you can define the values \u200b\u200bof other fields for one or more table entries. In practice, indexes are created to use keys - service information containing ordered information about key values. In the relational theory and conceptual model, the concept of "key" is used for attributes of relations or entity.

Primary key (PrimaryKey) is the main key element, uniquely identifying the string in the table. Alternative (CandidateKey) and unique (UniqueKey) keys also serve to identify rows in the table.

In the relational theory, the primary key is a minimum set of attributes, unambiguously identifying a tuple against.

In the conceptual model, the primary key is a minimum set of entity attributes, uniquely identifying an instance of the entity.

Communication (Relation) is a functional dependence between objects. In relational databases, there are connections on the keys, one of which in the main (parent, parent) table - the primary, the second - the external key - in the external (child, child) table, as a rule, is not primary and forms the connection "one To many "(1: n). In the case of a primary external key, the connection between the tables has the type "one to one" (1: 1). Relationship information is stored in the database.

External key (ForeignKey) - key element subordinate (external, subsidiary)

Database management systems are used to work with the database

DBMS - a complex of linguistic and softwareintended for the creation, maintenance and sharing of the database by several users. DBMS allows you to: create a database; insert, update, delete and extract information from the database; Provides controlled access to the database.

The relationship of the main terms in the field of database design and work with them

SQL is a standard access language and database management (database).

Language of structured queries is a universal language to create, modify and manage information, which is part of relational databases.

Initially, SQL was the main way of working with data. Using it, the user could perform the following actions: Creating a new table in the database (dB); Adding new records to existing tables; Editing records; full removal records; selection of recording from different tables, in accordance with the specified conditions; Changing the form and structures of one or more tables.

As it is developed, SQL has been greatly transformed and enriched with new useful functions, as a result of which, more and more began to resemble the real programming language. To date, SQL is the only mechanism that is able to associate application software and database. That's what SQL is. SQL has several types of requests.

It is worth noting that any sQL request It implies or request data from the desired database, or appeal to the database with a mandatory change in it in it. In this regard, it is customary to allocate the following types of requests: the creation or change in the database of new or already existing objects in it; obtaining data; Adding new data to the table; delete data; Appeal to the database management system (DBMS). A little about the advantages and disadvantages of this system of working with data. The advantages of SQL independence from the existing DBMS in this system. SQL texts are universal for many DBMS.

However, this rule applies to simple tasksrelated to data processing in tables. The presence of SQL standards contributes to the "stabilization" language. Declaratory. This advantage is that when working with data, the programmer chooses only the information that must be changed or modified. How it will be done in automatic mode Solved at the program level itself of the DBMS itself. The shortcomings of SQL SQL does not correspond to the relational model for building data. In this regard, SQL replaces the Tutorial D language, which is truly relational.

The complexity of SQL determines its purpose. The language is so complicated that only a programmer can use. Although initially he thought as a control tool with which the usual user would work.

In the modern market for developing IP development, there are quite a lot of systems, to one degree or another meets the requirements. Erwin and Bpwin Cases developed by Platinum are among the best today.

ERWIN - Database Structure Development (DB). Erwin combines graphic windows interface, Tools for the construction of ER diagrams, editors to create a logical and physical description of the data model and transparent pivotes of the maintenance of relational DBMS and desktop databases. Using Erwin, you can create or conduct inverse design (reengineering) databases.

Two points of view are possible on the information model and, accordingly, two levels of the model are possible. The first is a logical (user point of view) - describes the data involved in the business of the enterprise. The second is physical - determines the presentation of information in the database. Erwin combines them into a single diagram having several levels of presentation.

C # (Si Sharp is pronounced) - Object-oriented programming language. Designed in 1998--2001 engineers under the leadership of Anders Halesberg in Microsoft as a language for developing applications for the Microsoft .NET Framework and was subsequently standardized as ECMA-334 and ISO / IEC 23270.

C # refers to the family of languages \u200b\u200bwith a C-similar syntax, of which its syntax is closest to C ++ and Java. Tongue Tongue Typication, supports polymorphism, overloading operators (including operators of explicit and implicit type clarification), delegates, attributes, events, properties, generalized types and methods, iterators, anonymous functions with closures support, LINQ, exceptions, comments in XML format .

Passing a lot of its predecessors - C ++, Pascal, Module, Smalltalk languages, and, in particular, Java - C #, relying on the practice of their use, eliminates some models that have proven themselves as problematic when developing software systems, for example, C # in contrast From C ++ does not support multiple inheritance of classes (meanwhile, the multiple interface inheritance is allowed).

C # was developed as a programming language of the application layer for CLR and, as such, depending first of all, the capabilities of the CLR itself. This applies primarily by the C # types, which reflects the BCL.

The presence or absence of certain expressive characteristics of the language is dictated by whether a particular language feature can be translated into the corresponding CLR constructs. So, with the development of CLR from version 1.1 to 2.0, C # itself has been significantly enriched; Such interaction should be expected in the future (however, this pattern was violated with the C # 3.0 extending, which is an expansion of a language that do not rely on the extension of the platform .NET).

OS

The main ideas of the OS.

OS precursor should be considered service programs (loaders and monitors), as well as frequently used libraries, which began to be developed with the advent of the universal computers of the 1st generation (end of the 1940s). Service programs minimized physical manipulations of the operator with equipment, and libraries allowed to avoid multiple programming of the same actions (implementation of I / O operations, calculating mathematical functions, etc.).

Built-in programs

The main functions of the DBMS

  • data Management in external memory (on disks);
  • data management in RAM using disk cache;
  • journaling changes, backup and restore the database after failures;
  • support database languages \u200b\u200b(data definition language, data manipulation language).

Classification of DBMS by way of access to the database

  • File-server

In file-server DBMS data files are centrally on the file server. The core of the DBMS 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.

On the this moment File server DBMS are considered outdated.

Such DBMS consist of a client part (which is included in the application program) and server (see Client-server.).

see also

Literature

Vasilyev V.G. System software

Links


Wikimedia Foundation. 2010.

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 softwareAs the database management systems, there is no longer one ten years - the data storage task arose almost simultaneously with the advent of the first data carriers, and the principles on which the work of most modern DBMS was based on the 60s of the last 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 long and successfully presented on russian market 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. Latest version This product, DB2 UDB 8.2, operates running operating systems AIX, AIX, Linux, HP-UX, Sun and Windows.

The features of this DBMS are the developed means of self-restoration and automatic execution of operations related to database support (such as creating backups and defragmentation of data). 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 were 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 execution. sophisticated 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.

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 of the subject area in the form of a set of data stored in the memory of the computer and related to the rules that determine their general principles of description, storage 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 based on file SystemsAnd all the responsibility for working with them was imposed on the application software that used these bases. File databases are practically not used now. IN modern technology Databases are 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 programsused 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 (intended to receive access to data and manipulate them in the environment, application programs are used to submit 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 operation of software

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 data and DBMS objects are located 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 request 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 programs Interactions designed to allow the database to receive end-user requests in a network environment

Database Design, Like Design information systemsconsists 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 software productswhich allows not only simulating in the "Essence-Communication" paradigm, but also generate based on the created models of the database schema 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 subtleties of construction information model Some subject area of \u200b\u200bhuman activity pursue one goal - 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. information 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.


Similar information.


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. Most easy way Make a simple site - 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 of 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 GNU terms 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 celebrate that in contrast MySQL is given The 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.