Thursday, May 09, 2024

Data as a Driver of Success, An Introduction to Databases

Databases are organized collections of data that are designed to be easily accessed, managed, and updated. They are the foundation for many applications and systems that require efficient data storage and manipulation. Today, it is difficult to imagine any serious program, system or website without the use of a database. Despite the fact that in large corporations you have positions that only deal with databases and take care of administration, data, backup and access restrictions, you as a programmer, regardless of which programming language you learn, must also know how to work with databases.

Before databases were developed, information was usually stored on paper or other analog-mechanical media. This included paper records, books, folders, filing cabinets and the like. However, this way of storing data had several disadvantages. Physical storage of data on paper or other media limited the amount of data that could be kept in one place. Also, managing large amounts of paper or other materials required a lot of space and was expensive. Access to the data was usually limited by the physical locations where the paper records were kept. This made it difficult to share information and collaborate between people or organizations. Finding specific information among paper documents or other media could be difficult and time-consuming.

As technology advanced, systems for automating data processing were also developed, such as manual card systems, which allowed for better organization and search of data, but were still limited in terms of capacity and efficiency. Text and binary files were one way to store data before databases were developed. These files were often used to store structured or unstructured data, but were limited in their capabilities compared to modern databases. In rare and specific situations, these files are still used today instead of databases.

Data Center

Data Center

Binary formats are often used to store data that requires more efficient storage and faster access. These formats may contain a data structure that is optimized for fast processing, but are usually less human-readable than text formats. Binary formats can be more efficient in terms of disk space and access speed, but are often more difficult to process and maintain. Although text and binary files were widely used for data storage, especially in the early days of computing, they had several disadvantages compared to databases, including limited searchability, difficulty in maintaining data structure, and less efficiency in accessing data in large data sets.

Databases have evolved to address these shortcomings and become the basis for effective data management in modern information systems. They were created in response to the need for efficient storage and management of data in computer systems. Their development dates back to the 1960s, when the first concepts of databases began to appear. One of the earlier database models is the hierarchical model, which was popular in the 1960s, but was later replaced by the relational model introduced by Edgar F. Codd in the 1970s. The relational model became the foundation of modern databases and enabled the development of DBMS - Database Management Systems such as Oracle, MySQL, Microsoft SQL Server and PostgreSQL. Since then, databases have become a key part of information systems in all spheres, from business to science.

Key Components Overview: What Makes Up a Database?

The key elements of the database are the basic parts that make up the structure and functionality of the database. Here are a few key components:

  • Database Schema: A schema is the basic design of a database that describes how data is organized and how it relates to each other.
  • Constraints and rules: Databases use constraints to determine what types of tables can or cannot be stored and what types of data can exist in the columns or rows of the table.
  • Metadata: Metadata is actually data about data. They provide information about the data, such as the type of data, when it was created, who created it, and other details.
  • Tables: Tables are basic structures in a database that organize data into rows and columns. Each row represents one record, while the columns determine the types of data that are stored.
  • Fields: Fields are individual elements within tables that contain specific data, such as text, numbers, or dates. Each column in the table represents a field.
  • Keys: Keys are unique identifiers that enable unique identification of records within tables. A primary key usually serves as a unique identifier, while foreign keys are used to establish relationships between different tables.
  • Queries: Queries are commands used to perform operations on database data, such as reading, adding, deleting, or updating records.
  • Indexes: Indexes are data structures that speed up data searches by allowing quick access to specific data within tables. Indexes are typically used for frequently searched columns.
  • Views: Views are virtual tables that consist of data from other tables or views. They allow users to access data at a higher level of abstraction, without the need for direct access to the original tables.

These components together enable efficient storage, management, updating, and analysis of data within a database. Depending on the type of database: hierarchical, relational or non-relational, these components may vary, but generally, these are the basic elements that make up a database.

Popular Databases Today: Overview and Usage

If your first operating system in the world of computers was Windows, there is a high probability that you were also familiar with the Microsoft Office suite, and that you may have been introduced to the Microsoft Access application through it. Microsoft Access is a database management system that combines the relational ACE - Access Database Engine with a graphical user interface and software development tools. 

It is a member of the Microsoft Office suite of applications, included in the Professional and higher versions of the suite, and can be purchased separately. Microsoft Access stores data in its own format, based on the Access Database Engine formerly known as the Jet Database Engine. It can also import or directly connect data to other applications and databases. Developers, data architects, and power users can use Microsoft Access to develop application software. 

Like other Microsoft Office applications, Microsoft Access supports VBA - Visual Basic for Applications, an object-oriented programming language that can reference various objects, including legacy DAO - Data Access Objects, ActiveX Data Objects, and many other ActiveX components. Visual objects used in forms and reports expose their methods and properties to the VBA programming environment, while VBA modules can declare and call Windows operating system operations. Watch in the video how Microsoft Office LTSC Professional Plus 2021 is installed, which also includes Microsoft Access in its package.

Windows - 29. How to install Microsoft Office LTSC Professional Plus 2021?

However, we recommend that you use one of the editions of the Microsoft SQL Server database. There have been various versions and editions of Microsoft SQL Server for more than a decade, older versions are often used and they are constantly changing such as:
  • SQL Server Express Edition
  • SQL Server Workgroup Edition
  • SQL Server Developer Edition
  • SQL Server Standard Edition
  • SQL Server Enterprise Edition
  • SQL Server Mobile Edition
Of course, most editions differ in terms of technical tools, limitations, and capabilities; as well as by years of publication. For example, even versions like Microsoft SQL Server 2005 Express Edition and Microsoft SQL Server 2016 Express Edition are also different although these differences are often not visible. Microsoft SQL Server 2022 Express is an excellent choice primarily for beginners and because it is free, while for other editions you need licenses. That's why our choice for the first steps in the world of databases is definitely Microsoft SQL Server 2022 Express.

The good news is that Microsoft SQL Server 2022 Express offers a data storage limit of 10 GB in addition to 1 GB of RAM, one processor. In earlier versions, the limit was 4 GB. Now it comes with Advanced Services and you won't have complications with making diagrams. As for the minimum requirements, Microsoft SQL Server 2022 Express can be installed on 518 MB of RAM and only 4 GB of hard disk. But don't do that, always allocate more memory. The good news is that you can use this edition for business purposes for free.

Windows - 19. How to install Microsoft SQL Server 2022 Express Edition

But what if you want to use another edition that is not limited like Microsoft SQL Server 2022 Express; but you don't want to pay for the license; then you should consider the following alternatives. Microsoft SQL Server Developer Edition is a study-only edition and is not intended for production. If you want to use the edition only for education, then you can use this more complex edition. If you are wondering if you can install Microsoft SQL Server editions on a Linux operating system? Theoretically yes, but in practice it can depend on many things. Watch the video how to install Microsoft SQL Server Developer Edition on Windows Professional 10.

Windows - 20. How to install Microsoft SQL Server 2022 Developer Edition?

For users of the Linux operating system, we recommend using other alternatives that are more suitable for Linux users of different distributions. The most popular database management systems are definitely MySQL and MariaDB, especially if you intend to use databases for your websites. These systems are free. Think of XAMPP as a priority. But what is XAMPPXAMPP is an acronym that stands for Cross-Platform, Apache, MySQL, PHP and Perl. It is a free and open-source web server package developed by Apache Friends. The main components of XAMPP include:

  • Apache HTTP Server: Cross-platform HTTP web server used to transfer web content around the world.
  • MariaDB Database: XAMPP used to use MySQL DBMS, but it has now been replaced by MariaDB. MariaDB is one of the most widely used relational database management systems.
  • Interpreters for PHP and Perl: XAMPP allows the execution of scripts written in PHP and Perl programming languages. 

XAMPP is popular among developers because it allows writing and testing code on a local web server. Also, due to the similarity with the components used on real web servers, it is easy to move from a local test server to a live server. In addition, XAMPP is quickly and easily installed on the operating system, and popular applications such as WordPress and Joomla can also be easily installed and put into practice immediately. XAMPP is a great tool for developing and testing web applications on your local computer before publishing them to a remote web server.

Windows - 2. How to Install XAMPP ?

Linux - 3. How to install XAMPP ?

Your excellent choice for a database management system can also be the increasingly popular PostgreSQL. It is a powerful, open-source object-relational database management system. It uses and extends the SQL language, combined with many features that securely store and scale the most complex data workloads. PostgreSQL is known for its strong architecture, reliability, data integrity, rich feature set, extensibility, and commitment to the open-source community that consistently delivers performant and innovative solutions. PostgreSQL is compatible with all major operating systems and has been ACID-compliant since 2001. It also has powerful plugins such as the popular PostGIS geospatial database extender. PostgreSQL has become the open-source relational database of choice for many people and organizations.

Windows - 21. How to install PostgreSQL ?

Linux - 17. How to install PostgreSQL ?

Finally, we would like to mention that there are many other database management systems on the market, apart from the ones we listed previously. Many programmers have experience working on different types of database management systems, and knowledge of the SQL programming language is often a prerequisite in their practice.



No comments:

Post a Comment