Database Management Systems
Definition: A Database Management System (DBMS) is a collection of software programs which enable large,
structured sets of data to be stored, modified, extracted and manipulated in different ways.
Features: Database Management Systems have often been characterized as “Attribute Management Systems”.
Attributes are pieces of information (with unique values) that describe an object (for e.g. size, color,
and shape) and combine many of the services necessary for advanced attribute management without the need
for a variety of different programs.
Database Management Systems employ the use of a query language and report
writers to interrogate the database and analyze its data. Queries allow users to search, sort, and analyze specific data by granting
users efficient access to the required information. For example, one would use a query command to make
the system retrieve data regarding all articles of clothing which come in the color blue. The most common
query language used to access database systems is the Structured Query Language (SQL).
The DBMS also provides security features that protect against unauthorized users trying to gain
access to confidential database information; and prevent data loss in case of a system crash.
Depending on the settings, users are allowed access to either all, or specific database subschemas,
through the use of passwords. For example, while a database may contain detailed customer
information,
certain users may only be allowed access to customer names and addresses, while others may be able to
view payment specifications. Access and change logs can be programmed to add even more security to a
database, recording the date, time and details of any user making any alteration to the database. Furthermore,
the DBMS is also responsible for the database’s integrity, ensuring that no two users are able to update
the same record at the same time, as well as preventing duplicate entries, such as two employees being
given the same employee number.
Database Models: Database information normally consists of subjects, such as customers, employees or
suppliers; as well as activities such as orders, payments or purchases. This information must be organized
into related record types through a process known as database design. The DBMS that is chosen must be able
to manage different relationships, which is where database models come in.
Hierarchical databases organize data under the premise of a basic parent/child relationship. Each parent
can have many children, but each child can only have one parent. In hierarchical databases, attributes
of specific records are listed under an entity type and entity types are connected to each other through
one-to-many relationships, also known as 1:N mapping. Originally, hierarchical relationships were most
commonly used in mainframe systems, but with the advent of increasingly complex relationship systems,
they have now become too restrictive and are thus rarely used in modern databases. If any of the
one-to-many relationships are compromised, for e.g. an employee having more than one manager,
the database structure switches from hierarchical to a network.
In the network model of a database it is possible for a record to have multiple parents, making the system
more flexible compared to the strict single-parent model of the hierarchical database. The model is made
to accommodate many to many relationships, which allows for a more realistic representation of the
relationships between entities. Even though the network database model enjoyed popularity for a short
while, it never really lifted of the ground in terms of staging a revolution. It is now rarely used because
of the availability of more competitive models that boast the higher flexibility demanded in today’s ever
advancing age.
Relational databases (RDBMS) are entirely unique when compared to the aforementioned models as the design
of the records is organized around a set of tables (with unique identifiers) to represent both the data and
their relationships. The fields to be used for matching are often indexed in order to speed up the process
and the data can be retrieved and manipulated in a number of ways without the need to reorganize the original
database tables. Working under the assumption that file systems (which often use the hierarchical or network
models) are not considered databases, the relational database model is the most commonly used system today.
While the concepts behind hierarchical and network database models are older than that of the relational model,
the latter was in fact the first one to be formally defined.
After the relational DBMS soared to popularity, the most recent development in DMBS technology came in the
form of the object-oriented database model, which offers more flexibility than the hierarchical, network and
relational models put together. Under this model, data exists in the form of objects, which include both the
data and the data’s behavior. Certain modern information systems contain such convoluted combinations of information
that traditional data models (including the RDBMS) remain too restrictive to adequately model this complex data.
The object-oriented model also exhibits better cohesion and coupling than prior models, resulting in a database
which is not only more flexible and more manageable but also the most able when it comes to modeling real-life
processes. However, due to the immaturity of this model, certain problems are bound to arise, some major ones
being the lack of an SQL equivalent as well as lack of standardization. Furthermore, the most common use of the
object oriented model is to have an object point to the child or parent OID (object I.D.) to be retrieved; leaving
many programmers with the impression that the object oriented model is simply a reincarnation of the network model
at best. That is, however, an attempt at the over-simplification of an innovative technology.
Database Management System Software: There are innumerable numbers of DBMS software available in the market. Some
of the most popular ones include Oracle, IBM’s DB2, Microsoft Access, Microsoft SQL Server, MySQL and FileMaker. MySQL,
one of the most popular database management systems used by online entrepreneurs is one example of an object-oriented DBMS.
Microsoft Access (another popular DBMS) on the other hand is not a fully object oriented system, even though it does
flaunt certain aspects of it.
|