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 database 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).
Fast and easy, you create your own applications
To create your own database applications, you don’t need programming skills. If you can efficiently use the Internet and a tool like Word or Excel, you have more then enough skills to create your own apps. As an added bonus, it only takes 30 to 60 minutes to create an app. If you need two to three applications to manage your data, you can have it all set up before lunch.
If you are migrating your data from spreadsheets to the cloud, you can even create your application by importing your data into your account. Each column of your spreadsheet becomes a field in your application. All you need to do is a little tweaking here and there to make it look good and you are done.
Don’t worry if you don’t have preexisting data, it is as easy to create an application from scratch. Don’t worry about fitting your needs into a fixed template. With online database software, you can create exactly what you need.
Grids or calendars, you choose how you want to see your data
Some applications like clients or prospects are better served by being displayed in a grid when you run a search. From a grid, you can sort the data alphabetically from any existing field like the last name of your contact or his business name.
On the other hand, applications like tasks or any other application based on a date or date/time field will benefit from being displayed in a calendar. This allows you to quickly see an overview of what is to come in the current day, week or month.
If you like to have an even more convenient way to see your data in a calendar, use the multi-project custom calendar feature to create calendars where you add multiple searches. For example, you could then see all your current tasks, meetings, planned calls and contract renewal dates in the same convenient calendar.
Slice and dice your data, you create your own custom searches
Once your applications and projects are created, you will start to input data into your account. You will soon discover that you often want to see specific subsets of data at a time. For example, you may want to see all the tasks assigned to a specific user or all the meetings planned for the next seven days. To do so, create custom searches.
Searches can be created at different levels throughout your account. Create searches at the application level to see them in all the projects derived from this specific application. Create searches at the project level when the information you need to access is only found in that specific project. Each user can even create its own searches on his or her dashboard. With the custom searches feature, you make sure you can access your data efficiently.
Role-based permission, you manage your users and their permissions
When you input all your data into one account, you may worry about security and accessibility to the data inside your team. We understand that all users are not created equal. This is why all accounts include the role-based security feature. First thing first, create all the users you need. If you have a lot of users, you may even want to create user groups to facilitate the assignation of permissions.
Once your users and user groups are created, you can then assign some permissions to each of them. The permissions you can assign cover a lot of different scenarios. At the account level, you can make a user project, report, security, template and/or timesheet administrator. You decide according to your own needs. Then, at the project level, you can allow each user to create, delete, edit and/or view items as long as make them invisible user or project administrator for this project only.
Whenever you need to make changes to your users, user groups or their permissions, you can edit all of the above in just a few clicks, within seconds, without having to call a technician. You are the master of your own account.
1 – 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)
2 – 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)
3 – 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.
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
- 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)
4 – Where does Kohezion fit in this picture?
Kohezion is an online database software. It pairs all the pros of the classic databases with the ease of use of an Excel spreadsheet to allow you to design database applications. It offers a highly customizable yet easy to use solution. Kohezion’s backend uses the SQL language and allows ACID transactions but doesn’t require its users to use or understand SQL. It is what is called an end-user database as the users are allowed to create their own applications without programming. They can then input data, slice and dice it with the advanced search features, create powerful reports or even link applications together in a one-to-many relationship. It is a very powerful tool to manage data without spending much and without relying on programmers.
Pros of Kohezion
- No programming skills needed
- Easy to learn
- DIY database applications
- Highly scalable
- Transactional, respects the ACID properties
- Can be used by many users at a time
- Offers many features for accessing data (reports, calendars, dashboards, etc.)
- Data stored in the cloud
Cons of Kohezion
- No programming language can be used
- Online only
- End-user database, cannot be used for classic development
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. If you would like to learn more about Kohezion and how you can create your own database applications, book a free 30 minutes meeting with a member of our team. We would love to count you as a satisfied Kohezion user.