0% found this document useful (0 votes)
163 views52 pages

Chapter 1-5

This document is a table of contents and introduction for a thesis on object-oriented database management systems (OODBMS). It discusses some of the background, problems, objectives and advantages of using an OODBMS. It also provides definitions of key terms and outlines the structure of the thesis, which will include chapters reviewing literature on OODBMS types and comparing OODBMS to relational database management systems. The introduction explains that OODBMS combines object-oriented programming and database management systems to store data as objects according to an application's domain model.

Uploaded by

ameh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
163 views52 pages

Chapter 1-5

This document is a table of contents and introduction for a thesis on object-oriented database management systems (OODBMS). It discusses some of the background, problems, objectives and advantages of using an OODBMS. It also provides definitions of key terms and outlines the structure of the thesis, which will include chapters reviewing literature on OODBMS types and comparing OODBMS to relational database management systems. The introduction explains that OODBMS combines object-oriented programming and database management systems to store data as objects according to an application's domain model.

Uploaded by

ameh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 52

TABLE OF CONTENT

CERTIFICATION……………………………………………………………………………………………………i

DEDICATION ………………………………………………………………………………………………………ii

ACKNOWLEGEMENT…………………………………………………………………………………………… iii

ABSTRACT………………………………………………………………………………………………………...iv

CHAPTER ONE ..........................................................................................................................................................4

1.0 INTRODUCTIONS .............................................................................................................................................4

1.1 BACKGROUND STUDY ...................................................................................................................................4

1.2 STATEMENT OF PROBLEM ...................................................................................................................7

1.3 AIM AND OBJECTIVES ............................................................................................................................7

1.4 ADVANTAGES OF THE PROPOSED PROJECT ....................................................................................7

1.5 SCOPE OF THE STUDY ............................................................................................................................8

1.6 PROJECT LIMITATION ............................................................................................................................8

1.7 FEATURES .................................................................................................................................................8

1.8 DEFINITIONS OF TERMS ........................................................................................................................9

CHAPTER TWO ....................................................................................................................................................... 11

2.0 LITERATURE REVIEW .................................................................................................................................. 11

2.1 PAPER REVIEWED ......................................................................................................................................... 11

TABLE 2.1.1 ....................................................................................................................................................... 11

TABLE 2.1.2 ....................................................................................................................................................... 12

TABLE 2.1.3 ....................................................................................................................................................... 12

TABLE 2.1.4 ....................................................................................................................................................... 13

TABLE 2.1.6 ....................................................................................................................................................... 13

TABLE 2.1.8 ....................................................................................................................................................... 14

TABLE 2.1.9 ....................................................................................................................................................... 15

TABLE 2.1.10 ..................................................................................................................................................... 15

TABLE 2.1.11 ..................................................................................................................................................... 15

TABLE 2.1.12 ..................................................................................................................................................... 16

TABLE 2.1.13 ..................................................................................................................................................... 16


1
TABLE 2.1.14 ..................................................................................................................................................... 17

TABLE 2.1.15 ..................................................................................................................................................... 17

2.2 TYPES OF OBJECT ORIENTED DATABASE MANAGEMENT SYSTEM ............................................... 17

2.3 CLASSIFICATION OF OODBMS ................................................................................................................... 22

2.4 COMPARATIVE STUDY BETWEEN OODBMS AND RDBMS .................................................................. 23

CHAPTER THREE ................................................................................................................................................... 25

3.0 INTRODUCTION ..................................................................................................................................... 25

3.1 ANALYSIS OF THE EXISTING SYSTEM ............................................................................................. 25

3.2 OVERVIEW OF PROPOSED SYSTEM .......................................................................................................... 25

3.3 METHOD OF DATA COLLECTION .............................................................................................................. 25

3.4 SYSTEM DESIGN ............................................................................................................................................ 26

3.4.1 INPUT DESIGN-DATABASE CREATED ............................................................................................... 26

CHAPTER FOUR ..................................................................................................................................................... 34

SYSTEM TESTING AND IMPLEMENTATION .................................................................................................. 34

4.0 INTRODUCTION ............................................................................................................................................. 34

4.1 CHOICE OF PROGRAMMING LANGUAGES CREATING DATABASE ................................................... 34

4.2 SYSTEM REQUIREMENTS .......................................................................................................................... 36

4.2.1 HARDWARE REQUIREMENTS AND SPECIFICATION ...................................................................... 36

4.2.2 SERVER RECOMMENDATION .............................................................................................................. 38

4.2.4 BASIC CLIENT REQUIREMENT ............................................................................................................ 38

4.3 RESULT INTERFACE ..................................................................................................................................... 39

4.4 SYSTEM TESTING .......................................................................................................................................... 43

4.5 DESCRIPTION OF FINDINGS ........................................................................................................................ 43

4.6 SYSTEM DOCUMENTATION........................................................................................................................ 43

4.6.1 HOW TO LOAD THE SOFTWARE ......................................................................................................... 43

4.6.2 HOW TO RUN THE SOFTWARE ............................................................................................................ 43

4.6.3 THE PLATFORM ...................................................................................................................................... 44

CHAPTER 5 ............................................................................................................................................................... 45

5.1 SUMMARY....................................................................................................................................................... 45

2
3
CHAPTER ONE

1.0 INTRODUCTIONS

Database Management System programming is utilized to mastermind, work and keep up


substantial measure of information through the utilization distinctive models. An information
model is an arrangement of direction; operation and limitation .DBMS give distinctive offices
which incorporate persistency, simultaneousness, recuperation, Query Management and security.
One of the DBMS model is Relation Database Model which utilized the idea of connection .But
we discover confinement in this model as we advance toward the unpredictable application.
Extensive application code is required in this model which is costly. OODBMS is produced to
illuminate these issues. This approach utilized Functionality of database with protest situated
component. A straightforward recipe may clarify this idea. Equation is OO+DBMS=OODBMS
which unmistakably demonstrates that it is blend of both protest situated and database
administration framework A formal meaning of OODBMS is "An OODBMS is additionally
called "question database" is a DBMS that stores information in a sensible model as indicated by
application program's question display. It must accommodate all sort of enhancement
prerequisites in physical information stockpiling with its application" [3]. In protest arranged
database framework displaying is finished with the articles and classes which is the magnificence
-of this idea. OODBMS resembles a merger which consolidates two worldview of customary
element of database like atomicity, consistency, disconnection and so on and advanced approach
of question situated database framework like legacy, epitome and articles.

1.1 BACKGROUND STUDY

Object oriented databases (OODB) represent data in the form of objects and classes. In object-
oriented terminology, an object is a real-world entity and a class is a collection of objects.
Object-oriented databases follow the fundamental principles of object-oriented programming
(OOP). The combination of relational model features (concurrency, transaction and recovery)
with object-oriented principles results in an object-oriented database model.

The object-oriented database model (OODBM) is an alternative implementation to that of a


relational model. An object-oriented database is similar in principle to an object-oriented

4
programming language. An object-oriented database management system is a hybrid application
that uses a combination of object-oriented and relational database principles to process data. That
said, we can use the following formula to outline the OODBM:

Overview

Object-oriented database management systems (OODBMSs) also called ODBMS (Object


Database Management System) combine database capabilities with object-oriented programming
language capabilities. OODBMSs allow object-oriented programmers to develop the product,
store them as objects, and replicate or modify existing objects to make new objects within the
OODBMS. Because the database is integrated with the programming language, the programmer
can maintain consistency within one environment, in that both the OODBMS and the
programming language will use the same model of representation. Relational DBMS projects, by
way of contrast, maintain a clearer division between the database model and the application.

As the usage of web-based technology increases with the implementation of Intranets and
extranets, companies have a vested interest in OODBMSs to display their complex data. Using a
DBMS that has been specifically designed to store data as objects gives an advantage to those
companies that are geared towards multimedia presentation or organizations that utilize
computer-aided design.

Some object-oriented databases are designed to work well with object-oriented programming
languages such as Delphi, Ruby, Python, JavaScript, Perl, Java, C#, Visual Basic .NET, C++,
Objective-C and Smalltalk; others such as JADE have their own programming languages.
OODBMSs use exactly the same model as object-oriented programming languages.

History

Object database management systems grew out of research during the early to mid-1970s into
having intrinsic database management support for graph-structured objects. The term "object-
oriented database system" first appeared around 1985.[4] Notable research projects included
Encore-Ob/Server (Brown University), EXODUS (University of Wisconsin–Madison), IRIS
5
(Hewlett-Packard), ODE (Bell Labs), ORION (Microelectronics and Computer Technology
Corporation or MCC), Vodak (GMD-IPSI), and Zeitgeist (Texas Instruments). The ORION
project had more published papers than any of the other efforts. Won Kim of MCC compiled the
best of those papers in a book published by The MIT Press.

Early commercial products included Gemstone (Servio Logic, name changed to GemStone
Systems), Gbase (Graphael), and Vbase (Ontologic). Additional commercial products entered the
market in the late 1980s through the mid 1990s. These included ITASCA (Itasca Systems),
Jasmine (Fujitsu, marketed by Computer Associates), Matisse (Matisse Software),
Objectivity/DB (Objectivity, Inc.), Object Store (Progress Software, acquired from eXcelon
which was originally Object Design, Incorporated), ONTOS (Ontos, Inc., name changed from
Ontologic), O2[6] (O2 Technology, merged with several companies, acquired by Informix,
which was in turn acquired by IBM), POET (now FastObjects from Versant which acquired Poet
Software), Versant Object Database (Versant Corporation), VOSS (Logic Arts) and JADE (Jade
Software Corporation). Some of these products remain on the market and have been joined by
new open source and commercial products such as InterSystems Caché.

Object database management systems added the concept of persistence to object programming
languages. The early commercial products were integrated with various languages: GemStone
(Smalltalk), Gbase (LISP), Vbase (COP) and VOSS (Virtual Object Storage System for
Smalltalk). For much of the 1990s, C++ dominated the commercial object database management
market. Vendors added Java in the late 1990s and more recently, C#.

Starting in 2004, object databases have seen a second growth period when open source object
databases emerged that were widely affordable and easy to use, because they are entirely written
in OOP languages like Smalltalk, Java, or C#, such as Versant's db4o (db4objects), DTS/S1 from
Obsidian Dynamics and Perst (McObject), available under dual open source and commercial
licensing.

6
1.2 STATEMENT OF PROBLEM

The problem this thesis explores is how to evaluate a number of object oriented database
management systems and compare them to be able to select which one to use. The decision to
actually use an object oriented database is already taken. The investigated problem arises when
the developer have a large number of systems and a limited time for evaluating them. The thesis
suggests a protocol for evaluating OODBMSs. Evaluating a system according to the protocol
gives the user a measure that can be used to select a few systems for further investigation, testing
and evaluation.

1.3 AIM AND OBJECTIVES

The aim of this work is to explore what features influence the choice ofdatabase system. The
thesis identifies the features and gives a proposedrate on how important they are compared to
each other. This will make it easier to evaluate and compare different object oriented database
management systems and thereby make it easier to select what system to use.

1.4 ADVANTAGES OF THE PROPOSED PROJECT

i. Complex objects and relationship


ii. Class hierarchy
iii. No impedance mismatch
iv. No need for primary keys
v. One data model
vi. One programming language
vii. No need for query language
viii. High performance for certain tasks
ix. Compatible with complex application

7
1.5 SCOPE OF THE STUDY

This work produces a protocol containing information on which features are important and how
important they are. The benefit from such a protocol is that it would be a little bit easier to
evaluate and chose object oriented database management system. This contributes to the
evaluation of usability and improvement of the object oriented database systems and may be
leading to an increased use of object oriented databases.

1.6 PROJECT LIMITATION

There was lack of flexibility like schema change was one of the issue as in OODBMS, any
change in the schema makes user to change in other classes too. It was language dependent, as it
was tied to a specific language by specific api. There was lack of ad-hoc queries too. Queries that
can be performed on the data in an oodbms are highly dependent on the design of the system
(bertino et al. 1992). Lack of security, increase in complexity, lack of standards, and lack of
experience were some other issues. Inspite of different proposal, oodb doesn’t support views. It
was complicated to develop object-oriented view by such model having feature as object identity
(bangui. 2003)

The cap- theorem, which says during partition tolerance any of the property between consistency
or availability will be compromised. It has lack of experience, support no firm acid transaction
like relational database.

1.7 FEATURES

In this section we organize the features that an OODBMS should support as a result of our

review. First of all, it is very important for an OODBMS to support the ODMG 3.0 standard

This includes the basic components of the ODMG 3.0 standard, namely Object Definition
Language (ODL), Object Query Language (OQL) and furthermore powerful types like
collections and complex types. In the ODMG 3.0 standard are supported five types of
8
collections, i.e. set, bag, list, array and dictionary, which means that it is expected from an
OODBMS to support most of them. Complex data types are stated for user-defined data types
like classes and structures. Moreover, a big issue in ODMG 3.0 is the type of inheritance that is
supported. In our review, all of the OODBMS support single inheritance except of only two,
which support multiple-inheritance. OODBMS is also important to support traditional database
features. Thus, an OODBMS should support concurrency control, recovery and indexing. On the
other hand it is useful for an OODBMS to provide a query facility. In our review it was found
that OODBMS use three types of query structure, i.e. ODMG 3.0 OQL NoSQL and LINQ

Another aspect that it was studied in this review is the software portability. Thus, it was

checked the platform that those OODBMS were compatible (Windows, Android , Linux, Mac).

Moreover, another important feature is the usage of the OODBMS in three layer architecture, i.e.
if the OODBMS can installed in a database server and accessed by a client. The user interface
that an OODBMS supports it’s another category of features that are significant because the
OODBMS becomes more efficient when it provides a user-friendly user interface. Thus, three
types of user interfaces are met in a OODBMS:

a. A Graphical User Interface, in order to manipulate all the services of the OODBMS,
b. A database user interface, in order to design and present the structure of the database and
the actual data

1.8 DEFINITIONS OF TERMS

DBMS

A database management system (DBMS) is a system designed to give the user control over the
database and the use and distribution of the data stored in the database.

RDBMS

A database management system that is based on the relational model introduced by E.F. Cod.
OODBMS

A database management system in which the data is represented in the form of objects as used in
object-oriented programming.
9
OOP

LAPP refers to PostgreSQL alternative to MySQL.

LAMP, the last two letters refer to Middleware and PostgreSQL.

LNMP, Nginx replaced by Apache HTTP Server.

WAMP, the operating system is Windows instead of Linux. LAMJ, refers to JSP / Servlet
instead of PHP. BAMP, the BSD replaced Linux operating system.

WIMP, refers to Microsoft Windows, Microsoft IIS, MySQL and PHP.

AMP means that Apache HTTP Server, MySQL Server and PHP. XAMP used XML replaced by
Linux operating system.

10
CHAPTER TWO

2.0 LITERATURE REVIEW

INTRODUCTION

This literature review is initially done on OOP, RDBMS, OODBMS and ORDBMS in terms of
their basic concept and capability. Later on, their inter-relationship, pros and cons of each DBMS
will be examined. Special attention will be given on how OOP relates to the three DBMS, or in
other words, how the objects created in OOP application are stored in the DBMS. Finally, study
will be performed to find out the conceptual theory or mapping pattern, previous research results,
industries trend as well as the current implementation (such as any commercial tools or products)
in mapping objects to RDBMS. By following this sequence of literature review, it is expected to
answer the questions as posted in section “Definition of problem” in Chapter 1. To the readers,

this literature review will enable them to understand the terminology, design and

implementation phase, and to support the intention, needs and contribution of doing

this project.

2.1 PAPER REVIEWED

TABLE 2.1.1 Evolution Of Object-Oriented Database Systems (Hibatullah Alzahrani, 2016)

Paper focus The paper discusses how Object-oriented databases


provide a number of advantages over relational databases like ease of
extensibility, custom data
models, provision for modeling complex data structures and faster access
time.
Experiment NIL
Method/algorithm This system provide how Object Oriented Data Model work and how
Relational data Model in OODBMS (Object Oriented Database
Management System)
Result They
provide some very nice features which are absent in
relational databases like custom data types, faster
access and support for modeling real-world complex
11
data structures.
Future work NIL

TABLE 2.1.2 A Overview On OODB Technology (Bhushan M.Borhade1 and Dr. Abhijit
Banubakode, 2015 )

Paper focus The main objective of this paper is to have the overview of the OODB, its
comparison with RDBMS such as schema, class hierachy, intergrity
constraints, query processing ,etc and
explore the areas for improvement in OODB for efficient performance.
Experiment NIL
Method/algorithm This implies how OODB and OIB work interchangeably with each other
Result Along with the minimal query optimization for oodbs to make a major
impact on the database market, oodbs have to be made full-fledged
database systems, sufficiently compatible with rdbs – a migration path
Is needed to allow the coexistence and the gradual migration from the
current products to new products
Future work NIL

TABLE 2.1.3 A Comparative Study Between The Performance Of Relational & Object Oriented
Database In Data Warehousing (Dr. Mrs Pushpa Suri And Mrs Meenakshi Sharma 2011)

Paper Focus This paper is to review the data warehouse as a repository of subjectively
selected and adapted operational data which can
successfully answer any ad hoc, statistical, complex or analytical queries
Experiment NIL
Method/Algorithm NIL
Result In this paper we have discussed the concept of object oriented data
warehousing. For complex
data the object oriented database management system is faster and better
than relational database
management system. For object oriented database management system, the
goal is to direct the
persistent objects manipulations by the application software.
Future Work The solutions of long-term may be a
hybrid system, in which the object oriented database management system
manages the data that
can be erased to the Relational database when the evolution of data is
required.

12
TABLE 2.1.4 Query Optimization In Oodbms: Identifying Subquery For Query Management
(Sheetal S. Dhande1 & Dr. G. R. Bamnote 2014)

Paper Focus This paper is based on relatively newer approach for query optimization in
object databases, which uses
query decomposition and cached query results to improve execution a
query. Issues that are focused here is
fast retrieval and high reuse of cached queries, Decompose Query into Sub
query, Decomposition of
complex queries into smaller for fast retrieval of result.
Experiment NIL
Method/Algorithm Displays the relation from the input query to the query result
Result Based on the experimental results we can state that Decomposition and
Caching techniques in
Object Oriented Queries have resulted in approx around hundred percent
increases in
performance and query output.
Future Work The work on cached queries is continued. There are many future extensions
of this work, some
are extending caching solutions for distributed environment.

TABLE 2.1.5 Distributed Mediation Using A Light-Weight Oodbms ( Vanja Josifovski, Tore
Risch Sweden Fvanja, 1999)

Paper focus An overview is given of a light-weight, Object-Oriented (OO), multi-


database system, named AMOS II. Object-Oriented multi-database
queries and views can be dened where external data sources of different
kinds are translated through AMOS II and integrated through its OO
mediation primitives.
experiment NIL
Method/algorithm Objects model all entities in the database. Everything in AMOS II is
represented as objects managed by the system, both system and user-
dened objects
result We have given an overview of the architecture of the AMOS II
mediator system where federations of distributed mediator servers can
be composed by AMOS II servers.
Future work NIL

TABLE 2.1.6 International Journal Of Engineering Sciences & Research Technology (Abhay
Kumar 1 , Jitendra Singh Yadav 2014)
13
Paper focus This paper addresses the use of garbage collectors for efficient garbage
collection in a large object-oriented database.
experiment NIL
Method/algorithm JAVA and C#
result The solution can be merging the idea of both Garbage Collector and
can be called a Hybrid Collector Approach.
Future work We have observed that just after creation of the datasets, garbage
collection has to perform extra work to convert weak pointers into
strong pointers. However, once the conversion has been performed, a
good set of strong pointers is established, and the further cost of
garbage collection is quite low. We can develop bulk-loading
techniques for reducing the cost of setting up pointer strengths.

TABLE 2.1.7 Ada Persistence Through An Oodbms O2(Pierre Bazex, Thierry Millan And
Frédéric Mulatero 1995 )

Paper focus This paper shows how to represent a persistent environment in ada83 and
ada95 and the major problems encountered. We are realising a prototype in
collaboration with o2-technology.
Experiment NIL
Method/algorithm NIL
Result The cancelling of a transaction ( e.g. ROLLBACK, ABORT in the
Databases) is the only problem we find because reloading of the subgraph
has no effect on existent temporary identifiers. This work is interesting
because it represents a step to Ada95 [Ros92], [LRM9X] using the ODMG
[ODM93] norm for object definition.
Future work NIL

TABLE 2.1.8 Comparison Analysis Of Object-Based Databases, Object-Oriented Databases,


And Object Relational Databases(S. O. Ogunlere and S. A. Idowu, 2015 )

Paper focus A comparison analysis of the concepts and usage of these variants of
databases is presented in this paper with respect to areas of applications
and features for more clarification.
Experiment NIL
Method/algorithm This Much More on OODBMS and how It work with ORB and OBB
Result Understanding database and object concepts is key to the usage or
deployment of any database system. Based on this, in database paradigm,
the term object based and object oriented are logically the same since in
database, objects, emphasis are not on all the three features of object
orientation of inheritance, encapsulation and polymorphism but on any of
those characteristics of objects.
Future work NIL
14
TABLE 2.1.9 Query Optimization In Oodbms Using Query Decomposition & Query Caching

(Atul Thakare, Prof. Ms. S.S. Dhande and Dr. G. R. Bamnote 2015 )

Paper focus These decisions have a tremendous effect on query performance, and query
optimization is a key technology for every application, from operational
systems to data warehouse and analysis systems to content-management
systems.
Experiment NIL
Method/algorithm NIL
Result Query caching can provide good performance gains when the amount of
I/O and CPU work required to repeat the same results is significant.
Future work NIL

TABLE 2.1.10 Amplifying The Scope Of Document Handling: An Object-Oriented Database


Application Framework For Structured Document Storage (Klemens Böhm And Karl Aberer
1995 )

Paper focus This paper reviewed OODBMS has the advantage


that SGML semantics can be factored out from applications and can be
integrated into the underlying
system.

Experiment NIL
Method/algorithm An OODBMS, the SGML semantics is part of the database. One effect is
that the application
Interface provides SGML-specific operations rather than primitive ones.
Result The design of a database application for structured documents (d-streat)
has been elaborated.
D-streat is currently being refined. The documents are fragmented for
storage according to their
Sgml-document-type definition.
Future work NIL

TABLE 2.1.11 Applying A Flexible Oodbms-Irs-Coupling To Structured Document Handling


(Marc Volz, Karl Aberer, and Klemens Böhm 1996 )

Paper focus In document management systems it is desirable to provide


content-based access to documents going beyond regular
expression search in addition to access based on structural
15
characteristics or associated attributes.
Experiment NIL
Method/algorithm NIL
Result This article is a contribution to the ongoing discussion how
The integrated functionality of oodbmss and irss can be
Achieved. An advantage of a loose coupling of existing systems
Is, among other issues, that there is no confinement to a
Certain retrieval paradigm.
Future work NIL

TABLE 2.1.12 Augmenting the Performance of Existing OODBMS Benchmarks (V. Geetha and
N. Sreenath 2012)

Paper Focus] This paper aims in highlighting the points where the benchmarks should
focus, how they should be structured to test the performance of the
databases satisfactorily.
Experiment NIL
Method/Algorithm NIL
Result The lacuna in the existing benchmarks is identified. The existing
benchmarks are either too generic or too narrowed down for usability. In
this paper, the genericness of the structure is supported. At the same time
the design expectations from a good object oriented bench mark
quantitatively as well as qualitatively are listed. Parameters and test cases
are defined for both single and multi-user environment
Future Work NIL

TABLE 2.1.13 QUERY OPTIMIZATION IN OODBMS: IDENTIFYING SUBQUERY FOR


COMPLEX QUERY MANAGEMENT( Sheetal S. Dhande1 & Dr. G. R. Bamnote,2014)

Paper focus This paper is based on relatively newer approach for query
optimization in object databases, which uses query decomposition and
cached query results to improve execution a query
Experiment Transform query into syntactic tree
Method/algorithm SBA assumes a family of object store models which are enumerated
AS0, AS1, AS2 and AS31.
Result We have the performance of the optimizer by calculating response
times 100 subsequent results using set of queries retrieving data from
database containing over 15000 objects. We have compare data with
three optimization strategies with cache, without cache, with Db40, and
in many cases especially complex queries, wider queries response time
were 100 times faster.
Future work future scope of this project. Issue that we are try to handle is
recognizing some parts of cached result helpful for answering other
16
queries and combining many cached queries while producing a result of
one wider query.

TABLE 2.1.14 Performance based Comparison between RDBMS and OODBMS (Tariq Aziz
Rao 2018)

Paper focus This paper portrays the stream of two most popular technologies,
Relational and Object-Oriented Databases.
Experiment NIL
Model/algorithm Object-Oriented System has the ability to model the real world objects
in natural way instead of traditional methods, which is very helpful in
maintaining data, such as, multimedia content.
Result Complex modern applications lead to poorer maintainability and
extensibility for which elastic and dynamic concepts can help to
diminish this complexity.
Future work NIL

TABLE 2.1.15 Comparison of Concurrency Control and Deadlock Handing in Different


OODBMS (Sonal Kanungo AND Dr. Rustom. 2016)

Paper Focus Object oriented databases are being widely used in


variety applications of industries including
telecommunications, banking, manufacturing, insurance,
shipping, etc.
Experiment NIL
Method/Algorithm NIL
Result An object-oriented database system can directly support the
needs of the applications that create and manage objects.
Future Work NIL

2.2 TYPES OF OBJECT ORIENTED DATABASE MANAGEMENT SYSTEM

There are several types of database management systems. Here is a list of seven common
database management systems:

Hierarchical databases

Network databases

17
Relational databases

Object-oriented databases

Graph databases

ER model databases

Document databases

HIERARCHICAL DATABASES

In a hierarchical database management systems (hierarchical DBMSs) model, data is stored in a


parent-children relationship nodes. In a hierarchical database, besides actual data, records also
contain information about their groups of parent/child relationships.

In a hierarchical database model, data is organized into a tree like structure. The data is stored in
form of collection of fields where each field contains only one value. The records are linked to
each other via links into a parent-children relationship. In a hierarchical database model, each
child record has only one parent. A parent can have multiple children.

To retrieve a field’s data, we need to traverse through each tree until the record is found. The
hierarchical database system structure was developed by IBM in early 1960s. While hierarchical
structure is simple, it is inflexible due to the parent-child one-to-many relationship. Hierarchical
databases are widely used to build high performance and availability applications usually in
banking and telecommunications industries.

The IBM Information Management System (IMS) and Windows Registry are two popular
examples of hierarchical databases.

NETWORK DATABASES

Network database management systems (Network DBMSs) use a network structure to create
relationship between entities. Network databases are mainly used on a large digital computers.
Network databases are hierarchical databases but unlike hierarchical databases where one node

18
can have one parent only, a network node can have relationship with multiple entities. A network
database looks more like a cobweb or interconnected network of records.

In network databases, children are called members and parents are called occupier. The
difference between each child and member can have more than one parent.

RELATIONAL DATABASES

In relational database management systems (RDBMS), the relationship between data is relational
and data is stored in tabular form of columns and rows. Each column if a table represents an
attribute and each row in a table represents a record. Each field in a table represents a data value.

Structured Query Language (SQL) is a language used to query a RDBMS including inserting,
updating, deleting, and searching records.

Relational databases work on each table has a key field that uniquely indicates each row, and that
these key fields can be used to connect one table of data to another.

The relational database has two major reasons

Relational databases can be used with little or no training.

Database entries can be modified without specify the entire body.

Properties of Relational Tables

In the relational database we have to follow some properties which are given below.

It's Values are Atomic

In Each Row is alone.

Column Values are of the same thing.

Columns is undistinguished.

Sequence of Rows is Insignificant.

Each Column has a common Name.

RDBMs are the most popular databases.


19
OBJECT-ORIENTED MODEL

In this Model we have to discuss the functionality of the object oriented Programming. It takes
more than storage of programming language objects. Object DBMS's increase the semantics of
the C++ and Java. It provides full-featured database programming capability, while containing
native language compatibility. It adds the database functionality to object programming
languages. This approach is the analogical of the application and database development into a
constant data model and language environment. Applications require less code, use more natural
data modeling, and code bases are easier to maintain. Object developers can write complete
database applications with a decent amount of additional effort.

The object-oriented database derivation is the integrity of object-oriented programming language


systems and consistent systems. The power of the object-oriented databases comes from the
cyclical treatment of both consistent data, as found in databases, and transient data, as found in
executing programs.

Disadvantage of Object-oriented databases

Object-oriented databases have these disadvantages.

Object-oriented database are more expensive to develop.

In the Most organizations are unwilling to abandon and convert from those databases.

Benefits of Object-oriented databases

The benefits to object-oriented databases are compelling. The ability to mix and match reusable
objects provides incredible multimedia capability.

GRAPH DATABASES

Graph Databases are NoSQL databases and use a graph structure for sematic queries. The data is
stored in form of nodes, edges, and properties. In a graph database, a Node represent an entity or
instance such as customer, person, or a car. A node is equivalent to a record in a relational
20
database system. An Edge in a graph database represents a relationship that connects nodes.
Properties are additional information added to the nodes.

The Neo4j, Azure Cosmos DB, SAP HANA, Sparksee, Oracle Spatial and Graph, OrientDB,
ArrangoDB, and MarkLogic are some of the popular graph databases. Graph database structure
is also supported by some RDBMs including Oracle and SQL Server 2017 and later versions.

ER MODEL DATABASES

An ER model is typically implemented as a database. In a simple relational database


implementation, each row of a table represents one instance of an entity type, and each field in a
table represents an attribute type. In a relational database a relationship between entities is
implemented by storing the primary key of one entity as a pointer or "foreign key" in the table of
another entity.

Entity-relationship model was developed by Peter Chen 1976.

Document Databases

21
Document databases (Document DB) are also NoSQL database that store data in form of
documents. Each document represents the data, its relationship between other data elements, and
attributes of data. Document database store data in a key value form.

Document DB has become popular recently due to their document storage and NoSQL
properties. NoSQL data storage provide faster mechanism to store and search documents.

Popular NoSQL databases are Hadoop/Hbase, Cassandra, Hypertable, MapR, Hortonworks,


Cloudera, Amazon SimpleDB, Apache Flink, IBM Informix, Elastic, MongoDB, and Azure
DocumentDB.

2.3 CLASSIFICATION OF OODBMS

Database management systems can be classified based on several criteria, such as the data
model, user numbers and database distribution, all described below.

CLASSIFICATION BASED ON DATA MODEL

In recent years, the newer object-oriented data models were introduced. This model is a database
management system in which information is represented in the form of objects as used in object-
oriented programming. Object-oriented databases are different from relational databases, which
are table-oriented. Object-oriented database management systems (OODBMS) combine database
capabilities with object-oriented programming language capabilities.

The object-oriented models have not caught on as expected so are not in widespread use. Some
examples of object-oriented DBMSs are O2, Object Store and Jasmine.

CLASSIFICATION BASED ON USER NUMBERS

A DBMS can be classification based on the number of users it supports. It can be a single-user
database system, which supports one user at a time, or a multiuser database system, which
supports multiple users concurrently.

CLASSIFICATION BASED ON DATABASE DISTRIBUTION

22
There are four main distribution systems for database systems and these, in turn, can be used to
classify the DBMS.

CENTRALIZED SYSTEMS

With a centralized database system, the DBMS and database are stored at a single site that is
used by several other systems too. In the early 1980s, many Canadian libraries used the GEAC
8000 to convert their manual card catalogues to machine-readable centralized catalogue systems.
Each book catalogue had a barcode field similar to those on supermarket products.

DISTRIBUTED DATABASE SYSTEM

In a distributed database system, the actual database and the DBMS software are distributed from
various sites that are connected by a computer network,

HOMOGENEOUS DISTRIBUTED DATABASE SYSTEMS

Homogeneous distributed database systems use the same DBMS software from multiple sites.
Data exchange between these various sites can be handled easily. For example, library
information systems by the same vendor, such as Gear Computer Corporation, use the same
DBMS software which allows easy data exchange between the various Gear library sites.

HETEROGENEOUS DISTRIBUTED DATABASE SYSTEMS

In a heterogeneous distributed database system, different sites might use different DBMS
software, but there is additional common software to support data exchange between these sites.
For example, the various library database systems use the same machine-readable cataloguing
(MARC) format to support library record data exchange.

2.4 COMPARATIVE STUDY BETWEEN OODBMS AND RDBMS

DBMS is a type of database management system that stores data in the form of related tables. It
establishes a well-defined relationship between database tables. The programmer can use
Structured Query Language (SQL) to manage data in RDBMS. On the other hand, OODBMS is
a database management system that represents data in the form of objects, similar to object-
23
oriented programming. It provides more consistency between the database and the programming
language. A DBMS is a software or a computer program that can be used to create and manage
databases. It was introduced in 1960. RDBMS is an advanced type of DBMS which was
introduced in the 1970s. It is based on the relational model. It helps to store and manage data
more efficiently. The tables in RDBMS are related to each other using various constraints. The
tables are also called entities. A row represents a single entry while a column represents an
attribute. There are multiple advantages of using RDBMS. Normalization, the process of
removing data anomalies to make the database consistent, can be performed on RDBMS. It
reduces the data redundancy. Furthermore, it can also perform transitions and maintains the
properties such as data atomicity, isolation, and durability. In addition, multiple users can access
and work on the data at the same time. Another important point is that RDBMS provides data
protection from unauthorized access. It is possible to create user accounts with different access
permissions to secure the data.

24
CHAPTER THREE

3.0 INTRODUCTION

This Proposed project is to design and implement a core object oriented database management
system using PDO HTML CSS AND BOOSTRAP .it would be a launching ground to recognize
today’s best practices in Database management system and security while developing the
database management system.

3.1 ANALYSIS OF THE EXISTING SYSTEM

WAMP XAMPP and LAMP are the most popular OODBMS being used today. WAMP Server
is an integrated installation environment with Apache, MySQL and PHP under the Window
operating system. The PHP extension, you can easily start and stop the Apache modules, no
longer have to go and modify the configuration files by yourself XAMPP is a kind of integrated
environment. It also has the description in Chinese. XAMPP is not only for Windows, but the
one for Linux, Windows, Mac OS X and Solaris. It is easy to install Apache distribution. The
package of Apache Server contains MySQL, SQLite, PHP, FileZilla FTP Server, Tomcat etc.
Besides, the default 4 installation opens the entire functions. And about the security problem, the
users need to set it by themselves..

3.2 OVERVIEW OF PROPOSED SYSTEM

Total control over the features: The developers are familiar with the system and are able to build
new features quicker without having to navigate through a certain design pattern set out by an
open source solution.

Low cost: It will be cheap to build one meeting your requirements than to get the off the-shelf
product do what is needed.

Easy to understand: considering the requirements first, it will be easier for everyone in the firm
to understand it.

No bug fixes from other developers unlike the existing OODBMS like XAMPP and WAMP

3.3 METHOD OF DATA COLLECTION


25
In order to satisfy my stated research question I will be conducting a comprehensive search for
relevant studies and literature reviews found in different stages and using the following sources:

a. Google scholar

b. Google

c. Current books available in web development, PHP, and DBMS

Collected information on studies that examine the research question will then be analyzed for
information from acceptable studies and decisions. A statement made highlighting implications
and alternative solutions when available, and analyzing popular Database Management System
sites (Xampp, Wamp and Lamp), to determine design factors like the directory structure on the
server and development of SQL tables. Research will include search strings like “PHP web
development evaluation”, “PHP MVC templating”.

3.4 SYSTEM DESIGN

This DBMS consist of a phase which is the analysis and design phase. This is the time of
development where the process of defining architectures, components, modules, interfaces and
data for system to indicate a specified requirement. This stage is also a stage that can only be
done after all necessary feasibility studies has be done in view of the proposed content
management system.

3.4.1 INPUT DESIGN-DATABASE CREATED

TABLE 3.1
DATABASE NAME : CBT_LIFETECH

TABLE NAME: ADDQ

DESCRIPTION: THIS IS USED TO ADD QUESTION

PRIMARY KEY: SN

NAME TYPES SIZE DESCRIPTION


Sn Int 3 Stores unique number
Qname Text 5 Stores question name
26
Qnum Int 3 Stores question number
Opt1 Varchar 100 Stores option 1
Opt2 Varchar 100 Stores option 2
Opt3 Varchar 100 Stores option 3
Opt4 Varchar 100 Stores option 4
Copt Varchar 100 Stores correct option
Cat Text 5 Stores category

TABLE 3.2
DATABASE NAME : CBT_LIFETECH

TABLE NAME: CAT REG

DESCRIPTION: THIS IS USED FOR CATEGORY REGISTRATION

PRIMARY KEY: SN

NAME TYPES SIZE DESCRIPTION


Sn Int 3 Stores unique number
Catid Int 11 Stores category id
Catname Varchar 20 Stores category name
Catdes Text 10 Stores category description
Dept Text 10 Stores department
Stat Varchar 10 Stores status

TABLE 3.3
DATABASE NAME : CBT_LIFETECH

TABLE NAME: DEPTREG

DESCRIPTION: THIS IS USED FOR DEPARTMENT REGISTRATION

PRIMARY KEY: SN

NAME TYPES SIZE DESCRIPTION


Sn Int 3 Stores unique number
Deptid Int 11 Stores department id
Deptname Text 20 Stores department name
Datereg Date 10 Stores date registration
27
TABLE 3.4
DATABASE NAME : DBMS

TABLE NAME: DBMS_TABLE

DESCRIPTION: THIS IS USED FOR DATABASE REGISTRATION

PRIMARY KEY: SN

NAME TYPES SIZE DESCRIPTION


Sn Int 3 Stores unique number
Dbname Text 11 Stores database name
Tablename Text 20 Stores table name

TABLE 3.5
DATABASE NAME : E-LIBRARY

TABLE NAME: BOOKS

DESCRIPTION: THIS IS USED FOR BOOKS BEING READ

PRIMARY KEY: SN

NAME TYPES SIZE DESCRIPTION


Sn Int 3 Stores unique number
Bookname Text 30 Stores book name
Author Text 20 Stores author’s name
Date Date Stores

TABLE 3.6
DATABASE NAME : SHOPPING_SYSTEM

TABLE NAME: ADMIN_LOGIN

28
DESCRIPTION: THIS IS USED FOR CATEGORY REGISTRATION

PRIMARY KEY: SN

NAME TYPES SIZE DESCRIPTION


Sn Int 3 Stores unique number
Username Varchar 11 Stores admin username
Password Varchar 20 Stores admin password

TABLE 3.7
DATABASE NAME : SHOPPING_SYSTEM

TABLE NAME: ADD_USER

DESCRIPTION: THIS IS USED TO SHOPPING SYSTEM

PRIMARY KEY: SN

NAME TYPES SIZE DESCRIPTION


Sn Int 3 Stores unique number
Username Varchar 5 Stores username
Password Varchar 3 Stores user password
Phoneno int 11 Stores user phone number
Emailaddress Varchar 100 Stores user Email Address

TABLE 3.8
DATABASE NAME : SHOPPING_SYSTEM

TABLE NAME: PRODUCT_TYPE

DESCRIPTION: THIS IS USED FOR SHOPPING SYSTEM

PRIMARY KEY: SN
29
NAME TYPES SIZE DESCRIPTION
Sn Int 3 Stores unique number
Bags Text 50 Stores bags product
Phone Text 50 Stores phone product
Accessories Text 50 Stores Accessories product
Laptops Text 50 Stores laptops product
Jewelries Text 50 Stores jewelries product

TABLE 3.9
DATABASE NAME : SHOPPING_SYSTEMr

TABLE NAME: SOLD_PRODUCT

DESCRIPTION: THIS IS USED FOR SHOPPING SYSTEM

PRIMARY KEY: SN

NAME TYPES SIZE DESCRIPTION


Sn Int 3 Stores unique number
Productid Int 11 Stores department id
Productnatme Text 20 Stores product name
Datereg Date 10 Stores date registration

TABLE 3.10
DATABASE NAME : SHOPPING SYSTEM

TABLE NAME: ADD_CART

DESCRIPTION: THIS IS USED FOR SHOPPING SYSTEM

PRIMARY KEY: SN

NAME TYPES SIZE DESCRIPTION


Sn Int 3 Stores unique number
Productid Int 11 Stores product Id
Productname Text 20 Stores product name

30
ENTITY RELATIONSHIP DIAGRAM (ERD)

An entity relationship diagram (ERD) is a graphical representation of an information system that


shows the relationship between people, objects, places, concepts or events within that system. An
ERD is a data modeling technique that can help define business process and can be used as the
foundation for a relational database (Rouse, 2014)

An entity relationship diagram (ERD) shows the relationship of entity sets stored in a database.
An entity in this context is a component of data, in other words, ERDs illustrate the logical
diagram of databases. (Smartdraw, 2015)

The three (3) building blocks in ERD are:

1. Entity: It is represented by rectangle. An entity is an object or concept about which you want
to store information.

2. Relation: It is represented by diamond shape. A relation shows how two entities share
information in the database

3. Attribute: It is represented by oval. An attribute determines the properties of an entity. A key


attribute is the unique, distinguishing characteristics of the entity.

Create Create Delete Delete


table database table database
id php Apache

oodbms Connect MYSQL

Fig.1 ERD indicating how OODBMS is connected to OODBMS

31
User
name Create Create Delete Delete
table database table database
name password
id

Admin Add OODBMS

Fig.2 ERD indicating how admin add to oodbms

Create Delete/update
id dbname
priviledge database

OODBMS Create DB

Fig.3 ERD indicating how to add/create database

Field2 Field2 Field2


Field
1

DB Create TABLE

Fig.4 ERD indicating how to add/create tables with required fields

Bootstrap

PHP CSS Javascript

HTML

Scripting language Create OODBMS

Fig.5 ERD indicating the scripting language used in building an OODBMS

32
Bootstrap

PHP CSS Javascript

HTML

Scripting language Create OODBMS

view

edit

Fig.6 ERD indicating how scripting language is used to view and edit our OODBMS

33
CHAPTER FOUR

SYSTEM TESTING AND IMPLEMENTATION

4.0 INTRODUCTION

The purpose of the section is to highlight on the implementation environment of the system. This
covers the hardware and software environments for the implementation phase of the system
design and development. The system consists of modules and sub-modules which are linked up
to facilitate easy flow of data and control.

System testing is described as the test conducted on a total integrated system to weigh up the
system’s conformity with it precise desires. The proposed database management system has been
tested with real life data and information. Each program modules in this proposed project has
been carefully and thoroughly tested with the appropriate data to ensure it works as expected.
This was achieved through these two stages;

Unit testing: The performance of the individual part is examined using test data

System testing: The parts are linked together and the test data is used to see if the parts work
together.

4.1 CHOICE OF PROGRAMMING LANGUAGES CREATING DATABASE

Several technological tools were used in this project; each is summarized in the sections that
follow:

HYPERTEXTS MARKUP LANGUAGE (HTML)

Hyper text markup language (HTML) is a markup language that annotates text in a way that is
syntactically distinguishable so that the computer can manipulate it. It is a set of markup tags
used to describe web pages. The tags are what separate normal text from HTML code. They are
the words between <angle-brackets>. Different tags will perform different functions, like
rendering images or tables. It is a combination of words and symbols which give instructions on
how the document will be presented. The tags themselves don’t appear when you view your page
through a browser, but their effects do. Markup is what HTML tags do to the text inside them.
34
They mark it as a certain type of text (italicized text, for example). HTML documents contain
HTML tags and plain text. The content on a HTML page will be static. In order to change the
content, the editor needs to have some knowledge about HTML and change the content
accordingly.

CASCADING STYLE SHEETS (CSS)

Cascading Style Sheets (CSS), it is used to control the style and layout of multiple web pages all
at once. Styles define how to display Hyper Text Markup Language elements. Cascading style
sheets overrides the browser’s default settings for interpreting how tags should be displayed,
letting you use any HTML elements indicated by an opening and closing tag to apply style
attributes defined either locally or in a style sheet.

External style sheets can save a lot of work. They are stored in CSS files. Style sheets contain
rules, composed of selectors and declarations that define how styles will be applied. The selector
(a redefined HTML element, class name, or ID name) is the link between the HTML document
and the style. There are two different kinds of selectors: types (HTML element tags) and
attributes (such as class and ID names)

JAVA SCRIPT

Javascript is a client side scripting language designed to add interactivity to HTML pages. A
scripting language is a lightweight programming language. It is usually embedded directly into
HTML pages. It is an interpreted language which allows the scripts to execute without
preliminary compilation. Javascript can react to events. A javascript can be set to execute when
something happens, like when a page has finished loading or when a user clicks on an HTML
element. Javascript can read and write HTML elements and can also change its content and
properties. Javascript can be used to validate from data before it is submitted to a server. This
saves the server from extra processing. A javascript can be used to detect the visitor’s browser,
and depending on the browser, load another page specifically designed for that browser. Finally,
Javascript can be used to create cookies and store and retrieve information on the visitor’s
computer.

35
PHP

PHP (Hypertext Preprocessor) is a widely used open source server-side scripting language for
web development and can be embedded into HTML. PHP pages contain HTML with embedded
code. PHP offers several advantages:

PHP runs on different platforms (Windows, Linux, UNIX, etc)

PHP is compatible with almost all servers used today (Apache, IIS, etc)

PHP is free to download from the official PHP resource: www.php.net

PHP is easy to learn and run effectively on the server side

What distinguishes PHP from something like client-side Javascript is that the code is executed on
the server, generating HTML, which is then sent to the client. The client receives the results of
running that script, but does not know what the underlying code was

MYSQL

MySQL is a database server is ideal for both small and large applications. It supports standard
SQL and compiles on a number of platforms. It is free to download and use.

4.2 SYSTEM REQUIREMENTS

4.2.1 HARDWARE REQUIREMENTS AND SPECIFICATION

The system functions well with a good computer compatible with a hard disk drive of 120GB.
This is needed for the server to save program so that it can made available any time. The client at
noticeboard points could a desktop computer, a Rasperry Pi or Thin Client. It requires a smart
LCD television or Visual display unit (VDU) of high resolution of graphics ability for good
display of all outputs.

36
An uninterrupted power supply (UPS) is needed to sustain power failure for sometimes
whenever PHCN put off power supply.

The minimum hardware requirements are:

Pentium 1.6GHz

512MB RAM

14’ super video graphic adapter monitor (SVGA)

70GB of hard disk

A mouse or mouse sensitive used on laptops

Window XP, vista, window 7 or window 8

Uninterrupted power supply (UPS)

SOFTWARE REQUIREMENTS AND SPECIFICATION

BASIC SERVER REQUIREMENTS.

A web server with approximately six megabytes of available disk space.

A web server that supports PHP, such as Apache or LLS (a local server like XAMP or WAMP)

About 20mb of storage space on the web server.

PHP 4.10 or higher

The following must be changed in the php.ini file

The engine directive must be set to on

The magic_quotes_sybase directive must be set to off

One of the following database must be installed

37
MYSQL 4.0.18 or higher (at least 4.1.0 would be better) and PHP MYSQL client API4.0.18 or
higher

PostgresSQL 8.0 OR higher ( standard_comforming_strings must be set off, starting from


PostgresSQL 9.1 default is on)

The following are required of the database

At least 2MB of storage space in the database. More is highly recommended.

The database user must have at least the following privileges: SELECT, INSERT, UPDATE,
DELETE, ALTER and INDEX

4.2.2 SERVER RECOMMENDATION

1. Windows, Linux or another UNIX based operating system

2. GNU Aspell 0.50 or higher (with appropriate dictionaries) for spell checking functionality.

3. Apache 2.0.x or above with accept path info set to on for query less URL support

4. PHP 5.2.0 or higher, with the following set in your php.ini file.

4.2.3 DATABASE SUPPORT

1. MySQL 5.0 or higher if using MySQL client API 5.0 or higher.

2. PostgresSQL 8.3.3 or higher if using PostgresSQL

4.2.4 BASIC CLIENT REQUIREMENT

1. Microsoft internet explorer 6.0 or higher (7.0 or higher recommended)

2. Opera 7.0 or higher (9.5 or higher recommended)

3. Apple Safari 1.0 or higher (3.0 or higher recommended)

4. Mozilla firefox 3.0 or higher (3.5 or higher recommended)

38
4.3 RESULT INTERFACE

Good description enhances usability; therefore, some of the content management system pages
designed in the application are described below with the aid of screenshots.

OODBMS LOGIN INTERFACE This is an interface developed to work with the proposed
Object Oriented Database Management System for login interface

39
OODBMS MAIN INTERFACE This is an interface developed to work with the proposed
Object Oriented Database Management System

OODBMS INTERFACE CREATE DATABASE This is an interface developed to work with


the proposed Object Oriented Database Management System create database

40
OODBMS INTERFACE CREATE TABLE This is an interface developed to work with the
proposed Object Oriented Database Management System create table

OODBMS INTERFACE TO ADD FIELD TO TABLE This is an interface developed to work


with the proposed Object Oriented Database Management System create table

41
OODBMS INTERFACE TO DELETE TABLE This is an interface developed to work with the
proposed Object Oriented Database Management System delete table

OODBMS INTERFACE FOR INSERTION This is an interface developed to work with the
proposed Object Oriented Database Management System delete table

42
4.4 SYSTEM TESTING

System testing is described as the test conducted on a total integrated system to weigh up the
system’s conformity with it precise desires. The proposed system has been tested with real life
data and information. Each program modules in this project has been carefully and thoroughly
tested with appropriate data to ensure it works as expected. This was achieved through these two
stages:

Unit testing: The performance of the individual parts is examined using test data

System testing: The parts are linked together and the test data is used to see if the parts work
together

4.5 DESCRIPTION OF FINDINGS

At the end of this research work, these are some of the discovered findings.

The system will enable the administrator to manage the system with ease

The system will allow the user to access a more friendly website to convey information easily

The system will also serve as a medium where readily available information can be accessed

4.6 SYSTEM DOCUMENTATION

4.6.1 HOW TO LOAD THE SOFTWARE

The user’s manual contains the description of the entire package. It involves the following:

Connect the computer cable with the source power then boot the systems.

Install XAMP or WAMP server application

Copy OODBMS folder into the htdocs directory of XAMPP folder or www directory of WAMP

4.6.2 HOW TO RUN THE SOFTWARE

i. Run the XAMP or WAMP server and click on the localhost/oodbms on your web browser

43
ii. Select the project folder and the web application will be displayed

4.6.3 THE PLATFORM

This software requires a server (WAMP or XAMPP) and a browser (e.g Mozilla firefox) to
function efficiently

44
CHAPTER 5
Summary, Conclusion and Recommendation

5.1 SUMMARY

The primary features of OODBMS are:

Easily editable content

Templates (default/auto)

Security

User authentication

Workflow management

The administration interface is relatively simple. It features one navigation bar that has different
tabs for respective functions such as Manage Pages, Manage Users, Manage Stylesheets
configure homepage and audit trial report, it has a workflow which will only allow the
publishing of the new content when it is approved by the administrator. It has defined users and
roles for users to add, delete or update content within the website. Each user can modify data
according to his access rights. Only admin can assign roles to users and has full control over each
user and his activity.

The user can integrate a new temple, which is basically the HTML and CSS files, into this
application. Once it is integrated, the user can easily format and edit the page content using the
rich text editor without having to deal with the HTML or CSS code. Thus this project will be
useful to the users with less technical expertise, allowing them to easily manage the content of
their page.

CONCLUSION

While OODBMS are comparatively uncomplicated to use once created, I do want to note that
initial installation, development, and configuration will be more difficult than just throwing a
few PHP, CSS, HTML and JavaScript elements together. Most developers have focused their
experience on either front-end or back-end development. Because of all the necessary steps, to
45
build a web based information architecture that is for an application to be secure and free a bugs.
Anyone that takes on the action of creating a fully functional OODBMS should look to have an
extended network of colleagues to collect best known practices, and other additional
programming knowledge. Anyone who endeavors to create a object oriented database
management system using PHP data object. Should look for a hosting company with interfaces
for easy installation and managent of MYSQL and PHP plug-ins. Before PHP and HTML can
fully utilized, there is a learning curve for configuring and setting up apache, php, and MYSQL
configurations. Using PHP data object there is a possibility to design a wide range of
OODBMS.The developer of an interactive interface will have make money decision what
functionality and user interface to use and allow

46
REFERENCES

Bertino, E., Negri, M., Pelagatti, G., and Sbattella, L. (1992). Object-Oriented Query Languages:
The Notion and the Issues, IEEE Transactions on Knowledge and Data Engineering, Vol.
4, No. 3. Retrieved on 02 March 2019
Brown, A.W., (1991). Object-Oriented Databases, Applications in Software Engineering. New
York: McGraw-Hill Retrieved on 02 April 2019
Maier D., A. Otis, and A. Purdy, (1985)"Object-Oriented Database Development at Servio
Logic,"Database Engineering, vol. 18, no.4
Retrieved on 04 April 2019
Khoshafian, S and John Wiley & Sons, (1993).Object-Oriented Databases, New York
Retrieved on 10 May 2019
Kim, W., (1995.)“Object-Oriented Database Systems: Promises, Reality, and Future,” in
Modern Database Systems: The Object Model, Interoperability and Beyond, pp. 255-280
Retrieved on 17 May 2019
M. Atkinson, F. Bancilhon, D. Dewitt, K. Dittrich, D. Maier, S. Zdonik, (December 1989.)“The
Object-Oriented Database System Manifesto”. In Proc. of the First
InternationalConference on Deductive and Object-OrientedDatabases, pages 223-40,
Kyoto, Japan, Retrieved on 27 May 2019
N. Derrett, Kim, Won. W. Kent, and P. Lyngbaek, (1985) Some Aspects of Operations in an
Object-Oriented Database," Database Engineering, vol. 8, no. 4, IEEE Computer,
Retrieved on 10 June 2019

47
APPENDIX

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>OODBMS</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
name="viewport">
<!-- Bootstrap 3.3.7 -->
<link rel="stylesheet" href=" ../bower_components/bootstrap/dist/css/bootstrap.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href=" ../bower_components/font-awesome/css/font-awesome.min.css">
<!-- Ionicons -->
<link rel="stylesheet" href=" ../bower_components/Ionicons/css/ionicons.min.css">
<!-- Theme style -->
<link rel="stylesheet" href=" ../dist/css/AdminLTE.min.css">
<!-- AdminLTE Skins. Choose a skin from the css/skins
folder instead of downloading all of them to reduce the load. -->
<link rel="stylesheet" href=" ../dist/css/skins/_all-skins.min.css">
<!-- Morris chart -->
<link rel="stylesheet" href=" ../bower_components/morris.js/morris.css">
<!-- jvectormap -->
<link rel="stylesheet" href=" ../bower_components/jvectormap/jquery-jvectormap.css">
<!-- Date Picker -->
<link rel="stylesheet" href=" ../bower_components/bootstrap-datepicker/dist/css/bootstrap-
datepicker.min.css">
<!-- Daterange picker -->
<link rel="stylesheet" href=" ../bower_components/bootstrap-
daterangepicker/daterangepicker.css">
48
<!-- bootstrap wysihtml5 - text editor -->
<link rel="stylesheet" href=" ../plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css">

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->

<!-- Google Font -->


<link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400
italic,600italic">
</head>
<body class="hold-transition skin-blue sidebar-mini">
<div class="wrapper">

<?php include "../includes/header.php"; ?>

<!-- Left side column. contains the logo and sidebar -->

<?php include "../includes/sidebar.php"?>

<!-- Content Wrapper. Contains page content -->


<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
Dashboard
49
<small>Control panel</small>
</h1>
<!--ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
<li class="active">Dashboard</li>
</ol-->
</section>

<!-- Main content -->


<section class="content">
<!-- Small boxes (Stat box) -->
<div class="row">

<div style="padding-left:20px;"> You are welcome to the control panel of LIFETECH


Object-Oriented Database Management System (OODBMS) using PHP Data Object
(PDO).<br/> The first of its kind in Africa. </div>

</div>
<!-- /.row -->

</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->

<!-- Control Sidebar -->

<!-- /.control-sidebar -->


<!-- Add the sidebar's background. This div must be placed
immediately after the control sidebar -->
50
<div class="control-sidebar-bg"></div>
<?php include "../includes/footer.php"?>
</div>
<!-- ./wrapper -->

<!-- jQuery 3 -->


<script src="../bower_components/jquery/dist/jquery.min.js"></script>
<!-- jQuery UI 1.11.4 -->
<script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>
<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
<script>
$.widget.bridge('uibutton', $.ui.button);
</script>
<!-- Bootstrap 3.3.7 -->
<script src="../bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Morris.js charts -->
<script src="../bower_components/raphael/raphael.min.js"></script>
<script src="../bower_components/morris.js/morris.min.js"></script>
<!-- Sparkline -->
<script src="../bower_components/jquery-sparkline/dist/jquery.sparkline.min.js"></script>
<!-- jvectormap -->
<script src=" ../plugins/jvectormap/jquery-jvectormap-1.2.2.min.js"></script>
<script src=" ../plugins/jvectormap/jquery-jvectormap-world-mill-en.js"></script>
<!-- jQuery Knob Chart -->
<script src=" ../bower_components/jquery-knob/dist/jquery.knob.min.js"></script>
<!-- daterangepicker -->
<script src=" ../bower_components/moment/min/moment.min.js"></script>
<script src=" ../bower_components/bootstrap-daterangepicker/daterangepicker.js"></script>
<!-- datepicker -->
<script src=" ../bower_components/bootstrap-datepicker/dist/js/bootstrap-
datepicker.min.js"></script>
<!-- Bootstrap WYSIHTML5 -->
51
<script src=" ../plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js"></script>
<!-- Slimscroll -->
<script src=" ../bower_components/jquery-slimscroll/jquery.slimscroll.min.js"></script>
<!-- FastClick -->
<script src=" ../bower_components/fastclick/lib/fastclick.js"></script>
<!-- AdminLTE App -->
<script src=" ../dist/js/adminlte.min.js"></script>
<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
<script src=" ../dist/js/pages/dashboard.js"></script>
<!-- AdminLTE for demo purposes -->
<script src=" ../dist/js/demo.js"></script>
</body>
</html>

52

You might also like