Free Academic Seminars And Projects Reports

Full Version: DISTRIBUTED DATABASE MANAGEMENT SYSTEM full report
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
[attachment=2428]

DISTRIBUTED DATABASE MANAGEMENT SYSTEM
By
ANIL JOY ARUN C P ARUN KUMAR E
1. SYNOPSIS
TITLE OF THE PROJECT
Distributed Database Management System STATEMENT ABOUT THE PROBLEM
It is increasingly important for organizations to achieve additional coordination of diverse computerized operations. To do so, it is necessary to have database systems that can operate over a distributed network and can encompass a heterogeneous mix of computers, operating systems, communications links, and local database management systems.
Distributed Database Management System (DDMS) is specially developed for Heterogeneous Database Platforms. 'Distributed Database Management System' focus mainly on heterogeneous distributed data management. It is a system for managing databases stored on multiple computers in a network.
A distributed database is a set of databases stored on multiple computers that typically appears to applications as a single database. Consequently, an application can simultaneously access and modify the data in several databases in a network. Distributed Database management System is a software system that manages a distributed database while making the distribution transparent to the user.
EXISTING SYSTEM
Think of an enterprise of (say) more than 100 computers that act as database clients. If there is only one database server, then all the queries sent by these clients have to be answered by the same single server. This will lead to severe traffic congestion at the server and also in the network.
It is common in an enterprise to have many departments. Each of these departments will need access to a common database used throughout in the Enterprise. However the majority of data requirements of each of these departments will be department specific.
PROPOSED SYSTEM
The proposed system is to develop a software for Distributed database system. Diverse database management systems are used in large organizations. The heterogeneous distributed database system can provide a flexible integration of diverse databases for users and applications. This is because it allows for retrieval and update of distributed data under different data systems giving the illusion of accessing a single centralized database system.
WHY THE TOPIC IS CHOOSEN
The reasons behind choosing this project are the following:As organizations have become more sophisticated, pressure to provide information sharing across dissimilar platforms has mounted. In addition, advances in distributed computing and networking combined with the affordable high level of connectivity, are making information sharing across databases closer to being accomplished. With the advent of the internet, intranets, and affordable network connectivity, business reengineering has become a necessity for modern corporations to stay competitive in the global market. An end-user in a heterogeneous computing environment should be able to not only invoke multiple exiting software systems and hardware devices, but also coordinate their interactions. The company faces serious problems while integrating data from different sources. Besides that a huge initial investment is required for establishing a centralized system.
Database Connection could be made to databases like Oracle
MS Access
SQL SERVER
MySQL
Our software provides a package that is implemented in such a way that is made compatible with the above databases. This feature is transparent to the programmer.
OBJECTIVE AND SCOPE
The interoperation of heterogeneous databases is a pressing need today as organizations attempt to share data stored in legacy databases. These databases are independently developed and maintained to each serve the needs of a single organization. Many sophisticated computer applications could be significantly simplified if they are built on top of a general-purpose distributed database management system. In spite of much research on distributed database management systems there are only a few homogenous distributed database system architectures, which have reached the development stage. The situation with heterogeneous multidatabase systems, which connect a number of possibly incompatible pre-existing database systems, is even less satisfactory.
In 'Distributed Database Management System' we propose a heterogeneous multidatabase system architecture which solves some of the inherent problems of heterogeneity such as reliability, semantic integrity, and protection. The heterogeneous multidatabase system environment that has been considered involves a connection of pre-existing database systems, with a possibility of adding new database systems at any time during system lifetime.
Accessing and managing data from several existing independent databases pose complex problems that can be classified into platform, location and semantic levels. This Distributed Database management System describes a methodology and environment intended to address the problem of providing users and programmers with an abstract interface to independent heterogeneous and distributed databases.
METHODOLOGY
When you are designing distributed applications, you must consider availability and performance. A common solution is to include a data store on the client system. Typically, the client will require a lightweight data store as a result of limited resources. This approach poses a challenge for data synchronization between heterogeneous data stores. One resolution to this problem is a Java-based approach using JDBC. Distributed databases use a client/server architecture to process information requests.
A database server is the software managing a database, and a c//enf is an application that requests information from a server. Each computer in a system is a node. A node in a distributed database system acts as a client, a server, or both, depending on the situation. System mainly has two modules
1. Server module.
2. Client module.
Server Side
Server controls, manages the entire system and stores the complete details regarding their client. And when request arises, authentication is done and the server provides the details for the corresponding ones. The server will do the entire work as a background process. The user does not have any interaction with servers. In this system the data request once arrived, is accepted from client and. according to the client's request and sent the data.
Client Side
This Client-side software will always interact with users working as the front-end. First of all a connection is established with server. Then make appropriate request for data. Display the data in the user requested format.
Getting specification from the user is the main functionalities of the client side and passes it to server side for processing.
DEVELOPMENT AIDS
RMI (Remote Method Invocation)
RMI applications are often comprised of two separate programs. A Server:
A typical server application creates some remote objects. A Client:
A typical client application gets a remote reference to one or more remote objects in the server and then invokes methods on them. RMI provides the mechanism by which the server and the client communicate and pass information back and forth. These applications are referred as Distributed Object Application.
JDBC (Java Database Connectivity)
Java Database Connectivity classes are Java classes that allow an application to send sql statement to a DBMS system and retrieve the results. One of the JDBC's strength is inter- operability- a developer can create JDBC applications without targeting a specific DBMS.
CONCLUSION
Availability and performance are primary considerations when you're developing distributed applications. "DISTRIBUTED DATABASE MANAGEMENT SYSTEM" software has been developed with an eye on future development. This system is highly flexible and portable and incorporated to this system especially for heterogeneous database platforms.
2. INTRODUCTION
Many sophisticated computer applications could be significantly simplified if they are built on top of a general-purpose distributed database management system. In spite of much research on distributed database management systems there are only a few homogenous distributed database system architectures that have reached the development stage. The situation with heterogeneous multidatabase systems, which connect a number of possibly incompatible pre-existing database systems, is even less satisfactory.
Distributed Database Management System (DDMS) is specially developed for Heterogeneous Database Platforms. 'Distributed Database Management System' focus mainly on heterogeneous distributed data management. It is a system for managing databases stored on multiple computers in a network.
A distributed database is a set of databases stored on multiple computers that typically appears to applications as a single database. Consequently, an application can simultaneously access and modify the data in several databases in a network. Distributed Database management System is a software system that manages a distributed database while making the distribution transparent to the user.
3. OBJECTIVE AND SCOPE
The interoperation of heterogeneous databases is a pressing need today as organizations attempt to share data stored in legacy databases. These databases are independently developed and maintained to each serve the needs of a single organization. Many sophisticated computer applications could be significantly simplified if they are built on top of a general-purpose distributed database management system. In spite of much research on distributed database management systems there are only a few homogenous distributed database system architectures, which have reached the development stage. The situation with heterogeneous multidatabase systems, which connect a number of possibly incompatible pre-existing database systems, is even less satisfactory.
In 'Distributed Database Management System' we propose a heterogeneous multidatabase system architecture which solves some of the inherent problems of heterogeneity such as reliability, semantic integrity, and protection. The heterogeneous multidatabase system environment that has been considered involves a connection of pre-existing database systems, with a possibility of adding new database systems at any time during system lifetime.
Accessing and managing data from several existing independent databases pose complex problems that can be classified into platform, location and semantic levels. This Distributed Database management System describes a methodology and environment intended to address the problem of providing users and programmers with an abstract interface to independent heterogeneous and distributed databases.
4. DEFINITION OF THE PROBLEM
It is increasingly important for organizations to achieve additional coordination of diverse computerized operations. To do so, it is necessary to have database systems that can operate over a distributed network and can encompass a heterogeneous mix of computers, operating systems, communications links, and local database management systems.
Distributed Database Management System (DDMS) is specially developed for Heterogeneous Database Platforms. 'Distributed Database Management System' focus mainly on heterogeneous distributed data management. It is a system for managing databases stored on multiple computers in a network.
A distributed database is a set of databases stored on multiple computers that typically appears to applications as a single database. Consequently, an application can simultaneously access and modify the data in several databases in a network. Distributed Database management System is a software system that manages a distributed database while making the distribution transparent to the user.
4.1. INITIAL INVESTIGATION
Initial investigation is performed for clarifying the problems in detail. It helps us to strengthen our background knowledge about the system. It is the collection of information that helps to evaluate the merits of the project. It also gives a meaningful judgment of the feasibility of the system. Initial investigation is performed by identifying the users needs for a new system. By this the problems related with the old system are identified and thus those problems were overcome in the new system.
First we identified the need for a new and improved system, because of the unsatisfactory performance of the existing system. An initial investigation is performed to define the problem in detail. Initial investigation means studying the existing system and identifying the need for the new system. Initial investigation consists of the following:
Background Analysis
Direct observation
Discussions
Fact finding
Background Analysis
Background analysis is carried out in order to become familiar with the
LAN
environment and the physical processes related to the system and also processes
involved in designing a remote database access system were studied in
detail.
Direct Observation
It is carried out in order to identify the limitations of existing system. Discussions
A number of discussions with network administrators have been carried
out in
order to study the existing system. Fact finding
After acquiring the background knowledge, processes involved in the system are
studied. All the facts that form input to the system are collected.
4.2. EXISTING SYSTEM
Think of an enterprise of (say) more than 100 computers that act as database clients. If there is only one database server, then all the queries sent by
ihese clients have to be answered by the same single server. This will lead to severe traffic congestion at the server and also in the network.
It is common in an enterprise to have many departments. Each of these departments will need access to a common database used throughout in the Enterprise. However the majority of data requirements of each of these departments will be department specific.
4.3. LIMITATIONS OF EXISTING SYSTEM
i Does not support heterogeneous databases.
Difficulty in managing distributed data.
4.4. PROPOSED SYSTEM
The proposed system is to develop a software for Distributed database system. Diverse database management systems are used in large organizations. The heterogeneous distributed database system can provide a flexible integration of diverse databases for users and applications. This is because it allows for retrieval and update of distributed data under different data systems giving the illusion of accessing a single centralized database system.
4.5. ADVANTAGES OF PROPOSED SYSTEM
Supports heterogeneous database applications.
Suitable in Linux, Windows or any other platform.
Better management of distributed data.
4.6. FEASIBILITY STUDY
Feasibility study is a test of a proposed system according to work ability, impact on the organization's ability to meet user needs and effective use of resources. Feasibility study is performed by considering the factors such as development cost, operating cost, response time, development time, accuracy ind reliability. Not all requested projects are feasible .We compare the proposed lystem with the existing system. In feasibility study we develop more than one polution to solve the existing system problems. From this we can select the feasible one and then we prepare detailed description of that system.
Technical Feasibility
At present the company has got computers with various models which includes client server configuration, all the types of database that is required is also available; what is required is updating the system slightly and introduction of the new system. Operational Feasibility
System is a menu type of program and quite user friendly. Any novice can jse the system with a little orientation. Much experience is not required at operational level.
Financial and Economical Feasibility
Once it is installed saves a lot of time and the client can get the requested data with no time.
5. SYSTEM ANALYSIS
Analysis is the detailed study of various operations performed by a system and their relationships within and outside of the system. Once the problem is identified, we must find how to solve the problem. Detailed analysis of the system is done and various modules to be implemented in the system are studied in detail.
The new system is being developed with the following features: f Login check for both users and administrator
Query analyzer that is capable of executing any type of query in the dictionary of SQL
Export feature for all the type of database
Import feature for all the type of database
Dynamic communication with any type of database
6. SYSTEM DESIGN
INPUT DESIGN
Input design is the process of converting user inputs into computer-based format. Input data is collected and organized into groups of similar data. The goal behind designing input data is to make the data entry easy and make it free from logical errors. Example: The input entry to all type of clients is the user name and password. If they are valid the client is allowed to enter into the software.
Objectives
To achieve the highest possible level of accuracy.
To ensure that the input is acceptable and understandable.
Dynamic Model
The dynamic model shows the time dependent behavior of the system
Object Model
The object model will represent how an object is related to other The basic system consists of the following Objects:
1. Data Manager
2. Server
3. Client
Data Manager
Server Data
Server Data
6.2. COMPONENT DESIGN
The different types of components that come under this application are:
1. Login
2. Query Analyzer
3. Export Table
4. Import Table
6.3. OUTPUT DESIGN
Outputs are the most important and direct source of information to the user. Efficient and eligible output design should improve the system's relationship with the user and help in decision making. Output design generally deals with the results generated by the system. In this system the correct answers for the queries in the most appropriate format, ie, to show the output of the select query in the table format.
6.4. DATABASE DESIGN
The general theme behind a database is to handle information as an integrated whole. A database is a collection of interrelated data stored with minimum redundancy to serve many users quickly and efficiently. The general objective is to make information access easy, quick, inexpensive and flexible for the user. The concept behind a database is an integrated collection of data and provides a centralized access to the data from the program. While designing database, several objectives must be considered:
Controlled Redundancy
Data Independence
More information at low cost I Accuracy and Integrity
Privacy and Security.
Performance
7. TABLE STRUCTURES
The different tables that this system has to maintain are:
1. User Profile Table
2. Database Setting Table
1. USER PROFILE TABLE
This table is maintained to have a detail of all the user the system will allow to login.
Table Name: user Primary key: name
Field Name Data Type Size Description
Name Character 20 User Name (User identity )
Pwd Character 4 Password
S. DATABASE SETTING TABLE
This table is maintained to give the permissions for the users, ie, permissions on DSN and table updating.
8. SYSTEM PLANNING
8.1. PERT CHART
Project Evaluation and review Technique is a management and planning tool that uses a graphical display called a network to show relationship between activities and events.
ACTIVITY DURATION (WEEKS) DESCRIPTION
Act a 1 Site Observation
Actb 1 Finding user requirements
Act c 2 Defining the problems
Actd 1 Output design
Act e 2 Input design
Actf 2 Data Base design
Actg 1 H/w and S/w selection
Acth 4 Program coding
Acti 2 Debugging & Testing
Actj 2 Implementation
9. SYSTEM IMPLEMENTATION
Implementation is an activity that is foreseen throughout the development phase. It is a process of bringing a developed system into operational use and turning it over to the user. The new system and its components are to be tested in a structured and planned manner. A successful system should be delivered and users should have confidence that the system would work efficiently and effectively. The more complex the system being implemented the more involved will be the system analysis and design effort required for implementation. The implementation plan involved the following:
Testing to confirm effectiveness r Detection and correction of errors
[ Making necessary changes so as to satisfy the requirements
fc.1. SOFTWARE SPECIFICATION
Operating system : Linux /Windows XP/ Windows 2000/Windows 98
Front end : Java-J2EE
Back end : MS-Access
9.2. HARDWARE SPECIFICATION
Processor : Pentium (II) or higher
Memory : 128 MB
Hard Disk Capacity : 8GB Hard Disk or more
9.3. LANGUAGE USED: J2EE, JAVA
The Java 2 Platform, Enterprise Edition (J2EE) was designed to simplify complex problems with the development, deployment, and management of multi-tier enterprise solutions. J2EE is an industry standard, and is the result of a large industry initiative led by Sun Microsystems. It's important for you to realize that J2EE is a standard, not a product.
Java: The foundation for J2EE The J2EE architecture is based on the Java programming language. What's exciting about Java is that it enables organizations to write their code once, and deploy that code onto any platform. The process is as follows: Developers write source code in Java.
The Java code is compiled into bytecode, which is a cross-platform intermediary, halfway between source code and machine language.
When the code is ready to run, the Java Runtime Environment (JRE) interprets this bytecode and executes it at run-time.
J2EE is an application of Java. Your J2EE components are transformed into bytecode and executed by a JRE at runtime. Even the containers are typically written in Java. . Database Connection could be made to databases like
Oracle
MsAccess
MySQL
f SQLServer
Our software provides a package that is implemented in such a way that is made compatible with the above databases. This feature is transparent to the programmer.
10. SYSTEM MAINTENANCE
Maintenance is an unavoidable factor, in a software engineering. It is the process of managing the changes made in the software. Once installed, Ihe application is used for many years. However, the users may change, ffherefore the application will have to be undoubtedly maintained. Modification and changes will be made to the software, files or procedures to meet emerging user requirements. Since the project done was not a real bne, it was not implemented. But if the system is implemented maintenance is an pnportant process. Usually once the system is implemented, the software, developers and the customer would sign a contract. According to the time mentioned in the contract, all errors and requirements would be done free of cost. Once the maintenance period is over all the logical errors will be corrected free of cost were as all extra requirements would be charged.
During the contract period we would frequently visit the site where the system is implemented and check the system performance such as response time and also how it works at peak hours. If any problem is found if is corrected.
11. COST AND BENEFIT ANALYSIS
Cost benefit analysis is a procedure that gives a picture of the various cost benefits and rules associated with a system. The determination of cost and benefits entails the following steps.
A system is expected to provide benefits. The first task is to identify each benefit and then assign a monitory value to it for cost/benefit analysis. PThe two major benefits are improving performance and maintaining the cost of the system. The performance category emphasis important in the accuracy of access of information and easier access to the system by authorized users. Minimizing through an efficient system, error control or reduction of time and also measured and included in cost/benefit analysis.
Benefits Expected
The benefits that can be expected is reduced time to complete each process. The overall benefit is mainly the customer satisfaction.
12. DETAILED LIFECYCLE OF THE PROJECT
12.1. DATA FLOW DIAGRAM (Level 0)
DFD for query analyzer
Messages
DFD for table export
Data being stored in the corresponding database
DFD for table import
Data to be stored
Client
^
12.2. PROCESS INVOLVED
This software package has the following major parts:
Server side operations.
Client side operations.
Server side operations:
1. Recording Server & Client DSN details
2. Change Administrator password
3. Registering new users
4. Change User passwords
5. View ,Edit User profile
6. Delete User
7. Setting User Permissions
8. View users currently logged in.
Client side operations:
1. Login
2. Query Analyzer
3. Export Tables from client to server
4. Import Tables from server to client
5. Database Conversion
6. Change passwords.view profile
DDMS SERVER
Recording Server & Client DSN details
Details of the DSNs in the server & client are stored. Details include name, type of database & ip address. Manipulations can be performed only in these DSNs.
ChangeAdministrator password
This option helps the administrator for changing his password frequently. It is recommended by us to change the password frequently for increasing the security of the system. [Registering new users
Administrator register new users.They will be given permission to access frhe software.
[Change User passwords
This option helps the administrator for changing users password. It is :necessary to change the password frequently for increasing the security of the system.
View .Edit User profile
Administrator can view users profile and can change the details if required. Delete User
Administrator deletes particular user if required. Setting User Permissions
Allow the administrator to view and set the permissions for the user. View users currently logged in
Show the list of all the users, who are currently logged in to the system.
DDMS CLIENT Login
The way by which, only the authorized users are allowed to access the system. It checks the username and password from the table and allows only authorized users inside. Login check is having a major role in this system, since security is a consideration as all databases are open in front of the user. This has a direct interaction with administrator since he is the one who has to monitor what are the permissions of a particular user. The processing is done; the username and password is checked from the database and if the check is successful then the user is allowed in. Query Analyzer
The query analyzer is the feature that allows the user to execute any type of query he/she wants. The solid responsibility of this component is to allow any lype of query the user executes. The query should be according to the standard format of the query, and then only the execution will be proper. This is the main foart of the application since getting the result for any type query is what the user peed. The user will be able to select the ip, dsn and the table from a combo box [provided. This feature need the resources like DSN and table lists which should pe provided by the data manager with accordance to the permission he is set L/ith. The user gives the query, the permission is checked and if it is ok then the query will be executed and the output is given. Export Tables
The tables from the local machine is transferred to the server and hence [to the any other local systems. It should allow the export of any table in any [database to the server whenever the user wants. This exporting will be only possible if the user is having permissions for it. This is used for transferring the Stable to the server machine. Perfect GUI is provided so the whole process will look simple in the users point of view. The user will select the table to export, also he/she can do it in two ways, one, only the skeleton of the table is exported and in the other both the skeleton and data are exported. There is an option for exporting table to more than one machine. Import Tables
The tables from the server machine are transferred to the local machine. It should allow the import of any table in any database to the server whenever the user wants. This importing will be only possible if the user is having permissions for it. This is used for getting the table from the server machine. Perfect GUI is provided so the whole process will look simple in the users point of view. The user will select the table to import, also he/she can do it in two ways, one, only khe skeleton of the table is imported and in the other both the skeleton and the data are imported. Database Conversion
This facilitates conversion of one database to another.For example we can convert a MS ACCESS database to Oracle and so on. Change passwords, view profile
This option helps the user for changing his/her password. It is recommended by us to change the password frequently for increasing the security of the system. User can also view his profile.
13. METHODOLOGY USED FOR TESTING
Software test is a critical element of software quality assurance and represents the ultimate review specification, design and coding. System testing pmakes a logical assumption that all of the parts of the system are correct; goal will be successfully achieved. Testing objectives
Testing is a process of executing a program with the aim of finding an
error.
A good test case is one that has a high probability of finding an error that is not yet discovered.
A successful test is one that uncovers an error that is not yet discovered.
13.1. UNIT TESTING
Unit Testing focuses on verification efforts on the smallest unit of software design of the module. This is also known as 'Module Testing'. This testing was carried out during programming stage itself. In this step each module is found to be working satisfactorily as regards to expected output from the module.
13.2. INTEGRATION TESTING
Integration Testing is a systematic testing for constructing the program structure, while at the same time conducting tests to uncover the errors associated with the interface. The objective is to take the tested unit module and build a program structure. All the modules are combined and listed as a whole. Here corrections are difficult because the vastness of the program complicates the isolation of cause, thus in the integration step, all the errors uncovered are corrected for the next testing step.
13.3. VALIDATION TESTING
r Validation succeeds when the software functions in a manner that can be reasonably expected by the customer.
13.4. OUTPUT TESTING
No system will be useful if it does not produce the user required output in tie specified format. The output generated while the system was under construction is compared with the format suggested by the user.
User Name
a dm in
Password
OK
CANCEL
Main Window
Menus
Add User
Change Password
Database Setting
(project (Report '06
(Distributed (Database [Management System
! VJPW Database Details
Import Table
15. CONCLUSION
Availability and performance are primary considerations when you're developing distributed applications. "DISTRIBUTED DATABASE MANAGEMENT SYSTEM" software has been developed with an eye on future development. This system is highly flexible and portable and incorporated to this system especially for heterogeneous database platforms.
16. REFERENCES
Text Books
The J2EE 1.4 Tutorial
-Eric Armstrong, Jennifer Ball, Stephanie Bodoff, Debbie Bode Carson Java 2 Complete Reference
-Hebert Schildt Fundamentals of Database System
-Elmasri and Navathe Database System Concepts
-Henry F Korth, Abraham Silbershatz, An integrated approach to Software Engineering
-Pankaj Jalote Computer Networks
-Tenanbaum
hi sir i want a detailed informtion about distributed database management systems with source code in computer science