Relational databases (RDBMS) are systems for storing data that organize information in tables with defined relationships between them.
Data organized into tables and databases do not simply represent digital information; they are the basis for transactions and interactions between different systems.
Here are a few of the most common relational database management systems (RDBMS):
- MySQL, part of the well-known LAMP stack (Linux, Apache, MySQL, PHP/Perl/Python), is preferred in the web application world for its simplicity and efficiency.
- PostgreSQL stands out for its powerful object-relational capabilities, offering advanced features and reliability for complex systems.
- Microsoft SQL Server, a commercial product from Microsoft, is widely appreciated in the enterprise environment for its extensive range of tools and security.
- Oracle Database, used in large enterprises, is a symbol of power and reliability for mission-critical applications.
- IBM DB2, also aimed at large corporations, offers high performance and reliability.
- SQLite is a lightweight option ideal for mobile applications and other situations where minimal database customization is required. It is often used in backend CAD (BIM) programs
Most database management systems in the construction business - MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database, IBM DB2 and SQLite - work with structured data. All of these DBMSs provide powerful and flexible solutions for managing a wide range of business processes and applications, from small Web sites to large-scale enterprise systems. With their help, organisations can efficiently store, process and analyze data to form the basis for decision-making.
The standard query language used to manage and manipulate data in relational databases is SQL (Structured Query Language). The evolution of SEQUEL-SQL systems goes through significant products and companies such as Oracle, IBM DB2, Microsoft SQL Server, SAP, PostgreSQL and MySQL and culminates in the emergence of SQLite and MariaDB in the last two decades.
SQL is a special language as a key to access all necessary information and its convenient processing, which helps to store, find, and analyze information in relational databases.
The main advantage of the SQL language, often used in relational databases, over other types of information management in supporting very large database sizes with high query processing speed.
Creating a database starts with understanding what data you need and how it will interact. We will discuss how to gather requirements and how to identify key entities and the relationships between them in the “Data Quality Requirements and Assurance” section.
In this chapter, we will move on to the technical side of things and show how you can create a simple but functional database with a minimal amount of code using SQLite in the Python programming language as an example. Relational databases were discussed in detail in the chapter " Structured relational databases and SQL query language".
SQLite is a lightweight, embeddable, cross-platform database that supports core SQL functionality. It is open source as its C source code is available without restrictions. SQLite is widely used in CAD (BIM), ERP, EPM systems and is present in almost every smartphone.
Let's ask ChatGPT to create a small SQLlite database for us based on Figure 2.5-3 for FEM (Structural Impact) and CPM (Installation Schedule) system.
❏ Text request to ChatGPT:
Write a SQLlite database creation for the "Structural Impact" and "Installation Schedule" systems from the picture in the attachment. ⏎
➤ ChatGPT Answer:
This code can be executed in any Python environment with SQLite support, which is typically included in standard Python installations. It may be run on a local machine with Python or through an online Python interpreter capable of running scripts and creating files.
Once run and executed, this code will create SQLite database named construction.db, which will include the tables "Structural Impact" and "Installation Schedule". Once created, data can be inserted into these tables, allowing for operations such as data entry, querying, and updates to commence. Data can be imported into the SQLite database from CSV files, Excel spreadsheets, APIs, web scraping, or exported from other databases.
Populating a database with data is not just an uncontrolled process of filling tables, but a process that must first and foremost depend on successfully passing quality checks. Only after the quality of the input data is confirmed can the input information be used correctly in business processes.