
DBMS for Business Systems Evgeniy Grigoriev RxO project LTD (www.RxO-project.com), Moscow, Russian Federation Keywords: Relational DBMS, Object-oriented Paradigm, Informational Business System, Business Modelling, Heterogeneous Data Schema, Persistent Object, Encapsulation, Group Operation, Nested Structures, Algorithm Transformation. Abstract: Many problems of traditional business systems (SAP, Microsoft Dynamics, etc.) are largely caused by their architecture where a tier that implements the business model and data processing (application server or thick client) is separated from the DBMS where the data is stored. A new approach to extend the relational DBMS with a means for creating expressive heterogeneous business models according to principles well- known to users of existing business systems is discussed. With it the business system architecture can be simplified fundamentally because of transferring all data modelling and processing directly to the place of their storage. Principles of a creation and a use of complex business models and data access in these models are discussed. Some questions related to system performance are reviewed. 1 INTRODUCTION . Like any multi-tier system, they are very complex and hard to create, modify, and With the advent of the first relational DBMS, it maintain. became clear that "that they are inadequate for a . The need to process the data outside of the broader class of applications" that business data DBMS leads to catastrophic performance processing applications (Stonebraker et al., 1990). degradation because of non-optimal (and Moreover when we say about necessity to build and hardly optimized) data exchange between the use expressive complex business models, the tiers. relational DBMSs are not good enough even for the . There are obvious difficulties of integration business application (Fowler et al., 2003). This with third-part programs (e.g. Excel) using problem was tried to be solved in two ways. standard means of access to data in a DBMS DBMS experts solved it by changing capabilities (e.g. ODBC). The DB schema generated by an of the DBMS; in fact, they suggested changes of outer tier is usually incomprehensible to the DBMS technology or even of base DBMS logic, up business users or/and inaccessible because of to a full refusal of relational systems (Atkinson et security reasons. On other hand, the business al., 1990). In the context of this article we will model existing on the outer tier is inaccessible consider only those proposals that involve the because this tier usually does not support the evolutionary development of a relational DBMS standard data access protocols and interfaces. (e.g. SQL99, Oracle, PostgreSQL). We will denote Both groups showed a rare unanimity, this group as solutions "inside DBMS". considering the object-oriented approach as a kind of Application programmers, who answer practical panacea to meet requirements of business modelling. challenges, developed business applications on the However, there is a fundamental logical difference basis of traditional principles and technologies of of how they have implemented this approach with using a relational DBMS. Well-known and respect to modified/used RDBMS. successful business systems like SAP, MS Analysis of the solutions "inside the DBMS" Dynamics, etc. are examples of such solutions. We shows that all they, one way or another, implement will denote this group as solutions "outside DBMS". the two principles (many DBMS implement both of Let's note that the way of solutions "outside DBMS" these two principles simultaneously). in itself causes significant problems which are . An object corresponds to a row of the inherent in modern business systems. database table ("object = string"). For Grigoriev E.. 103 DBMS for Business Systems. DOI: 10.5220/0005554301030108 In Proceedings of the 10th International Conference on Software Paradigm Trends (ICSOFT-PT-2015), pages 103-108 ISBN: 978-989-758-115-1 Copyright c 2015 SCITEPRESS (Science and Technology Publications, Lda.) ICSOFT-PT2015-10thInternationalConferenceonSoftwareParadigmTrends example, in object-relational DBMS (i.e. database". Based on the properties of the classical Oracle since v.8, PostgreSQL) instances of the relational data model (Codd, 1970), it is shown by us object types are stored in a typed table, where that all descriptions of such objects and operations each instance corresponds to a single line. on them can be translated into descriptions of . Object corresponds to a single field in the row relational structures and operations on the last ones of the database table ("object = field"). This (Grigoriev, 2013b). principle has been expressed logically in As a result, it's not necessary to "assemble" such hypothetical "D language"(Date and objects from the rows of different tables outside the Darwen,2000). It has got also many DBMS to work with them. Instead, it's possible to technological implementations, when object translate all commands on these objects in actions on data are stored in BLOB, JSON, etc. field. the tables (system hides these tables from the user). Solutions "outside of DBMS", i.e. the traditional The user, who uses these commands, keeps a full business system, successfully implement other third illusion that he works with complex objects which principle: the business object corresponds to a set of are formed with the principle that is native for rows from different tables of a relational database. business systems. Thus we offer a sophisticated way For example, the business object "an invoice" to manage traditional relational data, which typically corresponds to one row from a table implements well-known object-oriented principles "headers" and few rows from a table "items". This (Booch, 1991). principle is evident and clear for users; it has been being used in successful business systems to build a vast majority of objects for decades. We can assume 3 COMPLEX HETEROGENEOUS that it closely matches the needs of the business and DATA SCHEMA that it should be primarily implemented in the DBMS which are adequate for modern business RxO DBMS maintains all usual abilities for working systems. However, attempts to create such DBMS is with traditional tables created by the user explicitly. still absent. Moreover, it seems that this possibility Because of this, in RxO database both relational is not even considered theoretically (Date and tables and complex unique objects of different Darwen, 2000, 2013). classes can coexist simultaneously (Fig.1); the tables We denote this principle with a logical equation and the classes can be connected by foreign keys. "object = relational database". In this equation we assume that any subset of tuples of relations can be considered as a relation. The object corresponds to the "multiple rows of different tables", i.e. to the set of such relations. In turn, the phrase "a set of relations" is a key element of the formal definition of the relational database. Further, we will consider our approach on how this principle can be implemented in a relational DBMS. The result is a DBMS, which we will call RxO DBMS. Some of the offered ideas were implemented by us in the prototype "RxO system" (Grigoriev,2013a); its input commands we will use Figure 1: RxO database consists of both tables T and for demonstration. object o of classes C. The possibility to create such heterogeneous data 2 OBJECT-ORIENTED schemes corresponds well to realities of traditional business systems, where the business objects are MANAGEMENT SYSTEM FOR combined with tables used, for example, for RELATIONAL DATA accounting journals, logs, etc. It also demonstrates that RxO DBMS is an RxO DBMS implements a new approach to the evolutionary extension of existing relational DBMS. connection object-oriented and relational ways of Thereby full continuity of existing customer managing of data if form of complex objects databases and solutions is ensured. corresponding to the principle of "object = relational 104 DBMSforBusinessSystems ALTER CLASS GOODS 4 CLASSES IMPLEMENT Turnover AS BEGIN Classes of RxO DBMS are an all-sufficient concept RETURN SELECT for both data modelling and data persistence. This is Buyer, SUM(Items.Qty) the fundamental difference from object-relational FROM SHIPMENTS DBMS (e.g. Oracle), where typed tables must be WHERE Items.Art = this evidently used to make instances of user-defined GROUP BY Buyer type (UDT) persistent. END; A set of commands extending the traditional Both stored and calculated attributes can exist in SQL is implemented to describe classes and manage the class simultaneously. user objects in the prototype "RxO system". Let's The method implementation expressions look review these commands. similar to user-defined functions. The class interface is separated from its ALTER CLASS SHIPMENTS implementation. The state of any object is described IMPLEMENT PostIt(inDate DATETIME) AS as a set of values that are native for relational BEGIN ... END; database, namely, scalar values and relation values. The ALTER CLASS ... IMPLEMENT ... Accordingly, the interface of objects is described as command allows us to change the implementations set of both scalar and table-valued attributes which of the class interface elements freely in non-empty represent the state of the object, and methods used to classes without rebuilding the system. Multiple class change this state. Relational integrity constraints inheritance is possible. The class implementation (keys and foreign keys) can be specified in classes, may be
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages6 Page
-
File Size-