To successfully apply this software it is necessary to correctly select the appropriate operating mode. Knowledge of 1C compatibility with different databases will also be useful in practice. The materials in this article will help you more accurately configure the functioning of applications taking into account the requirements of a specific enterprise.

Operating modes and client applications

In the very simple version system configuration it is recommended to use special file: "1Cv8.1CD". It stores new user information, records changes in registers, and individual settings made. This method is easy to use. Its functionality is available at no additional cost. The only significant drawback is the limited number of users, no more than 10.

Important! A separate computer is allocated to store the “1Cv8.1CD” file itself. It will subsequently be accessible to all users via local network, which get the ability to work with disk space. In this case, the client-server mode is simulated.

We provide information that will allow us to more accurately assess the suitability of this choice for solving certain problems:

  • The structure of the file mentioned above is tabular. The size of each individual block is limited to 4 GB;
  • If “younger” versions of 1C are used, lower than 8.3, then the correct execution of some tasks in automatic mode will be impossible. The limitation is the need to connect individual users;
  • In this option, you cannot post several documents simultaneously;
  • It does not provide a high level of security. If desired, any user can make a copy of the main file in which the enterprise database is stored.

For larger-scale projects, a full-fledged organization of work in the “client-server” mode is better suited. Let's list its features:

  • This option is designed for the simultaneous operation of a large number of users. To obtain sufficient performance, different database management systems and servers combined into clusters are used;
  • Its speed parameters are better compared to the “file” version, which allows you to process large amounts of data faster;
  • In this case, it is easier to install and operate modern information security;
  • To increase computing power, it is enough to add the required number of servers to a specific cluster.

In the “client-server” mode, a standard architecture of three levels is used. The bottom one is user programs. From them requests are made to the cluster servers. If necessary, data caching is enabled. The request processing algorithm provides for the possibility of immediate responses. To obtain information, under the control of the process manager, the server forms a request to the DBMS. Data reaches the client via the reverse chain.

Advice! If peak loads are expected, it is recommended to install the required number of additional working servers. User requests will be automatically redirected to them.

To switch from the file version to a more productive “client-server” mode, just load the old data into a special archive. They are then stored on the server. In the “Configuration” section of the 1C program you can see which mode is activated.

Client Applications


1C provides for work using several types of software. Let's note the features of these three clients:

  • Thin – data reception/transmission is carried out based on its own protocol. If https is used, then the server must be configured accordingly.
  • Thick is used only if the communication lines have sufficient performance. It is used to perform debugging and computational operations and access the database.
  • The Web uses programs that run in a browser.

Important! The application is not suitable for the developer to solve practical issues.

If the “file” mode is used, then the data in 1Cv8.1CD can be accessed directly, but the Web can only be accessed through the server. When working with a thin client, using both paths is acceptable. In the “client-server” version, similar schemes are used, but one more link is added, combined into a server cluster. It is from him that some answers are received promptly. If necessary, the request is addressed to a higher level, in the DBMS.

Application of different database management systems

  • File DBMS:
    • Representation of any of the tables by the following files: descriptions, records, indexes and values;
    • Each file takes up no more than 4 GB of disk space;
    • The key length is limited to 1920 bytes;
    • A maximum of 256 fields can be used for indexing.
  • PostgreSQL:
    • If the sorting mode is in ascending order, NULLs are located at the end of the list;
    • The speed of data processing in this DBMS decreases with a significant increase in the intensity of user requests;
    • Performance indicators are highly dependent on the corresponding technical parameters drives;
    • A special algorithm for recording each transaction increases the level of reliability;
    • Integrated use of sources will help prevent errors. uninterruptible power supply and RAID arrays.
  • Microsoft SQL– the largest number of tables in one query should not exceed 256 units;
  • In Oracle DB, like PostgreSQL, after sorting in ascending order, NULL is set at the end of the list. In this DBMS it is forbidden to “Order” or “First” to be placed inside the “Into” subquery construction. When using it, you should carefully work with query plan statistics. They have a noticeable impact on the stability of 1C;
  • IBM DB2:
    • NULL is not a typed exponent;
    • The numeric value must not exceed 31 characters;
    • One field is limited to 1 GB;
    • As the number of subqueries increases (in a join condition), some performance degradation is possible.

Correct implementation of 1C in an enterprise is carried out taking into account the information presented in this article.

Definitions Database (DB) is a named collection of data that reflects the state of objects and their relationships in the subject area under consideration. Database management system (DBMS) is a set of language and software, intended for creating, maintaining and sharing DB by many users. The use of a DBMS allows you to create programs independent of the methods of implementing data storage on external media. To work with a database, the DBMS must provide: the ability to use means of access and manipulation of database data; working with large amounts of data; speed of data retrieval; logical integrity of data (their consistency); reliability of data storage (possibility of recovery due to various failures); the ability to authorize and differentiate user powers (protection from unauthorized access). 2


Main functions of the DBMS 1. Direct data management in external memory This function includes providing the necessary external memory structures both for storing data directly included in the database and for service purposes, for example, to speed up data access in some cases (usually indexes are used for this). that in developed DBMSs, users in any case are not required to know whether the DBMS is using file system, and if used, how the files are organized. 2. Buffer management random access memory Advanced DBMSs support their own set of RAM buffers with their own buffer replacement discipline. 3. Transaction management A transaction is a sequence of operations on a database, considered by the DBMS as a single whole. Either the transaction completes successfully and the DBMS commits (COMMIT) the database changes made by this transaction to external memory, or none of these changes have any effect on the state of the database. The concept of a transaction is necessary to maintain the logical integrity of the database. Maintaining the transaction mechanism is prerequisite even single-user DBMSs (if, of course, such a system deserves the name DBMS). But the concept of transaction is much more important in multi-user DBMSs. 3


Main functions of a DBMS 4. Journaling The log is a special part of the database, inaccessible to DBMS users and maintained with special care (sometimes two copies of the log are maintained, located on different physical disks), which receives records of all changes to the main part of the database. In different DBMSs, database changes are logged at different levels: sometimes a log entry corresponds to a certain logical operation database changes, sometimes - a minimal internal operation of modifying an external memory page; some systems use both approaches simultaneously. 5. Support for database languages ​​database schema definition language (SDL - Schema Definition Language) data manipulation language (DML - Data Manipulation Language) SQL language (Structured Query Language): allows you to define a relational database schema and manipulate data (implements SDL and DML) contains special means for determining database integrity restrictions authorizes access to database objects 4


Components of the DBMS core, which is responsible for managing data in external and RAM memory, and logging, a database language processor, which optimizes requests for retrieving and changing data and creating, as a rule, machine-independent executable internal code, a runtime support subsystem, which interprets data manipulation programs that create a user interface with the DBMS as well as service programs (external utilities) that provide a number of additional features for maintenance information system. 5


DBMS architecture A three-level model of a database management system, proposed by ANSI (American National Standards Institute). This architecture allows for logical (between levels 1 and 2) and physical (between levels 2 and 3) independence when working with data. The identification of the conceptual level made it possible to develop a centralized database management apparatus. Level external models Physical layer 6


The level of external models is the highest top level, where each model has its own “vision” of the data. This level defines the view of the individual application database. Each application sees and processes only the data that is needed by that particular application. The conceptual level is the central control link, here the database is presented in its most general form, which combines the data used by all applications that work with this database. In fact, the conceptual level reflects a generalized model of the subject area (real world objects) for which the database was created. Like any model, a conceptual model reflects only the significant, from the point of view of processing, features of objects in the real world. The physical layer is the data itself, located in files or in page structures located on external storage media. 7




File-server architecture 9


File server DBMS Data files are located centrally on a file server. The DBMS is located on each client computer. The DBMS accesses data via a local network. Synchronization of reads and updates is carried out using file locks. The advantage of this architecture is the low CPU load on the server. Disadvantages: potentially high local network load; difficulty of centralized management; difficulty in ensuring such important characteristics as high reliability, availability and safety. They are most often used in local applications that use database management functions. Examples: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxProMicrosoft AccessParadoxdBaseFoxProVisual FoxPro 10


Client-server architecture 11


Client-server DBMS A client-server DBMS is located on the server together with the database and provides access to the database directly, in exclusive mode. All client requests for data processing are processed centrally by the client-server DBMS. The disadvantage of client-server DBMS is the increased requirements for the server. Advantages: potentially lower local network load; convenience of centralized management; convenience of providing such important characteristics as high reliability, high availability and high security. Examples: Oracle, Firebird, Interbase, IBM DB2, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, LINTER.OracleFirebirdInterbaseIBM DB2MS SQL ServerSybase Adaptive Server EnterprisePostgreSQLMySQLCachéLINTER 12


Embedded DBMS Can be supplied as part of some software product without requiring a procedure self-installation. Designed for local storage of application data and not intended for shared use on a network. Physically, it is most often implemented in the form of a plug-in library. Access to data from the application side can occur through SQL or through special software interfaces. Examples: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, MySQL, Sav Zigzag, Microsoft SQL Server Compact, LINTER.OpenEdgeSQLiteBerkeleyDBFirebird EmbeddedMySQLSav Zigzag Microsoft SQL Server CompactLINTER 13


Separation of functions between the server and the client Functions of the client application: Sending requests to the server. Interpretation of query results received from the server. Presenting the results to the user in some form (user interface). Server part functions: Receiving requests from client applications. Interpretation of requests. Optimization and execution of database queries. Sending results to the client application. Ensuring a security system and access control. Database integrity management. Implementation of stability of multi-user operating mode. 14


Modern local DBMSs are used for relatively small tasks (small volume of processed data, small number of users), have a relatively simplified architecture, in particular, they operate in file server mode, do not support all possible DBMS functions (for example, a transaction log is not maintained, there is no possibility of automatic database recovery after failures, etc.) dBase III – PLUS, Clipper (Nantucket Inc.), FoxPro (Fox Software), FoxBase+ (Fox Software), Visual FoxPro (Microsoft), PARADOX (Borland International ) Microsoft Access (Microsoft company). 15




Database Administration Database administration is a function of database (DB) management. The person responsible for administering the database is called a Database Administrator (DBA). A database administrator (DBA) or Database Administrator (DBA) is a person responsible for developing database requirements, its design, implementation, effective use and maintenance, including management accounts database users and protection against unauthorized access, as well as maintaining database integrity. 17


Database administrator tasks 1. Database design. 2. Optimizing database performance. 3. Providing and controlling access to the database. 4. Ensuring security in the database. 5. Database backup and recovery. 6. Ensuring database integrity. 7. Ensuring the transition to new version DBMS. 18


Database Administrator Specializations 1. System Administrator. 2. Database architect. 3. Database analyst. 4. Data model developer. 5. Application administrator. 6. Problem-oriented database administrator. 7. Performance Analyst. 8. Data warehouse administrator. 19

Every website owner knows that for the website to function properly, you need not only files with page code, but also databases. Database management systems (DBMS) are used to interact with databases. In this article I want to talk about databases and DBMSs, what types exist, and how they differ from each other.

Database

A database is a specific set of data, which, as a rule, are connected by a unifying feature or property (or several). This data is organized, for example, alphabetically. The abundance of different data that can be placed in a single database leads to many variations in what can be recorded: user personal data, records, dates, orders, and so on. For example, if you have an online store, then your website database may contain price lists, a catalog of goods or services, reports, statistics and customer information.

First of all, this is convenient because information can be quickly entered into a database and just as quickly retrieved if necessary. If at the dawn of the development of web development all the necessary data had to be written in the page code, now there is no such need - necessary information can be queried from the database using scripts. Special algorithms for storing and retrieving information that are used in databases make it possible to find the necessary information literally in a fraction of seconds - and when working in virtual space The speed of a resource is more important than anything else.

The relationship of information in the database is also important: changing one line can lead to significant changes in other lines. Working with data this way is much easier and faster than if the changes affected only one place in the database.

However, this does not mean that every site must have a database - for example, if you have a business card site and you do not post any new information on the site, then you simply will not need a database. The easiest way to make a simple website is to create a .

Database management system

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

As for the classification of databases, various options are possible.
For example, you can divide the databases by data models: hierarchical (have a tree structure), network (similar in structure to hierarchical), relational (used to manage relational databases), object-oriented (used for the object data model) and object-relational (some kind of fusion of relational and object-oriented type of databases).

Or, if the division is based on where is the DBMS located?, they can be divided into local - the entire DBMS is located on one computer, and distributed - parts of the database management system are located on several computers.

File-server, client-server and embedded - these are the names DBMSs bear if we divide them by way to access databases. File server DBMS on this moment are already considered obsolete; Basically, client-server systems are used (DBMSs that are located on the server along with the database itself) and embedded systems (which do not require separate installation) systems.

The 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 DBMSs that are used to store information from various web resources.

Why are these DBMSs needed? In addition to their main function - storing and systematizing a huge amount of information - they allow you to quickly process client requests and provide fresh and relevant information.

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

Relational DBMS and SQL language

Relational and object-relational DBMSs are among the most common systems. They are tables in which each column (called a “field”) is ordered and has a specific unique name. The sequence of rows (they are called “records” or “records”) is determined by the sequence in which information is entered into the table. In this case, processing of columns and rows can occur in any order. Tables with data are interconnected by special relationships, thanks to which you can work with data from different tables - for example, combine them - using one query.

To manage relational databases, a special programming language is used - SQL. The abbreviation stands for “Structured query language”, translated into Russian as “structured query language”.

The commands that are used in SQL are divided into those that manipulate data, those that define data, and those that manipulate data.

The scheme for working with the database looks like this:


MySQL

MySQL is one of the most popular and widespread DBMS, which is used in many companies (for example, Facebook, Wikipedia, Twitter, LinkedIn, Alibaba and others). MySQL is a relational DBMS that is free software: it is distributed under the terms of the GNU Public License. Typically, this database management system is defined as good, fast and flexible system, recommended for use in small or medium-sized projects. MySQL has many different advantages. For example, it supports Various types tables: both the well-known MyISAM and InnoDB, and the more exotic HEAP and MERGE; in addition, the number of supported types is constantly growing. MySQL executes all commands quickly - perhaps now it is the fastest DBMS in existence. An unlimited number of users can work with this database management system at the same time, and the number of rows in tables can be equal to 50 million.

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

The first version of MySQL was released back in 1995, and since then there have been several subsequent releases, each of which brought significant changes.

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

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


PostgreSQL

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

If we talk about the advantages of PostgreSQL, then, of course, these are the reliability of transactions and replications, the possibility of inheritance and easy extensibility. PostgreSQL supports various extensions and programming language variants such as PL/Perl, PL/Python and PL/Java. It is also possible to load C-compatible modules.

Many note that, unlike MySQL given The DBMS has good and detailed documentation that provides answers to almost all questions.

The fact that this is a larger DBMS than MySQL is also indicated by the fact that PostgreSQL is periodically compared with such powerful system data management like Oracle.

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


SQLite

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

Disadvantages include the lack of a user system and the possibility of increasing productivity.

SQLite can be recommended for use in projects where you need to be able to quickly migrate an application and there is no need for scalability.


Oracle

This DBMS is of the object-relational type. The name comes from the name of the company that developed this system, Oracle. Along with SQL, the DBMS uses a procedural extension called PL/SQL, as well as the Java language.

Oracle is a system that has been stable for decades, so it is chosen by large corporations for which reliability of recovery after failures, a streamlined backup procedure, the ability to scale and other valuable features are important. In addition, this DBMS provides excellent security and effective data protection.

Unlike other DBMSs, the cost of purchasing and using Oracle is quite high, and this is often a significant obstacle to its use in small companies. This is probably also the reason why Oracle is only in 6th place in the 2016 DBMS ranking in Russia.



MongoDB

This DBMS is different in that it is designed to store hierarchical data structures, and therefore it is called document-oriented (it is a document storage without using tables or schemas). MongoDB is open source.

Using an identifier, you can perform quick operations on an object; This DBMS also performs well in complex interactions. First of all, we are talking about performance - in some cases, an application written in MongoDB will run faster than the same application using SQL, because MongoDB belongs to the NoSQL DBMS class and instead of SQL uses an object query language, which is much lighter than SQL.

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

Instead of a conclusion

Choosing a DBMS is important point when creating your resource. Start from your tasks and capabilities, try and experiment to find exactly the option that will be most suitable.

4.DATABASE MANAGEMENT SYSTEMS 1

4.1.Classification of DBMS 1

4.2.Codd Rules for Relational DBMS (RSDBMS) 2

4.3.Main functions of relational DBMS 4

4.4.Database administration 5

4.5. Data dictionary 6

A database management system (DBMS) is a critical component of a database-based AIS. A DBMS is necessary for creating and maintaining an information system database to the same extent as for developing a program in algorithmic language– translator. The software components of the DBMS include the kernel and service tools (utilities).

DBMS kernel is a set of software modules necessary and sufficient to create and maintain a database, that is, a universal part that solves standard tasks information services users. Service programs provide users with a number of additional capabilities and services, depending on the described subject area and the needs of a particular user.

Database management system is a software system designed to create a common database on a computer for many applications, keep it up to date and ensure effective user access to the data contained in it within the framework of the powers granted to them.

A fundamentally important property of a DBMS is that it allows you to distinguish and support two independent views of the database: the user’s “view”, embodied in the “logical” representation of the data, and the system’s “view” - the “physical” representation (organization of stored data).

To initialize a database, the developer uses the means of a specific DBMS to describe the logical structure of the database, its organization in the storage environment and user views of data (respectively, the conceptual schema of the database, storage schema and external schemas). By processing these schemas, the DBMS creates an empty database of the required structure and provides tools for filling it with domain data and further operation.

    1. DBMS classification

Based on the degree of universality, DBMSs are divided into two classes: DBMS general purpose (DBMS ON) and specialized DBMS (SpDBMS).

ON DBMSs are not focused on any subject area or specific information needs of users. Each system of this kind is universal and implements a functionally redundant set of operations on data. ON DBMS includes tools for customization for a specific subject area, operating conditions and user requirements. The production of these systems is on a broad commercial basis.

Specialized DBMSs are created in cases where none of the existing general-purpose DBMSs can satisfactorily solve the problems facing developers. There may be several reasons:


  • the required data processing speed is not achieved;

  • it is necessary to operate the DBMS under conditions of severe hardware limitations;

  • support for specific data processing functions is required.
SPDBMS are designed to solve a specific problem, and acceptable parameters for this solution are achieved as follows:

  1. due to knowledge of the features of a specific subject area,

  2. by reducing the functional completeness of the system.
Creating a SpDBMS is a very labor-intensive task, so in order to choose this path, you need to have really good reasons. In what follows, only general-purpose DBMSs will be considered.

Based on the methods of organizing data storage and processing, DBMSs are divided into centralized And distributed. The former work with a database that is physically stored in one place (on one computer). This does not mean that the user can work with the database only on the same computer: access can be remote (in client-server mode). Most centralized DBMSs delegate the task to the organization remote access to data on network support, performing only your standard features, which become more complicated due to the simultaneous access of many users to data.

According to the data model there are hierarchical,network,relational, object-relational And object-oriented DBMS.

For relational DBMS E.F. Codd proposed and justified 12 rules that a relational data DBMS (RDBMS) must satisfy.

    1. Codd's Rules for Relational Database Management System (RDBMS)


  1. Explicit presentation of data (The Information Rule). Information must be presented in the form of data stored in cells. Data stored in cells must be atomic. The order of rows in a relational table should not affect the meaning of the data.

  2. Guaranteed Access Rule. Each data element must be guaranteed to be accessible using a combination of the table name, row primary key, and column name.

  3. Systematic Treatment of Null Values. Unknown NULL values, distinct from any known value, must be supported for all data types in all operations. For example, for numeric data, unknown values ​​should not be treated as zeros, and for character data, unknown values ​​should not be treated as empty strings.

  4. Dynamic On-Line Catalog Based on the Relational Model. Catalog (or dictionary-reference book) data must be stored in the form of relational tables, and the RDBMS must support access to it using standard language tools, the same ones that are used to work with relational tables containing user data.

  5. Completeness of a language subset (Comprehensive Data Sublanguage Rule). The RDBMS must support a single language that allows you to perform all operations on data: data definition (DDL, Data Definition Language), data manipulation (DML, Data Manipulation Language), managing user access to data, transaction management.

  6. Support for updated views (View Updating Rule). A view is a stored query against database tables. The view being updated must support all the data manipulation operations that relational tables support: insertion, modification, and deletion of data.

  7. Availability of high-level data management operations (High-Level Insert, Update, and Delete). Operations of insertion, modification and deletion of data must be supported not only in relation to one row of the table, but in relation to any set of rows of an arbitrary table.

  8. Physical Data Independence. Applications should not depend on the methods used to store data on media, on hardware the computer on which the database is located. An RDBMS should allow some freedom to modify the way the database is organized in the storage environment without requiring changes to the logical representation of the data. This allows you to optimize your storage environment to improve system efficiency without affecting your existing data. application programs working with the database.

  9. Logical Data Independence. This property allows you to construct several different logical views (representations) of the same data for different groups of users. At the same time, the user's presentation of data can differ greatly not only from physical structure their storage, but also from the conceptual (logical) data scheme. It can be synthesized dynamically based on stored database objects during query processing.

  10. Integrity Independence. All information necessary to maintain integrity must be contained in the data dictionary. A data language must validate input data and automatically maintain data integrity. This is implemented using integrity constraints and a transaction mechanism.

  11. Distribution Independence. The database can be distributed (can be located on several computers), and this should not have an impact on applications. Moving the database to another computer should not have any impact on applications.

  12. Coordination of language levels (Non-Subversion Rule). There should be no other means of accessing the data other than standard language for working with data. If a low-level data access language is used, it must not ignore the security and integrity rules that are supported by the higher-level language.
    1. Main functions of a relational DBMS

The main functions of a relational DBMS are determined by Codd's rules. But user needs also determine the following functions:

  1. Support for multi-user access mode.
A database is created to solve many problems by many users. This implies the ability for many users to access data simultaneously. Data in the database is a shared resource, and the RDBMS must provide access control to it.

  1. Ensuring physical data integrity.
The problem of ensuring the physical integrity of data is due to the possibility of data destruction as a result of failures and failures in operation computing system or as a result of user errors. Advanced RDBMSs allow you to recover lost data in most cases. Data recovery is most often based on periodic creation backup copies DB and maintaining a change log (transaction log).

  1. Access control.
For multi-user systems, the problem of protecting data from unauthorized access is relevant. Each user of this system, in accordance with his level (priority), has access either to the entire set of data, or only to part of it. Access control also involves granting rights to perform individual operations on relationships or other database objects.

  1. Setting up an RDBMS.
Configuring an RDBMS is usually performed by a database administrator, who is responsible for the functioning of the system as a whole. In particular, it may include the following operations:

  • connecting external applications to the database;

  • modification of the parameters of the organization of the data storage environment in order to increase the efficiency of the system;

  • changing the structure of stored data or its placement in the storage environment ( database reorganization) to improve system performance or reuse freed memory;

  • modification of the conceptual data schema ( database restructuring) when the subject area and/or user needs change.
The tasks of a database administrator (DBA) are quite important, so they should be discussed in a little more detail.
    1. Database Administration

The main tasks of database administration are to ensure reliable and efficient functioning of the database system, adequacy of the database content to the information needs of users, and display of the current software status in the database.

Database administration is the responsibility of the administrator (or administration staff if the database system is large). The administrator's tasks include performing several groups of functions:


  1. Administration of the subject area: support for the presentation of the database at the conceptual level of the DBMS architecture (common for all applications); adequate display in the database of changes occurring in the software. The last requirement may imply restructuring (changing the schema) of the database and subsequent bringing the contents of the database into accordance with new scheme.

  2. Database administration: supporting the presentation of the database in the storage environment, efficient and reliable operation of the database system. If a database reorganization is carried out at this level (in order to improve operational efficiency), then it consists of the following:

  • changes in the structure of stored data, for example, displaying rarely used data in a separate table;

  • changing the way data is placed in memory, for example:

  • splitting the table into parts to distribute it across various physical media in order to parallelize access to it;

  • building clusters;

  • changing the physical parameters of the storage environment, such as the size of a data block in memory space.

  • changes in the data access methods used, for example, building indexes or introducing hashing.

  1. Application administration: support of database views for various user groups using external DBMS level mechanisms. If you change the conceptual design of the database or the storage schema, you may need to make corresponding changes to your applications.

  2. Data security administration: granting users rights to access the database and setting up system protection against unauthorized access.
A DBMS usually includes auxiliary tools (various utilities) that simplify database administration.
    1. Data dictionary

Data dictionary(SSD) is software system, intended for centralized storage and use of descriptions of database objects (metadata). Sometimes called SSD data catalog. This system contains information:

  • about the owners of data objects, users of data resources and their access powers;

  • about the composition and structure of the database;

  • about integrity constraints;

  • about auxiliary objects and components of the information system.
The SDS ensures consistency of metadata, a single point of view on the database for all development personnel, administrators and users of the system. Metadata in a relational DBMS reference dictionary is usually organized as a set of tables and views.

DB dictionary serves to support the functioning of software components - the DBMS and application programs that work with the database. The dictionary contains information about the organization of the database, its composition and structure, a description of the data: presentation formats, structure, access methods, methods of storing data in memory, etc. The information in the dictionary is presented in a form convenient for software use.

Database directory contains information about the semantics of data, methods of identifying them, data sources, etc. The reference book is intended primarily for documenting the development of the database and providing reference services to its users. The information in the directory is presented in a form convenient for human perception.

The sets of dictionary and reference metadata overlap to a large extent. Moreover, they can be implemented together: in many RDBMSs, the dictionary consists of tables containing a description of database objects, and the reference book is implemented using views over the dictionary tables.