Summary: | Corporate data plays a very important role in the business processing nowadays. It is not only used as the mediate that records the personal information for the business organization, but also keeps tracks of the valuable data about its customers and transaction history. Any wise company has to make sure that its business data is safely and correctly stored. There are many strategies used to guarantee the data security and correctness. Referential integrity (RI) verifications as a one way is widely adopted in the database system to make sure the data is correct and consistent. RI is a property of data, which is usually implemented as constraint within a relational database management system (RDBMS). It is used to establish relationships for two referenced tables in RDBMS, such that a column of a table in a declared relationship could only contain the values from the relative column of another table. The goal of RI constraint is to enable RDBMS to have a reliable mechanism which can ensure the database integrity and data consistency when doing a insert, update or delete into a database and none of incorrect manipulation is accepted. Most mature and successful commercial database products such as Oracle and Microsoft SQL Server support the definition of RI constraints internally; On the other hand, the one which does not support to enforce RI rules can be only called a database management system (DBMS) such as Mnesia. Mnesia is an Erlang implemented distributed DBMS and especially designed for telecommunication applications which require fast real-time and non-stop services. However in the domain of telecommunication applications, RI constraints were not critical features for the database system so Mnesia left them to the programmers. In this case, RI constraints have to be implemented outside Mnesia. Klarna AB is a financial company who supplies easy payment solution for online customers. Kred system is an Erlang implemented product which is running by Klarna AB for dealing with their daily business transactions. In this Kred system, Mnesia is used as the DBMS and the RI constraints are implemented into the application layer of the system. It is a stable system however the RI constraints implementation strategy is not efficient. Hence in the following thesis, a research is investigated to find out a new solution for this problem. In this new solution, the RI constraints implementation will be separated from the database layer. A new layer rdbms with RI enforcement will be established and inserted into the middle of the application layer and the DBMS layer. The reason for calling the new layer rdbms is that a new software called rdbms will be used to implement this new layer. Software rdbms is an Erlang implemented module which could assist Mnesia to do data type and RI constraints verifications. Hence the thesis will introduce the procedure of integrating rdbms into Kred system, programming on rdbms in order to implement RI constraints for Kred system. Later, an evaluation will be carried out to see if software rdbms is mature and efficient enough to be integrated into the live system.
|