Antipatterns in Database Design
Authors: Shcherbakov S. M. , Kalugyan K. K. , Abramova A. V. , Grechkina V. Y. 
Published: January 2025

The purpose of the study is to adapt the antipattern method to improve the effectiveness of teaching students in the fields of “Applied Informatics”, “Information Systems and Technologies”, “Software Engineering” to the principles and techniques of relational database design within the framework of relevant disciplines and practices. Training in database design is an important component of the formation of a specialist software developer. The totality of decisions taken in the design process should be based on generally accepted rules, principles and recommendations, as well as on the existing experience in creating and operating information systems, which is difficult to reproduce in the conditions of the university audience.

Materials and methods. An approach focused on the concept of antipatterns – unsuccessful common design solutions will allow increasing the effectiveness of students’ training in database design. The antipattern concept has become widespread following the wide spread use of the concept of a pattern, that is, a common standard solution inscribed in the context of the problem being solved. Both the concept of a pattern and the concept of an antipattern were initially focused on object-oriented software, but later gained recognition in all areas of information technology. The paper proposes a scheme for describing the antipattern, includ ing the name, a brief description, possible causes of occurrence, a list of disadvantages of application in the construction of relational databases, a conceptual model in the form of an ER-diagram (entity-relationship diagram), an example of the appropriate database structure, ways to avoid antipatterns, as well as possible exceptions when using just such a design decision when creating a database may be justified.

Research results. Based on educational, scientific and technical literature and periodicals, as well as on the basis of an analysis of the existing practice of designing information systems, a catalog of common antipatterns for designing relational databases has been compiled and described. Examples of antipatterns: “Jumble of names”, “Duplicate tables”, “False abstraction”, “Non-atomic attributes”, “Duplicate columns”, “Changing data in due course (temporaryfields)”, “Parallel connections”, ““Divine” table”, “Speculative metadata modification”, etc. At the same time, some of the patterns made it possible to illustrate the general principles of relational database design, for example, such as “No sophisticated programming is capable of correcting fatal architectural flaws”. It is shown that the existing unsuccessful solutions are often due to certain prerequisites, for example, the need to perform a hotfix that is, a “temporary” solution, or a premature attempt to improve system performance, or the desire to get some report with one request, avoiding unnecessary connections, etc. In addition to the technical aspects, the relevance of a correct and uniform naming system is shown, the absence of which makes it difficult to maintain and develop the system and leads to unnecessary costs. The proposed approach was tested when teaching students the disciplines “Databases”, “Database design”, “Architecture of information systems”. The students who completed the training improved their understanding of the principles and practices of database structure design. Conclusion. The use of the proposed catalog of antipatterns in the educational process of the university makes it possible to accelerate the training of young specialists in the techniques of designing the structure of relational databases, avoid common mistakes when creating information systems, and improve the overall design culture.