Imagine walking into a library where nothing is organized, labeled or classified properly. How would you find this book you’ve been wanting to read? It would make for a tedious and time-intensive task.
Librarians have become experts at managing their physical assets (books, magazines, films, artifacts). They have done so by developing a management system based on the premise of labeling each item in a certain format: section, row, unique identifiers, and usually alphabetical order.
This makes it easy for anybody looking to find any particular item. It is at its core a system and language easy for humans to follow and understand.
A database is an organized collection of data, generally stored and accessed electronically from a computer system.
Organized collection, generally stored – this sounds familiar? It should because, in essence, a database is exactly that – a library of information.
The difference between a database and a physical library is although the information stored is in human language, how it gets accessed is done via computer-specific languages.
A database is created and access with computer languages. There are different types of databases to choose from. The type used depends heavily on the information needed to be stored and the robustness of the application.
In its most simplistic form, a database is made of tables, rows, and columns.
To be able to find the data, it requires to have unique identifiers, links, indexes and more.
Databases are represented in the relational diagram - providing a view of how tables interact with each other and what are the links between them.
Outputs of a database can be viewed in a spreadsheet styles.
How it is managed, structured and deployed has to be planned out. The information has to flow in a way that if one component is modified it will not break the entire system. This is why database administrators have an important role in the development of an application. Just like a librarian is to maintain track of its artifacts.
Defining the data points
Requirements have to be defined and clearly stated in order to effectively define which piece of data is to be stored. The relationship between all these data points and how they interact has to be understood.
An ill-conceived database will lead to business-critical problems and will create unnecessary and costly managerial problems.
When working with clients it is important not to overlook the importance of a well-conceived and formatted schema. Although this is transparent to most clients, it can make or break an application.
An iterative and agile approach is most recommended when working in this domain as databases are ever-changing.