Database Assinment 1
Database Assinment 1
CATHOLIC UNIVERSITY
of
ZIMBABWE
NAME : NOMATHAMSANQA MASHINGAIDZE
REG NO : R191196HintoROGRAM : BUSINESS MANAGEMENT
AND INFORMATION TECHNOLOGY
MODULE : MODELS OF DATA BASE AND DATA BASE DESIGN
LECTURER : MR MASIMBA
QUESTIONS: ASSIGNMENT ONE
DUE DATE: 30 APRIL 2021
LECTURER
COMMENTS………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
……………………………………………………………………………………………………..
Question 1
_____________________________________
1
You have been approached as a database consultant, by an organization which is having
problems related to file storage associated with the manual file system. You are required to
suggest a better system. Discuss factors that might influence the organization to set up an
electronic database system
From the beginning, File Processing System was not able to solve all of its limitations. DBMS is
able to solve all the issues related to File Processing System. There are lots of advantages of
DBMS over File Processing System. Advantages discussed briefly are factors which might
influence an organisation to adopt electronic databases.
Backup and Recovery
Data loss is a very big problem for all the organizations. In traditional file processing system, a
user needs to backup the database after a regular interval of time that wastes lots of time and
resources. If the volume of data is large then this process may take a very long time.
DBMS solves this problem of taking backup again and again because it allows automatic backup
and recovery of database. For examples, if a system fails in the middle of any process then
DBMS stores the values of that state in which database were before query execution.
Sharing Of Data
In DBMS, Data can be shared in between authorized user of database. All the users have their
own right to access the database up to a level. Database Administration has complete access of
database. He can assign users to access the database. Others users are also authorized to access
database and also they can share data between them. Many users have same authority to access
the database.
Minimize Data Redundancy
In File Processing System, duplicate data is created in many places because all the programs
have their own files. This creates data redundancy which in turns wastes labor and space. In
Database Management System, all the files are integrated in a single database. The whole data is
stored only once at a single place so there is no chance of duplicate data. For example: A student
record in library or examination can contain duplicate values, but when they are converted into a
single database, all the duplicate values are removed. Complete redundancy can be removed
because somehow we needs duplicate value to relate tables with each other. But still DBMS
controls data redundancy that saves lots of labour and time.
Security
Data security means protecting your precious data from unauthorized access. Data in database
should be kept secure and safe to unauthorized modifications. Only authorized users should have
the grant to access the database. There is a username set for all the users who access the database
with password so that no other guy can access these information. DBMS always keep database
tamperproof, secure and theft free.
_____________________________________
2
Data Consistency
DBMS controls data redundancy which in turn controls data consistency. Data consistency
means if you want to update data in any files then all the files should not be updated again. As in
DBMS, data is stored in a single database so data becomes more consistent in comparison to file
processing system. Also updated values are available to all the users immediately.
Data Integrity
Data integrity means unification of so many files into a single file. In DBMS data is stored in
different tables. A database contains different tables that are linked to each other. Many users
feed entries in these tables so it is important to maintain data items and association between data
items. DBMS allows data integrity that makes it easy to decrease data duplicity Data integration
reduces redundancy as well as data inconsistency.
Search Capability
Users of database may require to fetch data from the database. There are numerous queries users
may ask about the data. Search speed of the database must be fast to produce quick results. If
users execute any query then it is required that he get fastest results from the database. It is an
objective of database to maintain flexible search capability.
Privacy
Privacy means up to what extent a user can access the data. It is predetermined by the DBA that
who will access the data and up to what level he will be able to access it. Let say when you make
a Facebook page then you have the power to give rights to other users that who will be the
promoter, editor and admin.
Simplicity
Simplicity means to represent the overall logical view of data in a simple and clear manner.
DBMS is very simple for its users who use it. All the operations like insert, delete, create and
update are very easy to implement.
Integrity Constraints
Constraints are used to store accurate data because there are many users who feed data in
database. Data stored in database should always be correct and accurate. DBMS provides the
capability to enforce these constraints on database.
For example, the maximum marks obtained by the students can never be more than 100. Also
account balance of Banks like Axis should not be less than 2500 otherwise you will be penalized.
Data Atomicity
_____________________________________
3
Any complete transaction in database is called atomic unit. It is the duty of DBMS to store a
complete transaction in database. If any transaction is partially completed then it roll backs them.
For example, in railway reservation system, if user has completed the process of ticket
reservation then his record will be stored and amount of money will be deducted from his
account otherwise no amount will be deducted and if deducted it will be given back.
_____________________________________
4
Standards can be enforced
As DBMS have central control of database so a DBA can ensure that all the applications follow
some standards such as format of data, document standards etc. These standards help in data
migrations or in interchanging the data.
Maintaining Cost is lower
DBMS systems are costly but after purchasing them their maintenance cost is very less. It can be
maintained by few programmers that is not costly for an enterprise.
Very Less Chances of Data Loss
As there is lot of security constraint made on database so chances of data loss are minimum. One
can store their precious data or many years in DBMS without loss of any information.
_____________________________________
5
Question 2
Databases can be divided into two categories which are spatial databases and multimedia
databases. Explain in detail those databases outlining how they function
[25]
Spatial data is associated with geographic locations such as cities, towns etc. A spatial database
is optimized to store and query data representing objects. These are the objects which are defined
in a geometric space. Characteristics of Spatial Database include (but not limited to ) the
following :
a. It is a database system
b. It offers spatial data types (SDTs) in its data model and query language.
c. It supports spatial data types in its implementation, providing at least spatial indexing and
efficient algorithms for spatial join.
_____________________________________
6
The spatial data in the form of points, lines, polygons etc. is used by many different databases as
shown above.
Spatial databases, as the name implies, are databases that are optimized to store and query spatial
data. In geographic information science, spatial data can be classified into two major categories:
vector and raster (Heywood and Cornelius, 2010). Vector data model spatial entities with
geometries such as points, lines, and polygons, and the topologies among them. For instance, a
river can be regarded as a line, and a lake can be treated as a polygon. Raster data represent
geographical phenomena with a grid of multidimensional discrete values, such as remote sensing
images, scanned topographic maps, and digital elevation model (DEM) data. In traditional GIS
context, spatial data often refers to spatial vector data. The earlier stage of spatial database
studies mainly focuses on how to put vector data into databases, while raster data were still
stored as files. Spatial data consist of plain attributes, locations, times, and topology information.
Their variable length and unstructured nature make directly handling these data with mainstream
databases difficult. Additional important features of spatial data include large data volumes,
various heterogeneous data formats, and complex data query processes. These features pose
some challenges for database technologies.
Spatial databases address many of the limitations of static data files. Spatial databases can
contain large amounts of data in multiple tables with linking mechanisms that maintain data
integrity. They can enforce restrictions on data entry to limit collection of inconsistent data. As
they grow, they can span multiple physical machines as well as maintain copies of themselves for
redundancy. Spatial databases can also maintain changes to a set of spatial data and track which
users are making edits for approval and auditing.
It is important to make the distinction between typical databases and spatial databases. Spatial
databases are standard databases that have been extended to accept spatial data types and queries.
Spatial data types store feature geometry that describes shape and location. The geometry of
spatial features is compressed and stored in a binary field along with the attribute data that
describe the feature. In addition, the database application code is extended so that typical queries
using alphanumeric characters and logical operators are extended to take advantage of location,
proximity, and topology. For instance, in a typical customer database a company might query for
all customers whose last name begins with a certain letter. In a spatial database, they can query
_____________________________________
7
for all customers within proximity of a particular store or find clusters of customers. These types
of spatial transactions are not available in typical databases.
Spatial databases existed long before the Web but they were often hidden behind firewalls or
authentication and were unavailable to most users. Because spatial databases are usually hosted
on powerful servers and are always connected to the Internet, they may become targets for
hackers. Even with user authentication and read-only access, malicious users may attempt to gain
unauthorized access to the database using bugs in the database or operating system programming
code. That was the case when SQL Slammer used a buffer overrun exploitation to take control of
over 75,000 SQL servers and brought the Internet to a crawl (Microsoft, 2003).
Multimedia Databases
Multimedia database is the collection of interrelated multimedia data that includes text, graphics
(sketches, drawings), images, animations, video, audio etc and have vast amounts of multisource
multimedia data. The framework that manages different types of multimedia data which can be
stored, delivered and utilized in different ways is known as multimedia database management
system. There are three classes of the multimedia database which includes static media, dynamic
media and dimensional media.
Media data – The actual data representing an object.Media format data – Information such as
sampling rate, resolution, encoding scheme etc. about the format of the media data after it goes
through the acquisition, processing and encoding phase.
Media keyword data – Keywords description relating to the generation of data. It is also known
as content descriptive data. Example: date, time and place of recording.
Media feature data – Content dependent data such as the distribution of colors, kinds of texture
and different shapes present in data.
_____________________________________
8
Repository applications – A Large amount of multimedia data as well as meta-data(Media format
date, Media keyword data, Media feature data) that is stored for retrieval purpose, e.g.,
Repository of satellite images, engineering drawings, radiology scanned pictures.
There are still many challenges to multimedia databases, some of which are :
Modelling – Working in this area can improve database versus information retrieval techniques
thus, documents constitute a specialized area and deserve special consideration.
Design – The conceptual, logical and physical design of multimedia databases has not yet been
addressed fully as performance and tuning issues at each level are far more complex as they
consist of a variety of formats like JPEG, GIF, PNG, MPEG which is not easy to convert from
one form to another.
Storage – Storage of multimedia database on any standard disk presents the problem of
representation, compression, mapping to device hierarchies, archiving and buffering during
input-output operation. In DBMS, a ”BLOB”(Binary Large Object) facility allows untyped
bitmaps to be stored and retrieved.
Queries and retrieval –For multimedia data like images, video, audio accessing data through
query opens up many issues like efficient query formulation, query execution and optimization
which need to be worked upon.
_____________________________________
9
Documents and record management : Industries and businesses that keep detailed records and
variety of documents. Example: Insurance claim record.
Real-time control and monitoring : Coupled with active database technology, multimedia
presentation of information can be very effective means for monitoring and controlling complex
tasks Example: Manufacturing operation control.
_____________________________________
10
Question 3
Catholic University is planning to implement a database system to store students’ data.
They are hardly conversant with database technology and as a database consultant you
have been approached by the University to assist in the setting up of the system. You are
presented with two database options (ORACLE and MS ACCESS) and they want you to
evaluate each option in term of capacity, security, control aspects, flexibility and economic
aspects. Your evaluation should give proof where necessary[25]
There are many differences between Oracle and Access. First, you need to know that Oracle and
Access are both relational database engines. Oracle is sold by Oracle Corporation and Access is
sold by Microsoft. The biggest differences between the two are the size and number of users each
supports. Oracle is a scalable enterprise database engine that supports from one to many (tens to
hundreds of thousands) of simultaneous users. Access on the other hand is most commonly used
as a single-user database but since the release of Access 97, can be augmented with Visual Basic
code and can easily support 100+ simultaneous users (Top limit of 200 users). Oracle can support
very large databases (Tens of Terabytes in size or larger), while Access is designed for much
smaller databases in the 1 to 2 gigabyte size range. Oracle has a wide range of support features
that can be used to monitor and tune database performance - Access is much more limited in its
performance tuning capabilities.
Oracle is scalable - it can be used for single user or massively multiuser(1000's of users) access.
Tables with 100's of millions of rows are not rare in an Oracle Enterprise database. Oracle is
multiplatform - Linux, Windows, OS X, Solaris. However, Access is not particularly scalable -
while you can have multiple users, rollback is not supported. It's best not to insert more than a
few million rows into a table in Access. Access does not provide commit, transactions logging
and rollback features that Oracle does. Access is a good prototyping tool in the development and
deployment is fast Access is single platform - Windows.
Microsoft Access is used for multiple databases throughout the organization. One main use is the
bill of materials for projects. We use it to manage revisions of the bill of materials. Each revision
has a table within the bill of material and we are able to run a comparison between revisions and
produce a cover sheet which shows the differences. This is very useful in tracking changes and
_____________________________________
11
maintaining up to date documents. This also helps with processing document changes and it
makes revising the bill of materials quick and easy. Also, Microsoft Access is used for our parts
catalog in AutoCAD Electrical. There are multiple tables within the database and this is where
we put part numbers and descriptions for these parts. This is used when a bill of materials report
is run on a circuit diagram.
Another strong point of Microsoft Access is the skill required to customize, the amount of
programming required is less than most other database programs. This is good for a beginner
looking to get into database management.
Microsoft Access is one of the more cost-friendly database applications, and most of the time it
comes with Microsoft Office. Other database programs can be expensive and not as easy to use.
Sometimes our database becomes corrupt and we have to restore from a backup. This can be
time-consuming and the worst part is sometimes work is lost if the database is not backed up for
a couple of days.
Another issue encountered with Access is sometimes the database will think someone has it
opened and it then becomes read-only. This causes issues if someone has to make a modification
and it thinks someone else is working on it. It will tell you the last person who had it opened, but
sometimes it is not correct.
Access also has some issues with performance on larger databases, it can take a little bit to open
databases with a lot of data. It sometimes also freezes while loading some items.
We use Oracle as database to store information from many of the critical modules of our MLFF
(Multi Lane Free Flow) tolling solutions. Oracle Database 12c can handle variable workloads,
maintaining throughput at peak moments. Our solutions utilize many different technologies, but
rely on Oracle Database as a key component.
_____________________________________
12
Oracle Database 12c has the ability to scale to support intensive workloads.
PL/SQL provides an efficient way to develop data-intensive processes that are able to interact
with data without transferring it to an app server
Partitioning, Compression and Encryption are some of the optional features that enhance
performance, reduce costs and secure the information stored in Oracle Database 12c. New
(actually it is more than five years old) multi-tenant architecture is not as straightforward as SQL
Server, but it has been enhanced in Oracle 12c Release 2 and later 18c and 19c.
Many features require additional licensing (either as options or as packs) that increase the total
cost. Oracle Database is a proven platform that allows our customers to adapt to variable
workloads, ensuring availability and scalability.
Overally, Oracle is much larger database software; it can handle much more database request,
and show more content. This controls the access to the data and can allow multiple processes to
occur to the database without one interfering with another.
Question 4
Describe the problems of lost update, inconsistent read and phantom phenomenon which
arise as a result of concurrency in a database [25]
_____________________________________
13
In the above example, if transaction 1 fails for some reason then X will revert back to its
previous value. But transaction 2 has already read the incorrect value of X.
_____________________________________
14
In the above example, transaction 2 is calculating the sum of some records while transaction 1 is
updating them. Therefore the aggregate function may calculate some values before they have
been updated and others after they have been updated.
_____________________________________
15
In the above example, transaction 1 changes the value of X but it gets overwritten by the update
done by transaction 2 on X. Therefore, the update done by transaction 1 is lost.
_____________________________________
16
In the above example, once transaction 2 reads the variable X, a write operation in
transaction 1 changes the value of the variable X. Thus, when another read operation is
performed by transaction 2, it reads the new value of X which was updated by transaction
1.
The phantom read problem occurs when a transaction reads a variable once but when it tries to
read that same variable again, an error occurs saying that the variable does not exist.
_____________________________________
17
In the above example, once transaction 2 reads the variable X, transaction 1 deletes the variable
X without transaction 1’s knowledge. Thus, when transaction 2 tries to read X, it is not able to it.
_____________________________________
18