Most nowadays technology and technology products rely on databases and database management systems (DBMSs) for data analysis, innovative developments and product commercialization.
Building web pages dynamically from databases is becoming an established standard in the software industry to find information on specific subjects such as words, phrases or images.
Databases are progressively indispensable for many individuals, small organizations and large-scale businesses for their day-to-day operations, predictions of development and general data management.
So, what is a database?
Wikipedia defines a database as “a structured collection of data [...] typically organized to model relevant aspects of reality, in a way that supports processes requiring this information”.
In general, databases are made up of records. Each record represents one article, image, video and so on, and contains standardized fields for information such as a subject field, keyword field, author field,etc. Finally, fields are made up of words.
Together with a database management system (DBMS), such as MySQL, Microsoft SQL, Microsoft Access, IBM, Oracle, FoxPro or SQLite, a database forms a database system which allows managing information to some level of availability, accuracy usability, resilience and other quality parameters.
There are several types of databases which all have their value for different question which will be focused on in this blog series. Common data base types include:
- Flat-file databases
- Relational databases
- Hierachical vs. Network databases
- NoSQL databases
In most cases, databases support many different types of relations and, if properly designed and set-up, may dramatically increase the speed of data retrieval and data maintain.
Importantly, databases are usually not portable across the different available DBMS. However, most DBMSs support that a single application can be built over more than just one single database by using standardized programming languages such as SQL and ODBC.
In addition, DBMSs need to be set-up to accommodate sufficient run-time execution to fitly support end-user friendly functionality of applications in terms of performance, availability and security set-up.
When developing and choosing a database application, there are many aspects to consider such as:
- Expected amount of users and number of transactions
- Risk of losing data
- Performance requirements for local or web applications
- Licensing terms of the database software
- Available budget
A brief introduction into different databases and their main uses will be given in future blog articles of this blog series.