Software and Database Management Technologies: Seminar Paper
Software and Database Management Technologies: Seminar Paper
Nassmah Al-Matari
[email protected]
Master Information Technology 1st semester
i
ABSTRACT
An organization must have accurate and reliable data for effective decision making. Such
related data are called a database. A database is a system used to manage data on a computer
system. There are several database work systems that have their own laws and ways of working.
Basically, the database system is nothing more than a computer-based record keeping system,
i.e., a system whose overall purpose is to record and maintain information/data. The choice of
software to be used as a standard in the organization for developing applications is an important
management decision. The software presented here is most often used by an information
system professional (with the exception of a special language like SPSS). In the 1960s,
software vendors developed products called Database Management Systems (DBMSs). These
examples of systems software automate many of the tasks associated with using direct-access
files. As with other types of software originally developed for large computers, a large number
of sophisticated DBMSs for personal computers exist today.
List of Contents
Abstract .....................................................................................................................................i
List of Tables & Figures...........................................................................................................iii
1. Introduction ...........................................................................................................................1
2. Software and Database Technologies....................................................................................1
2.1 Programming Languages…………………………....................................................1
2.2 Operating Systems…..................................................................................................3
2.3 File Elements………………………………..............................................................3
2.4 Database Keys…...………...……..............................................................................3
3. Database Management System (DBMS's)……………………............................................5
3.1 The Relation Database Model....................................................................................5
3.2 Normalization……….................................................................................................6
3.3 Structure Query Language (SQL)……………..........................................................8
4. Database in System Design………………...………............................................................8
4.1 Data Modeling………………………………………................................................8
4.2 Database Management Systems in the Organization.................................................9
4.3 Distributed Databases (DDBMS)..............................................................................10
5. Data Warehouses..................................................................................................................10
6. Conclusion............................................................................................................................11
7. References............................................................................................................................11
iii
1. Introduction
In the current Global Era Management Information Systems are an inseparable part of an organization
where information systems that produce output using input and various processes needed to meet
certain objectives in a management activity. Database management system is software that can be used
to define, create, manage and control database access. We generally divide software into two main
types: Systems Software and Applications Software; Systems software manages the computer and/or
provides a set of standard services to its users. The most well-known piece of systems software is the
operating system, such as Windows or Mac OS. Database Management Systems, covered in the
chapter two are another example of systems software. A second section of software is Applications
software is the computer software that causes a computer to perform useful tasks beyond the running
of the computer itself. A specific instance of such software is called a software application, application
program, application or app. Think about a useful application that you can download onto your
smartphone that causes it to perform a new task, e.g. a map or a music application. It is hard to
overemphasize the importance of software. It is the key that unlocks the potential of the computer.
Examples would include; Microsoft Word, MySQL (Database Software), Adobe Photoshop, Internet
Explorer and iTunes (Music / Sound Software).
Software system used when implementing databases, today most companies use databases that follow
a relational structure. Two important reasons behind the use of this structure are that the structure of
the relational database is easy to use and the relationships between tables in the structure are implicit.
The ease of use has encouraged many managers to become direct users and database resources.
Increasing the importance of database as a resource that supports decision making has required
managers to learn more about the design of database use. In this paper the author will try to explain
how the database management system.
Over the last few decades, the trend in programming has been to make it easier to give instructions to
a computer. The kinds of software you will be using are built up from the foundation provided by
machine and assembly code We do not directly use machine and assembly code in the business
organization today, as it is very difficult to use. Instead, computer developments have resulted in
higher-level languages, which are languages that are understood by humans more easily, but can give
the computer instructions in machine code. history of programming languages:
Stage 1: The first computer languages were machine languages, the actual 0s and 1s the computer
executes. Programming in machine language was never particularly enjoyable, and it
certainly restricted programming to a small number of dedicated individuals. Machine languages are
the only languages understood by computers. While easily understood by computers, machine
languages are almost impossible for humans to use because they consist entirely of numbers.
Stage 2: The first advance in computer software was the introduction of assembly language,
a language which substituted mnemonics such as ADD, SUB, MULT for the machine language
numbers that perform these instructions (ADDition, SUBtraction, MULTiplcation). Today assembly
2
language is used only by systems professionals, generally in building systems software or special
packages. There is no reason for a user to write assembler code.
Stage 3: Today we use higher level languages to give instructions to the computer. These higher-level
languages are often translated into machine language to execute a program, using a 'compiler' or an
'interpreter', which we will discuss later in the module. As languages become higher in level, they
have more overhead and compute inefficiently. The main advantage of high-level languages over low-
level languages is that they are easier to read, write, and maintain.
Higher level languages make the computer easier to program and extend the use of computers to
more individuals. For many problem solvers, particularly nonprofessional programmers, a higher-
level language eases the conceptualization of program structure. A number of other higher-level
languages have been developed.
Visual Basic
Visual Basic is a programming language and development environment which is used to develop
applications for the Windows operating system.
COBAL
COBOL (common business-oriented language) was developed to facilitate programming for business
applications.
The C Language - This powerful language was developed at Bell Laboratories and was used
extensively on workstations, and personal computers for developing systems. C is used to write
systems and drivers that do not require a GUI, (e.g. the driver software that powers your printer may
be written in C, but C is not used to create your Word Processor.)
C++
There is an object-oriented version of C called C++. It is one of the most powerful and most useful
languages available today. However, the creation of objects in C++ requires a highly
skilled programmer. Microsoft Office, Adobe Acrobat, Google Chrome and Mozilla Firefox are
example of programs and applications that are written using C++.
3
A higher-level language will often be translated into machine language by a program called
a compiler. It accepts a program called the source program and translates it into machine language
called the object program.
An operating system (OS) is a collection of software that manages computer hardware resources and
provides common services for computer programs. The operating system is an essential component
of the system software in a computer system. Application programs usually require an operating
system to function. Examples of popular modern operating systems include Android, BSD, iOS,
Linux, OS X, QNX, Microsoft Windows, Windows Phone, and IBM z/OS.
One useful view of an operating system is as a resource manager. The operating system consists of a
series of managers, and each manager must accomplish the following: monitor resources, enforce
policies on resource allocation (who, what, and how much), allocate the resource, and reclaim the
resource. There are four major resource categories, navigate the tabs to read about them.
The memory manager keeps track of what parts of memory are in use and by whom and what parts are
available. In multiprogramming, this manager decides which process obtains what amount of memory
at what point in time.
The process manager keeps track of the status of processes. It includes a job schedule that chooses
among jobs submitted and decides which one will be processed. (It assigns resources as does a CPU.)
The device manager monitors input-output resources anything connected to the computer through a
data channel or bus. It tries to schedule and allocate these resources efficiently.
The information manager controls the file system and its directories. Information must be protected,
and this manager allocates and reclaims resources, for example, by opening and closing files.
Computers store data in a file, which can be defined simply as a collection of data. A computer file is
organized in a particular way with a well-defined structure for the information in the file. A computer
file consists of a collection of records, each of which is made up of fields.
4
Groupings of characters are called fields, and we identify them with a name. Smith is an
employee's surname and 599 is Smith's department number. Groups of fields are combined to form
a logical record. This logical record contains all the data of interest about some entity. In this example,
it has all the data in the file about an individual employee.
This record can tell us the employees name, department number, date of birth, salary and the code
which indicates the kind of job he or she does. It is a good way to keep a lot of useful information
efficiently.
Keys are key elements of a relational database. Each row in a table will have a unique key. A key is a
designated field of a table that is used by the database system to tell the rows of a table apart from each
other, and how rows in one table relate to corresponding rows in another table.
Primary Key
A unique key or primary key is a key that uniquely defines the characteristics of each row. The
primary key has to consist of characteristics that cannot collectively be duplicated by any other
row. In a telephone book, the primary key is the surname of the person.
Secondary Key
A secondary key, in the case of the telephone book, is the person's first name or initial. The telephone
book, then, is arranged in sequence on the primary key (last name), and within the primary key it
is arranged in order by the secondary key (first name).
Foreign Key
A foreign key is a key in one table that is the primary key in another table. It is used to create a link
and a relationship between two tables in a relational database.
There are two major types of files: sequential and direct access:
1. Sequential Files
Sequential files were the first type of secondary storage. All records are kept in some sequence such
as numerical order by Social Security numbers. Most of us will encounter sequential access files only
in special circumstances. Records in this type of file are located one after another according to a given
sequence. For example, the record with payroll number 1 is followed by the record with number 2,
5
etc. With a sequential file, you cannot find a specific record, such as the person with payroll number
127, unless you read the entire file until you locate a record with payroll number 127.
2. Direct Access Files
A direct-access file uses a physical medium and programming, which facilitate the storage and retrieval
of specific records. These files are at the heart of database management systems and most of today’s
file storage technology.
In the 1960s, software vendors developed products called Database Management Systems
(DBMSs). These examples of systems software automate many of the tasks associated with
using direct-access files. As with other types of software originally developed for large computers, a
large number of sophisticated DBMSs for personal computers exist today. A "Database Management
System" (DBMS) is a suite of computer software providing the interface between users and a database
or databases. Because they are so closely related, the term "database" when used casually often refers
to both a DBMS and the data it manipulates.
A Database Management System (DBMS) has to provide several key functions:
▪ A method for defining the contents of the database.
▪ A way to describe relationships among data elements and records.
▪ A mechanism to set up the database in the first place.
▪ Ways to manipulate the data including: Updating (adding, modifying, and/or deleting
information), Using complex criteria to retrieve selected data.
The relational model is the dominant structure for vendors writing DBMSs. The underlying concept
of a relational file system is very simple. Data are organized in two-dimensional tables such as this
one:
Such tables are easy for a user to develop and understand. One virtue of this type of structure is that it
can be described mathematically, a most difficult task for other types of data structures.
6
The name of the model is derived from the fact that each table represents a relation. Different users
see different sets of data and different relationships among them.
3.2 Normalization
The process of normalization ensures that there will not be any problems in updating the database and
that operations on the various relations will not lead to inconsistent and incorrect data. Kent (1983)
presents a set of guidelines to make normalization more intuitive and easier to understand than the
mathematical rules for normalization. Basically, normalization makes sure that data is not duplicated
across tables and that the data record in each table is dependent on one unique key of that table. During
the normalization process, the designer first looks to be sure that the relations are in first normal
form (discussed in the next slides). Next, he or she checks for second normal form and finally for third.
(There are also fourth and fifth normal forms, but we leave them for more advanced courses on
databases).
In general, normalization creates a database in which there is minimum redundancy of data, and risks
of damaging the database through updating are minimized. Because the relational model is the
dominant data model, it is important to understand the normalization process.
One of the major tasks in designing a relational database is normalization, there are three main forms
on normalization, navigate the tabs to read about them.
1st Normal Form
First normal form requires that all occurrences of a record type contain the same number of fields. As
a result, a record cannot contain a repeating group. We could not have one relation that listed facts
about a class and have a repeating set of fields for each student in the class. To represent such a
problem using the relational data model, we would need more than one relational table. The first would
be a relational table for the class and the second a relational table for students.
Second and Third Normal Forms
Second and Third Normal forms require the examination of the relationship between key fields and
other fields in the record. To conform to second and third normal forms, each field that is not a key
must give us information about the entire key and nothing but the key. (Each higher number form
assumes that the relations satisfy lower number forms. For example, second normal form assumes that
the relation is in first normal form, and so on.)
Normalization First Form
Suppose that one has a table as follows:
If Part and Warehouse form a composite key, this relationship is not in second normal form. Note
that the warehouse address would be repeated in each record that stores information about a part
in the warehouse. If the address changes, every record of a part in that warehouse would have to be
updated. The update would require a great deal of processing and could result in an error if one address
were overlooked. What would happen if there were no parts in the warehouse? It is possible that the
database would lose track of the warehouse because there would be no record having its address.
A composite or compound key is a key that consists of 2 or more attributes that uniquely identify a
table row. Basically, it is two or more normal keys combined to make the primary key. Normalization
Second Form The relation can be made to conform to second normal form by splitting it into two
tables:
Part Warehouse can be the combined key for the first relation, and Warehouse can be the key for the
second. Now the warehouse address appears only once in the database and can easily be changed. We
succeeded in normalizing the relation so that it is in second normal form.
Third normal form requires that a non-key field not be a fact about another non-key field. Kent offers
the following example:
The key to this table is Employee. If each department is located in only one place, the location field is
a fact about the department in addition to being a fact about the employee. This design leads to the
same problems as with the warehouse example: The location is repeated in each record of an employee
assigned to that department. Because of this redundancy, the data might become inconsistent and a
department with no employees might disappear from the database.
8
The solution here is similar to the last one: split the relation into two tables where Employee is the key
for the first relation and Location is the key for the second.
Structured Query Language is a special-purpose programming language designed for managing data
held in a relational database management system (RDBMS). SQL has been adopted by the major
DBMS vendors as one way to interact with their systems. SQL also offers a mechanism for universal
database access. For example, suppose the DBMS you are using translates the query language you
enter into SQL commands. It could then retrieve data on a different system, so long as they both used
the same SQL dialect. SQL allows the user to make queries on the database, and to add new data as
well as ask questions that require information from a multitude of tables. Despite being part of ANSI
standards, this code is not completely portable among different database systems.
The use of SQL as an intermediary and a standard in accessing a large number of different types of
database systems should be of great help to users and to systems analysts. Although you may never
formulate a query in SQL, you are likely to find it processing queries developed in other languages.
It should be apparent at this point that one of the major design tasks in building an information system
is determining the contents and structure of a database. The type of retrieval and reporting required by
users and the availability of input determine what data to store. However, it is a very complex task to
specify these data, group them into records, and establish data structures for a system. A data model is
useful for a number of reasons. First, it helps us understand the relationships among different
components in a systems design. Secondly, data models show users more clearly how a system will
function.
The most common type of data model is the entity-relationship (ER) diagram. The ER diagram is
easy for a user to follow and serves as an excellent communications vehicle. An entity relationship
diagram is a model which is used to describe a relationship or a database in an abstract way.
The ER diagram consists of object types and relationships. In this example we see an example of two
objects linked by a relationship: A customer purchases a product. The two entities here are "customer"
and "product" the relationship is "purchases." Entities are represented by rectangles and relationships
by diamonds.
Some analysts like to use a simple, straight line between entities and label the line with the relationship,
as shown in this example, though certain more complex relationships cannot be modeled in this
manner.
This diagram shows another example of an ER diagram. Here the figure shows that a doctor sees a
patient. The doctor writes a prescription, and the receptionist bills the patient. The numbers on the ER
describe the nature of the relationship. There is one doctor who writes from 1 to n prescriptions. In this
practice, one doctor sees many (n) patients. The receptionist sends n bills to many (n) patients. Many
patients buy one or more prescriptions. We can have 1:1, 1: n, n:1 and m: n(many-to-many)
relationships among entities.
Database Management Systems (DBMS) are very useful in the organization. The function of the
DBMS or Database Management System in the development of important applications and systems in
the world is very much. At present various large companies, both National and International, are
utilizing databases to support their application systems. There are many very popular DBMS
such as Oracle, Microsoft SQL Server, MySQL, PostgreSQL, Microsoft Access, IBM DB2, and many
more.
10
In addition, the database system must provide for the safety of the information stored, despite system
crashes or attempts at unauthorized access. If data are to be shared among several users, the system
must avoid possible anomalous results. DBMS is a software system which manages the databases
providing facilities for organization access and control. DBMS is like an operator for database.
Database is passive whereas DBMS is active one. It provides the interface between the data file on
disk and the program that requests processing.
Organizations are building more distributed databases in which different parts of the database are
located on different computers in a network. This type of database raises a number of issues for the
organization.
Distributed databases offer users easier access to data at the cost of overall higher complexity of the
system.
▪ Easier expansion
▪ improved performance - data is located near the site of greatest demand, and the database
systems themselves are "parallelized", allowing load on the databases to be balanced among
servers.
Disadvantages of a Distributed Database Management System:
▪ Economics - increased, complexity and a more extensive infrastructure means extra labor
costs.
▪ Security - remote database fragments must be secured, and they are not centralized so the
remote sites must be secured as well.
5. Data Warehouses
Businesses collect a tremendous amount of transactions data as part of their routine operations. A data
warehouse is a large store of data accumulated from a wide range of sources within a company.
Marketing departments and others would like to analyze these data to understand their business better.
For example, you might ask to see a display of sales by region, for the current period, compared to the
11
same time last year. After seeing this display, you may want to see the analysis by product group, then
product group for the last six months, and finally the same data by sales team.
6. Conclusion
7. References
[3] G. Bhojaraju, " Database System: Concepts and Design", ResearchGate, December 2003.
[4] S. Azhar, " Database Management System", Published in International Journal Of Scientific & Technology
Research Volume 8, Issue 06, June2019.
[5] "Writing Assignments in Graduate School", Graduate Writing Coach Annenberg School of Communication
[email protected] http://cmgtwriting.uscannenberg.org
[6] Putra, Eko. 2013."Whatis the Definition of Databases? Functions and Component in the Data Base
Management System (DBMS) ". http://ilmudatabase.blogspot.com/2013/11/Pengertian-Database-itu-What-
Function-and-Komponen-pada-Data-Base-Management-System-DBMS.html, accessed 20 March2014.
[7] S. Carsten, "Introduction to Database Design", IT University of Copenhagen, www.itu.dk.
[8] W. Yugi, W. Yuta, S. Keisuke, S. Jun, K. Takashi, "Virtual Database Technology for Distributed Database",
Published in 2010 IEEE 24th International Conference on Advanced Information Networking and Applications
Workshops.