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.
A database system is built for applications. Technical people program the applications. End-users are the ultimate recipients of whatever you are providing as the database designer or modeler.
Basic Database Elements
Relational database systems were originally developed because of familiarity and simplicity.
Because tables are used to communicate ideas in many fields, the terminology of tables, rows, and columns is not intimidating to most users. During the early years of relational databases (1970s),
the simplicity and familiarity of relational databases had strong appeal especially in comparison with procedural orientation of other data models that existed at the
time. Despite the familiarity and simplicity of relational databases, there exists a strong mathematical basis as the foundation of relational databases. The mathematics of relational databases involves conceptualizing
tables as sets. The combination of familiarity and simplicity with a mathematical foundation is so powerful that relational database management systems are commercially dominant.
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.