Chapter 1-5
Chapter 1-5
CERTIFICATION……………………………………………………………………………………………………i
DEDICATION ………………………………………………………………………………………………………ii
ACKNOWLEGEMENT…………………………………………………………………………………………… iii
ABSTRACT………………………………………………………………………………………………………...iv
CHAPTER 5 ............................................................................................................................................................... 45
5.1 SUMMARY....................................................................................................................................................... 45
2
3
CHAPTER ONE
1.0 INTRODUCTIONS
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.
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
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.
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.
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.
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
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
WAMP, the operating system is Windows instead of Linux. LAMJ, refers to JSP / Servlet
instead of PHP. BAMP, the BSD replaced Linux operating system.
AMP means that Apache HTTP Server, MySQL Server and PHP. XAMP used XML replaced by
Linux operating system.
10
CHAPTER TWO
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.
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)
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
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
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.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
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
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 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.
In the relational database we have to follow some properties which are given below.
Columns is undistinguished.
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.
In the Most organizations are unwilling to abandon and convert from those 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
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.
Database management systems can be classified based on several criteria, such as the data
model, user numbers and database distribution, all described below.
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.
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.
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.
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 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.
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.
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.
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..
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
a. Google scholar
b. Google
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”.
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.
TABLE 3.1
DATABASE NAME : CBT_LIFETECH
PRIMARY KEY: SN
TABLE 3.2
DATABASE NAME : CBT_LIFETECH
PRIMARY KEY: SN
TABLE 3.3
DATABASE NAME : CBT_LIFETECH
PRIMARY KEY: SN
PRIMARY KEY: SN
TABLE 3.5
DATABASE NAME : E-LIBRARY
PRIMARY KEY: SN
TABLE 3.6
DATABASE NAME : SHOPPING_SYSTEM
28
DESCRIPTION: THIS IS USED FOR CATEGORY REGISTRATION
PRIMARY KEY: SN
TABLE 3.7
DATABASE NAME : SHOPPING_SYSTEM
PRIMARY KEY: SN
TABLE 3.8
DATABASE NAME : 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
PRIMARY KEY: SN
TABLE 3.10
DATABASE NAME : SHOPPING SYSTEM
PRIMARY KEY: SN
30
ENTITY RELATIONSHIP DIAGRAM (ERD)
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)
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
31
User
name Create Create Delete Delete
table database table database
name password
id
Create Delete/update
id dbname
priviledge database
OODBMS Create DB
DB Create TABLE
Bootstrap
HTML
32
Bootstrap
HTML
view
edit
Fig.6 ERD indicating how scripting language is used to view and edit our OODBMS
33
CHAPTER FOUR
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.
Several technological tools were used in this project; each is summarized in the sections that
follow:
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), 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 is compatible with almost all servers used today (Apache, IIS, etc)
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.
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.
Pentium 1.6GHz
512MB RAM
A web server that supports PHP, such as Apache or LLS (a local server like XAMP or WAMP)
37
MYSQL 4.0.18 or higher (at least 4.1.0 would be better) and PHP MYSQL client API4.0.18 or
higher
The database user must have at least the following privileges: SELECT, INSERT, UPDATE,
DELETE, ALTER and INDEX
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.
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
40
OODBMS INTERFACE CREATE 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
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
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.
Copy OODBMS folder into the htdocs directory of XAMPP folder or www directory of WAMP
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
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
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]-->
<!-- Left side column. contains the logo and sidebar -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
52