Relational databases take extra consideration when you are learning about how databases work. Relational databases let you work with information in much the same way you do with other things in your life,
organizing similar information into groups and then trying to eliminate duplicates of information wherever possible.
We will cover relational databases in this module.
At the end of this module, you should understand what it means to have a normalized database and what that means to the queries you create using SQL.
A relational database matches data by using common characteristics found within the data set.
The resulting groups of data are organized and are easier for humans to understand.
For example, a data set containing all the stock transactions for a person can be grouped by the date range in
which the transactions occurred, or it can be grouped by the price range of the transactions. Such a grouping uses the relational model (a technical term for this is schema).
Hence, such a database is called a "relational database." The software used to do this grouping is called a (RDBMS)
relational database management system and the term "relational database" often refers to this type of software.
Architecture of DBMS Packages
The architecture of DBMS packages has evolved from the early monolithic systems, where the whole DBMS software package was one tightly integrated system,
to the modern DBMS packages that are modular in design, with a client/server system architecture.
This evolution mirrors the trends in computing, where large centralized mainframe computers are being replaced by hundreds of distributed workstations and personal
computers connected via communications networks to various types of server machines like Web servers, database servers, file servers, and application servers.
In a basic client/server DBMS architecture, the system functionality is distributed between two types of modules.
A client module is typically designed so that it will run on a user workstation or personal computer.
Typically, application programs and user interfaces that access the database run in the client module.
Hence, the client module handles user interaction and provides the user-friendly interfaces such as forms- or menu-based GUIs (graphical user interfaces).
The other kind of module, called a server module, typically handles data storage, access, search, and other functions.
First, we must study more basic concepts that will give us a better understanding of modern database architectures.