Please choose code language:
4 Examples Of Database Application
This topic is assigned to JustAlex
hasanraza 2019 November 06 11:02

Of course, the Kohezion team thinks online database software is the best tool to create database applications. Non-technical folks who need to handle important data as if they were experts can easily use Kohezion. Our product pairs all the pros of the classic database products with the ease of use of an Excel spreadsheet to offer you a highly customizable yet approachable solution.

When it comes to databases, it’s easy to get lost in the many definitions. If words such as SQL, queries, tables and records make your head spin, I’m here to help you sort it all out. To be able to better understand what is Kohezion and how to create database applications, let’s first tour three other existing solutions: SQL-based database management systems, NoSQL/NewSQL database management systems, and Excel spreadsheets. I’ll first explain what is a database. I’ll then explore what are the main types of databases and database languages available, including the pros and cons for each of them, and examples of how it can be used. I’ll conclude this post explaining what is Kohezion and how it fits in the databases world.

What is a database?

At its simplest expression, a database is a gathering of information, here called data, stored on a server. The data is organized in a way it can easily be retrieved, managed and edited in significant ways by the end-user. The data could be something very simple such as personal information about clients or customers. It could also be inventory, sales, calls or anything anyone needs to track. It’s up to the user to determine what data needs to be aggregated and the format it will take.

When you’re using a database, the data is not stored on your computer’s hard drive but in the cloud on a server, somewhere. Using a database management system (DBMS), calls/queries are made to retrieve the information. This part is called the back-end. To present the data in a consequential way to the user, web developers create a web site and easy to use database applications. This part is called the front-end.

Even if there are many other database models such as hierarchical and network models, the relational database model is the most common. The relational database model was developed in the early 1970’s and it is still the most common model to this day. The data is stored in relations, taking the form of tables made of columns (fields) and rows (records/items). To access and interact with the data contained in a relational database, its user needs to use a relational database management system (RDBMS). The most common language used to query and manage relational databases is SQL (Structured Query Language).

SQL: The Classic

SQL is the language most IT experts use to interact with relational databases. These interactions are called transactions. To be efficient and accurate, transactions must be ACID (atomic, consistency, isolation, durability). Atomic means the transaction is all or nothing. Consistency refers to the fact that the database must remain in a consistent state before and after the transaction. Isolation means all transactions must be independent of one another. Durability refers to the fact that a transaction cannot be undone after the user has been notified of a successful transaction.

The best example I can find to explain SQL and its ACID properties is a banking system. Let’s say I want to transfer funds from my own account to my husband’s. There will be a series of calls or queries made to send the money from one account to the other. All calls must be answered and completed in order for the transaction to be completed. If a call fails, the transaction will not be completed and we’ll both keep our money (atomic). The information in each of our account won’t be affected by the transaction (consistency). Each call made to the database will only be related to our transaction (isolation). Finally, once the transaction is successful, we won’t be able to cancel it (durability).

The best-known RDBMS using SQL to create and query databases are IBM DB2, Oracle, Microsoft Access and MySQL. Examples of SQL-based databases citizens use every day include banking systems, computerized medical records, and online shopping to name just a few.

Pros of SQL

  • Well-known language, has been around for over 40 years.
  • Great storage solution (servers, not your hard drive!)
  • Allows query of the entire database
  • Allows relations between tables
  • The best solution for structured data and transactional needs
  • Can be accessed by many users at the same time

Cons of SQL

  • Need for deep expertise of programming skills: steep learning curve
  • Poorly designed database calls for poorly managed data
  • Some will say that SQL is not easily scaled-out
  • Not the best solution when dealing with data growing exponentially (ex. social media)

NoSQL/NewSQL: The Hipsters

NoSQL refers more to what it is not then to what it is. It refers to a language system not using SQL. It is mostly used for unstructured data in situations where the ability of the database to accept (create) or access (get) large amounts of data quickly is required. It offers great flexibility with alternative data models (ex.: non-relational data, unstructured documents). It doesn’t always bother with real-time accessibility to the data as you could be accessing an old version of the data since it was not yet updated. It is much less rigid than the transactional structure of SQL but it can get much messier! It definitely doesn’t respect the ACID properties of SQL. Best known NoSQL systems include MongoDB, Couchbase and Redis.

NewSQL could be referred to as the modern relational databases languages. These are based on the relational database model and the SQL query language but offers better consistency. Some of them offer solid ACID guarantees.

Social media platforms such as Facebook, Twitter or Instagram are the best examples of the use of NoSQL and NewSQL. These require the ability to process astonishing amounts of data very quickly but (mostly) don’t need the ACID properties.

Pros of NoSQL/NewSQL

  • Very fast (NoSQL)
  • Not requiring fixed table schemas (NoSQL)
  • Scales horizontally (NoSQL)
  • Stronger consistency (NewSQL)
  • Full transactional support possible (NewSQL)

Cons of NoSQL/NewSQL

  • Not transactional/ACID (NoSQL)
  • Can get messy (NoSQL)
  • Not offering as many development tools as SQL (NewSQL)

This was just a brief introduction to the newest languages. If you would like to learn more about NoSQL and NewSQL, click here or here.

Excel: Databases or spreadsheets?

Let’s get back to the relational databases. Based on the assumption relational databases take the form of tables made of columns and rows, is Excel a database? If you want a real entertaining discussion, drop this question to a bunch of programmers. I suggest you run in the other direction, as it may get real ugly!

Most of us will agree that even if Excel and its spreadsheets can be extremely useful, they’re not databases. If we look at it objectively, Excel creates spreadsheets. Spreadsheets are in fact tables made of columns and rows. It’s the table format that tends to confuse people into thinking that spreadsheets are relational databases. We already agreed on the fact that databases are used for data management. Spreadsheets don’t go as far and are mostly used for data storage and analysis, see free database software.

Pros of using Excel

  • Ease of use
  • Short learning curve
  • No programming skills needed
  • Perfect for numerical data
  • Perfect to manage small pools of data
  • Great for data analysis
  • Inexpensive solution

Cons of using Excel

  • Static
  • Only one user at a time can update data
  • Substantial spreadsheets will eventually become tougher to manage and lead to errors in the data
  • One action could break something somewhere without the users realizing it
  • Data stored on your computer (hard drive) versus databases (servers)

I hope this article helped you understand what are databases, database management systems, and languages. You are now better equipped to make an informed decision as to what tool would work best for your data management needs. Thanks

You must login to post messages. Click here to log in.