What is an Application? What does it do? How does an application work? Let us look at some of these basic questions:
Basically, an application is a tool that collects, process and shares data. It is like a human body and without a life element, the body will not work. Data is the life element for any application, and without data, the application is dead.
It is therefore very important to deal with data carefully. Let us look at how data is collected and persisted & managed:
To manage data efficiently, we use a database or a data store. Data is commonly stored in terms of relations. The relational model is similar to our mind, where data is retrieved with the help of relations.
In Relational database management systems (RDBMS), data is stored on two dimensional tables with rows and columns. The canonical way of interacting with RDBMS is by using queries i.e. Structured Query Language (SQL). The data values are in the form of numeric, string, dates, uninterrupted blobs or different types. Due to their relational nature, tables can be joined and transformed into new and more complex tables. And that power comes from Relational Set Theory. This makes RDBMS as strong tool to deal with complex data.
The Relational Database solves a surprising number of problems. Despite the growing interest in newer data bases, relational database remains the most popular one.
Relational Databases provide a vast array of tool kits, such as triggers, stored procedures, advanced indexes etc. They also provide data safety through ACID compliance. Unlike some other data stores we needn’t know to plan how to use data. As long as relational schema is normalized, queries are flexible.
Relational Database is based on relational algebra, which is a branch of set theory and help us to drive data in terms of projections, selections and many more. Relational queries are more declarative and derive from a branch of mathematics – tuple relational calculus. RDBMS optimizes queries by performing conversions and simplifying the algebra.
The significant advantages of an RDBMS are data sharing, reducing redundancy, decreased inconsistency, transactional support, integrity and enforced security. Conflicting requirements can be balanced and standards can enforced, ensuring us clean data.
There are 3 levels of clean data Database Architecture:
- Internal level: Also known as storage level, it is the one concerned with the way the data is stored inside the system.
- External level: Also known as the user logical level, it is the one concerned with the way the data is seen by individual users.
- Conceptual level: Also known as the community logical level or just the logical level, a level of indirection between the other two.
Once we start collecting data it is very important to keep it clean and to maintain data integrity, as over long periods of time, clean and well maintained data becomes a gold mine.