Design and Implementation of a Web-based Tool for the Sketch-based Schema Definition for SQL and NoSQL Databases (Master Thesis, Finished)
Database management systems (DBMS) have proved their great roles to store and retrieve data. As the volumes of data have been tremendously growing over the past years, DBMSs have seen significant developments in the last decades to facilitate accessing the data even in Big Data stores. Database systems have evolved from hierarchical and network, relational, object-oriented, NoSQL and finally, to NewSQL data models. Regardless of the underlying DBMS used, the designing process of a database remained the same. The most crucial phase in the designing process is the conceptual design phase, where the database designers translate their understanding of the business case and requirements into a common language. Often some graphical notations such as Entity Relationship (ER) diagrams are used to allow database designers to be more flexible in the design, and for business users to be more comfortable in understanding the model. The next phase is the logical database design, where the conceptual design is converted into a logical database schema. We have found that many commercial tools can be used to draw the conceptual database design and a few of them even allow to convert from a conceptual design into a relational database schema. Although NoSQL databases are widely used for Big Data, none of the existing drawing tools supports the conversion from the conceptual model into a NoSQL data model, like graph stores, key-value stores, or document stores. The objective of this thesis is to develop and evaluate a web-based tool that can be used to hand-sketch the conceptual design and to transform it into a relational or NoSQL database schema. Currently, our tool supports ER diagrams and can convert these into relational data models, graph stores, and document stores. The tool also supports the validation of the ER diagram before proceeding to the database schema generation. Finally, the tool allows connecting to databases to create the schema on a local server. We have evaluated our system in a user study. The evaluation showed overall satisfaction with the generated schemas.
Start / End Dates
2017/12/05 - 2018/12/18