E.F. Codd (1970). Evolution of Current Generation Database Technologies. Communications of the ACM archive. Vol 13. Issue 6(June 1970
The database technology system can be traced back to a flat file, whose function was to keep data. These flat files surfaced in the 1960s and had many disadvantages. During the period 1968 to 1980, referred to as the Hierarchical error since the Hierarchical Database was developed, the IBM joined NAA to come up with GUAM, the first DBMS called the Information Management System (IMS). The following are the step by step evolution of the three major database systems since then, with regard to the specific model layers:
(a)Hierarchical Model: Here, this IMS was built by IBM in collaboration with Rockwell, and it becomes the major database system in the 1970s and 1980s. This model entailed the relation of files in a child -parent example, whereby at most one parent file hosted each child file.
(b)The Network Model was first developed by Charles Bachmann at Honeywell called the Integrated Data Store (IDS), which was considered fit for international use (standardization) in the year 1971 by the CODASYL body, meaning the Conference on Data Systems Languages. Here, files are perceived as members and owners, whereby each member may harbor many owners. Network Schema, Data Management Language and Sub-Schema are the three components associated to this model. The CODASYL DBTG was the most popular network model during those times.
(c) The Relational Database Model was developed in 1970 by E.F. Codd. He proposed the construction of this model, which saw to the onset of two major projects in the IBM's San Jose Lab. The model developed several branches or other forms of it like the INGRES, a University of California invention, which became widespread and the POSTGRES which was later developed into the Informix. The lab in San Jose had developed a System R, and this gradually shifted into the DB2, a relational model product. This model constitutes the use of instance and schema, with instance comprising of a table with columns and rows and the schema guiding on the structure used. It was wholly developed under the mathematical concept of set theory and the predicate logic. This model became stronger and fully effective in the 1980s, marked with the increase in the development of more relational based DBMS and the introduction of the SQL standard in the ISO and ANSI models.
The other database models were developed similarly in stages. Peter Chen came up with the Entity-Relationship model in the year 1976. This was followed by the 1985 development of the Object-Oriented Database Models. In the 1990s, an important development occurred, which entailed the addition of object-orientation in relational models. This time frame also witnessed the addition of more application areas or units such as OLAP, data warehouse, the web, enterprise resource planning and even the internet. The year 1991 saw the creation of Microsoft Ships Acce ...
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
E.F. Codd (1970). Evolution of Current Generation Database Tech.docx
1. E.F. Codd (1970). Evolution of Current Generation Database
Technologies. Communications of the ACM archive. Vol 13.
Issue 6(June 1970
The database technology system can be traced back to a flat
file, whose function was to keep data. These flat files surfaced
in the 1960s and had many disadvantages. During the period
1968 to 1980, referred to as the Hierarchical error since the
Hierarchical Database was developed, the IBM joined NAA to
come up with GUAM, the first DBMS called the Information
Management System (IMS). The following are the step by step
evolution of the three major database systems since then, with
regard to the specific model layers:
(a)Hierarchical Model: Here, this IMS was built by IBM in
collaboration with Rockwell, and it becomes the major database
system in the 1970s and 1980s. This model entailed the relation
of files in a child -parent example, whereby at most one parent
file hosted each child file.
(b)The Network Model was first developed by Charles
Bachmann at Honeywell called the Integrated Data Store (IDS),
which was considered fit for international use (standardization)
in the year 1971 by the CODASYL body, meaning the
Conference on Data Systems Languages. Here, files are
perceived as members and owners, whereby each member may
harbor many owners. Network Schema, Data Management
Language and Sub-Schema are the three components associated
to this model. The CODASYL DBTG was the most popular
network model during those times.
(c) The Relational Database Model was developed in 1970 by
E.F. Codd. He proposed the construction of this model, which
saw to the onset of two major projects in the IBM's San Jose
Lab. The model developed several branches or other forms of it
like the INGRES, a University of California invention, which
became widespread and the POSTGRES which was later
2. developed into the Informix. The lab in San Jose had developed
a System R, and this gradually shifted into the DB2, a relational
model product. This model constitutes the use of instance and
schema, with instance comprising of a table with columns and
rows and the schema guiding on the structure used. It was
wholly developed under the mathematical concept of set theory
and the predicate logic. This model became stronger and fully
effective in the 1980s, marked with the increase in the
development of more relational based DBMS and the
introduction of the SQL standard in the ISO and ANSI models.
The other database models were developed similarly in stages.
Peter Chen came up with the Entity-Relationship model in the
year 1976. This was followed by the 1985 development of the
Object-Oriented Database Models. In the 1990s, an important
development occurred, which entailed the addition of object-
orientation in relational models. This time frame also witnessed
the addition of more application areas or units such as OLAP,
data warehouse, the web, enterprise resource planning and even
the internet. The year 1991 saw the creation of Microsoft Ships
Access, which over time took over the other personal DBMS
products. The pioneer internet database applications were
developed in 1995, before the 1997 application of XML into
database processing to enable the correction of the problems
witnessed in database systems since their onset.
Advantages of a Database Management System:
A database management system (DBMS) entails a group of
programs that are in charge of managing the database structure
and controlling the mode in which data kept in the database can
be sourced or accessed. It has a lot of advantages which
include:
(a) A DBMS ensures that data is shared in a more better or
proper way. This is because this system creates such conditions
that make the access to the well-managed data or information be
easy and better than the use of normal files, which helps the
user to make a quick response to environmental changes.
3. (b) Database Systems also provide ground for the proper
articulation of data security and privacy since it addresses how
data is to be accessed. When data is in the hands of many users,
there is a higher probability that the security of such data will
be corrupted, hence resulting in losses in corporations and
companies.
(c) These database systems are also key in ensuring that data
access is efficient in the sense that whenever there erupts an ad
hoc query (where in this case means a specific request issued to
the database system for interpretation or response), the system
can easily and quickly locate the answers needed and send back
the query result set to the application.
(d) The idea of having data put together in one accessible place
is advantageous to an organization since it promotes a unified
view of all the organization's operations .This enables the
company management to determine if or not the actions ongoing
in one location of the company affect the other locations or
segments.
(e) Another key importance of Database Systems is the ability it
has to reduce the inconsistency of data. This inconsistency
usually results from the presence of various versions of a
particular data in different places. For example, when a student
shares the same surname with a teacher in a school system. A
database that has been designed well reduces the probability of
having such inconsistencies.
(f) The good management and proper access of data helps in
ensuring the formation of better decisions resulting from the
generation of information of high quality and preciseness as
stored. The quality of the data contained in the database is
instrumental in the generation of quality information.
(g) The need to provide an efficient platform for the backup and
recovery of data is also another major advantage of a DBMS.
Such database systems are required to consist of facilities that
allow for recovering data from hardware or software
breakdowns. A DBMS has a backup and recovery subsystem or
section that coordinates the process of data recovery.
4. Role Played by Database Management Systems in the Storage,
Retrieval and Management of Data in Our World:
A Database Management System plays a lot of roles in the
storing, retrieving and managing of data in our world whenever
it is used. These roles are contained in its ten major functions,
which include:
(a) Management of a Data Dictionary: This functionality is
usually invisible to the user, and is only controlled by a
Database Administrator. This is a role of a DBMS whereby it
stores the explanations or definitions of the elements of data
and metadata. This enables the system to search for the needed
data component structures and their relationships, facilitating
the removal of structural and data dependency hence ensuring
the user is experiencing data abstraction.
(b) Management of the Storage of Data: This function involves
data storage and related forms of the entry of data and even
including the facilities that can integrate or hold video and
pictures. It is hidden to the user on how the data is stored.
Performance tuning is a branch of this function that explains the
relation of the efficiency of a database to the speed of access
and storage.
(c) Data Transformation and Presentation: This is a
functionality that transforms the input data into the structures in
which they are required. This enables the DBMS to differentiate
between physical and logical data formats.
(d) Security Management: This function lays down the
rules/protocols that ensure only specifies users are authorized to
access the database.
(e) Multi-user Access Control: This ensures the simultaneous
access of the database by more than one user without violating
any of the database's integrity issues.
(f) Backup and Recovery Management: This deals with the
strategies to recover a database after failure resulting from
hardware or software failures.
(g) Management of Data Integrity: This system also focuses on
the eradication of the redundancy of data which erupts when
5. information is unnecessarily stored in various places. This
system also improves the consistency of data ensuring the right
responses are returned whenever questions are asked.
(h) The Database Access Languages and Application
Programming Interfaces: These systems also provide for query
languages like the SQL , that enables the user to be specific
with the action needed without extensive explanations ,with
ease.
(i) Database Communication Interfaces: Here, the system
functions in such a way that it accepts requests from different
end users that may originate from different network
environments.
(j) Transaction Management: This is where the DBMS comes up
with a sure way of ensuring transaction updates are either made
or not made. Such transactions are always required to
Types of Data Models:
Data models are broadly classified into the following
categories:
(a) Object Based Data Models.
(b) Record Based Data Models.
(c) Physical Data Model
The first two categories, that is the object based and the record
based, are important in the conceptual and external description
of data; whereas the Physical model describes the data involved
in internal levels.
(a) Object Based Data Models:
This model utilizes the ideas of entities, relationships and
attributes, whereby an entity refers to the object in the
organization that is to be featured in the database; the
relationship referring to the association between the entities,
and the attribute referring to a property describing a particular
thing about the object that is to be represented. These models
include the Entity Relationship model, Object Oriented Model,
the Semantic model (Conceptual Model) and the Functional
Model.
(b) Physical Data Models:
6. This model explains the method in which data is stored in the
computer. It presents such data as access paths, record
structures and record ordering. An example of this model is the
Unifying Model.
(c) Record Based Logical Models
These models are important in the representation of data at the
view and logical levels. They are named this way because here,
the database structure is in such a way that records are in fixed
formats and of different types. They are specific in logical
database structures and they give a better explanation of
implementation. The Hierarchical, Network and Relational
models are the common types of Record Based data models.
There are newly emerged data models which include the Bid
Data and the NoSQL. The Big Data is where there exists large
amounts of structured and unstructured data to such an extent
that the normally available and recognized database software
cannot or find it difficult to process and this model has since
then been developed to help organizations improve their
operations and yield faster and better decisions or choices. The
NoSQL database model is a new one in the field and it enables a
user to store and retrieve data that has been modeled in non-
tabular relations form. Tabular modeling of data is common in
the relational databases.Classification of these NoSQL
databases includes the Column, Graph, Document, Key-Value
and the Multi-Model.
Importance of Data Models in Database Design:
A data model is designed to ensure the completion and accurate
representation of data objects needed by the database. These
models are important to the end users because they give room
for the easy understanding of the database through the use of
simple notations and natural languages that are user-friendly,
hence allowing them to adequately review and verify the
database. These models also consist of immense details that are
utilized by database designers as the base for building the
physical database itself. These details include the information
7. on relational tables, foreign and primary keys, triggers and even
stored procedures. These models therefore ensure that the
developer focuses on the creation of a physical database model
that retains data safely and produces correct and consistent
results and also, a database that be flexible enough for the
user’s needs. An effective data model has to be simple with
regard to communication to the end user on the required data
structure and also sufficiently planned to create a good physical
structure.
Data Abstraction Levels:
Data abstraction is the process whereby only the essential
features are represented, at the expense of the implementation
details which are omitted. This is important because it makes it
easier for the user to interact with the database system without
seeing the complex parts of the database that he/she may not
understand, that is, only understandable to the developer and
computer trained individuals. These levels include:
(i) The Physical Level:
This is the lowest level of abstraction and it entails the
description of the mode/way in which data is stored.
(ii) The Logical Level:
This is higher than the Physical level and it explains the
particular kind of data stored in the database and goes further to
expound on the relationships existing among the data.
(iii) The View Level:
This is the highest level of abstraction and it focuses on the
description of a portion in the whole database system. It enables
user to go straight to the information he/she needs on the
database, instead of going through the whole of the database
system in search of a particular piece of information.
The Role of Transaction Management and Concurrency Control
in the Database:
(i) Concurrency Control
This is a concept in DBMS that is instrumental in the addressing
of conflicts or clashes in the concurrent altering or retrieval of
data that can erupt in a muti-user system. To explain this, let’s
8. consider a situation whereby two customers go to an automatic
vendor machine to purchase a Coca-Cola drink. Inside the
vendor machine is only one drink left. Without concurrency
control, it is obvious that both customers will pay the money for
the one drink that is available; however with concurrency
control the database will prevent this from happening by
ensuring only one customer buys the one available drink.
(ii) Transaction Management
This is the management of the events occurring in a database
involving reading a value from a database or writing a value to
a database. An example here is when, say, I have two bank
accounts, S and T, each containing $1000. I want to transact an
operation such that I deposit $200 from account S to account T.
The transaction will yield six commands, that is, READ S, S=S-
200, WRITE S, READ T, T=T+200, and finally WRITE T.
There is a possibility, however, that a failure caused by, say,
power blackout or a computer crash, happens when the
transaction is at the third command. This will see to the
unwanted fact that after the system comes back to normal,
Account S will reflect $800 but Account T will still read $1000,
hence the loss of $200 that goes unaccounted for. This situation
is corrected by efficient transaction management which may
involve keeping every calculated value in a volatile storage
other than in a hard disk instruction until the end of the
transaction, before performing the COMMIT operation to re-
write the data in the volatile RAM back to the hard disk for
storage. This will ensure that no matter what, there exist post
recovery database images that will depict both accounts having
the same values as before, simply meaning the transaction did
not occur.
Discrimination between the Appropriate Usage of Structured
Query Language (SQL) Data Definition Language, Data
Manipulation Language, and Data Control Language:
(i) Data Definition Language:
This language comprises the statements that are used in the
definition of schemas or database structures. Just as they are
9. named, they are used in defining data or information. They
include: CREATE (creating objects), TRUNCATE (remove all
records from tables), RENAME (change object names),
COMMENT (add comments to data dictionary), ALTER (alter
database structure), and DROP (delete database objects). This
language is auto-commit, meaning you cannot roll back the
operations.
(ii) Data Manipulation Language:
This language involves the statements that are utilized in data
management in schemas. The commands that are used in this
language specifically deal with the manipulation of data.
Examples of the commands and syntax used in this DML
include: INSERT (insert data into tables), DELETE (delete
records from table), SELECT (retrieve data from a database),
CALL (call a PL/SQL or a Java program), UPDATE (update
data contained in a table) and EXPLAIN PLAN (explain the
access path to data). This language is not auto-commit.
(iii) Data Control Language:
The function of this language is to control data. It ensures that a
user only accesses or retrieves data that he/she has been
authorized to. Examples of commands in this language include
GRANT, which grants access rights to a user and REVOKE,
which withdraws or takes back the privileges of access given to
a user. This language comes up with permissions and roles in
database systems and secures the database efficiently.
Entity-Relationship Diagrams from the Integration of
Normalization and Data Modeling Techniques (For use in
Database Schemas):
The symbols used in an ER diagram include: Rectangle to
represent entity, oval to represent attribute, diamond to
represent relationship and line to show the link.
The following is a simple diagram of a school database system
whereby the name of the student is taken as the attribute, the
student himself/herself is the entity, the enrollment status is the
relationship and finally the course taken by the student is
another entity.
10. Student (Entity)
Name (Attribute)
Enrolled (Relationship)
Course (Entity)
Comparison of the Roles of a Database Administrator and the
Roles of a Database Software Developer
(a) A database administrator is in charge of maintaining a
database system and ensuring proper use of the database
whereas a database developer is the brain behind the
development of the database system from scratch that is, putting
the idea of creating a database into physical worth.
(b) A database developer understand the various programming
languages that are used in the development of database software
whereas a database administrator may not, depending on his
knowledge, understand the complex programming language used
in designing the database since it does not concern him or is not
useful in the daily running of the database.
(c) A database administrator has daily contact with several users
since he/she is in charge of helping them access or use the
database system efficiently whereas a database developer does
not have personal interaction with the user because he does not
11. need them as he programs the software.
(d) A database developer does not need to have extensive
details of the organization since he only acts on the
requirements given by the company in their database
specifications whereas the database administrator has to
understand a lot of things regarding the database systems in the
company or simply said, he has to be well informed and detailed
on the company systems for efficient management.
(e) A database administrator can only deal with the surface
database problems whereas a database developer can deal with
the in-depth problems or challenges that result in a database
system and need re-programming.
Differences between a Distributed Database Management
System and a Local Database Management System:
(i) A distributed DBMS is more secure hence can handle critical
data whereas the local DBMS is less secure.
(ii) A distributed DBMS synchronizes data among users whereas
a local DBMS does not.
(iii) A distributed database also is functional in the optimization
of the database and when the database needs huge power of
multiple computers whereas a local DBMS does not optimize
the database and cannot support the usage of high power
multiple computers.
(iv) Distributed DBMS cover a wider geographical location
where computers are, whereas a local DBMS covers a small
geographical boundary and involves lesser computers than a
distributed DBMS.
Architectures:
(i) Data Warehousing Architecture:
A data warehouse is a large store of accumulated data or
information .This data is sourced from within the company and
is an important guiding tool in the making of company
decisions. There exist different data warehousing systems, with
different structures. Some warehouses have operational data
store (ODS) whereas some contain multiple data marts, and also
12. the number of data sources varies. Data warehouses comprise
the following layers: the Data Source, Data Extraction, ETL,
Staging Area, Data Logic, Data Storage, Data Presentation,
Metadata and the System Operations Layer.
(ii) Web Database Development:
A web database application is a program that is created to run
on internet browsers and exchange information with database
servers. Such databases are developed using XHTML forms and
Style Sheets e.g. the CSS. They usually involve limited
graphics. They are preferred by most companies because they
are powerful, scalable, data can be accessed from any location,
are more secure than other database systems except for the
modern day cyber threats, and they have a lot if exciting
features that are user-friendly.
(iii) Business Intelligence(BI):
Business Intelligence is a group of methods and requirements
for the conversion of raw data into information that is
meaningful and useful in the analysis of business matters. It
involves different tools and methods that help a company in
collecting data from either internal or external sources. The data
is then analyzed, developed and have reports created on it; in a
bid to make results from the analysis ready for decision makers.
This BI utilizes ad hoc analysis and querying, online analytical
processing (OLAP), enterprise reporting, Mobile BI, real-time
BI, and location intelligence, among other applications. Despite
having the tools that aid in the development of BI dashboards
and performance schemes, this technology also has the data
visualization software that helps in the designing of info-
graphics and even charts.
Top of Form