+ All Categories
Home > Education > automatic database schema generation

automatic database schema generation

Date post: 14-Apr-2017
Category:
Upload: soma-dileep-kumar
View: 704 times
Download: 2 times
Share this document with a friend
86
A Project Report On AUTOMATIC DATABASE SCHEMA GENERATION Submitted in partial fulfillment of the Requirements for the award of degree of Bachelor of Technology In Computer Science and Engineering By V.Naveen Reddy 12H61A05P5 S.Dileep Kumar 12H61A05N9 Under the guidance of Mrs.G.Sudeepthi Assistant Professor, Department of CSE Department of Computer Science and Engineering, Anurag Group of Institutions (Formerly CVSR College of Engineering)
Transcript
Page 1: automatic database schema generation

A Project Report

On

AUTOMATIC DATABASE SCHEMA GENERATION

Submitted in partial fulfillment of the

Requirements for the award of degree of

Bachelor of TechnologyIn

Computer Science and EngineeringBy

V.Naveen Reddy12H61A05P5

S.Dileep Kumar12H61A05N9

Under the guidance ofMrs.G.Sudeepthi

Assistant Professor,Department of CSE

Department of Computer Science and Engineering,Anurag Group of Institutions

(Formerly CVSR College of Engineering)(Affiliated to JNTU-HYD, Approved by AICTE and NBA Accredited)Venkatapur

(V), Ghatkesar (M), R.R. District, A.P. 500 088(2015-16)

Page 2: automatic database schema generation

Department of Computer Science and Engineering

CERTIFICATE

This is to certify that the project entitled “AUTOMATIC DATABASE SCHEMA

GENERATION” being submitted by V.NAVEEN REDDY bearing H.T.No. 12H61A05P5 and S.DILEEP KUMAR bearing H.T.No 12H61A05N9 in partial fulfillment of the

requirements for the award of the degree of B.Tech in Computer Science and Engineering from Anurag Group of Institutions (A) (Formerly CVSR College of

Engineering), Affiliated to JNTUH is a record of bonafide work carried out by them

under my guidance and supervision from December, 2015 to April, 2016.

The results presented in this project have been verified and found to be satisfactory. The results embodied in this thesis report have not been submitted to any other University for the award of any other degree.

Internal Guide HODMrs. G.Sudeepthi Dr. G. Vishnu MoorthyAssistant Professor Professor, Dept of CSE

External Examiner

Page 3: automatic database schema generation

ACKNOWLEDGEMENT

It is our privilege and pleasure to express our profound sense of respect,

gratitude and indebtedness to our guide Mrs.G. Sudeepthi, Assistant Professor,

Department of Computer Science and Engineering, for his indefatigable inspiration,

guidance, cogent discussion, constructive criticisms and encouragement throughout

the project work.

We express our sincere gratitude to Dr. G.Vishnu Moorthy, Professor & Head,

Department of Computer Science and Engineering, for his precious suggestions,

motivation and co-operation for the successful completion of the project work.

We extend our sincere thanks to Prof. V. Vijaya Kumar, Professor & Dean, Department of Computer Science and Engineering, for his motivation and co-operation for the successful completion of the project work.

We extend our sincere thanks to Prof. M Mutha Reddy, Principal, Dr. K.S. Rao,

Director, Prof. M. Bhagavanth Rao, Director, for their encouragement and constant help.

Last but not least, we wish to acknowledge our friends, family members and colleagues for giving moral strength and helping us to complete this dissertation.

V.Naveen Reddy

12H61A05P5

S.Dileep Kumar

12H61A05N9

Page 4: automatic database schema generation

DECLARATION

We hereby declare that the project entitled “AUTOMATIC DATABASE SCHEMA

GENERATION” submitted to Anurag Group of Institutions (A) (Formerly CVSR College of Engineering), Affiliated to JNTUH in partial fulfillment of the requirements for

the award of the degree of B.Tech in CSE is a record of an original work done by us

under the guidance of Mr.G,Sudeepthi , Assistant Professor and this project work have

not been submitted to any other university for the award of any other degree.

V.Naveen Reddy

12H61A05P5

S.Dileep Kumar

12H61A05N9

Date:

Page 5: automatic database schema generation

ABSTRACT

The Automatic Database Schema Generation is a system, which allows the

developers to focus on creating the database using the GUI interface .The user

needs to fulfill the requirements in the interface and he can perform the database

operations which he wants and can create the database. This project aims at

creation of an automatic database schema generation. This project will be accessible

to all developers and its facility allows developers to focus on creating the database

schema on the basis of JSP while letting the application server define table based on

the fields in JSP and relationships between them.

Page 6: automatic database schema generation

LIST OF FIGURES

Figure No. Figure Name Page No.

4.2.1 Use Case Diagram 18

4.2.2 Class Diagram 19

4.2.3 Sequence Diagram for SQL pane 20

4.2.4 Sequence Diagram for Import 21

4.2.5 Sequence Diagram for Export 21

4.2.6 Sequence Diagram for DBoperations 22

4.2.7 Sequence Diagram for search Button 22

4.2.8 Collaboration for Import 23

4.2.9 System Component Diagram 24

4.2.10 System Activity Diagram 25

4.2.11 System Deployment Diagram 26

I

Page 7: automatic database schema generation

LIST OF SCREEN SHOTS

Figure No. Figure Name Page No.

3.2.1 Two tier architecture 8

7.1.1 DataBase Login Screen 36

7.1.2 Structure of cvsr Schema Screen 37

7.1.3 Structure of emp Table Screen 37

7.1.4 Browse a Database Screen 38

7.1.5 Properties of cvsr Schema Screen 38

7.1.6 SQL Query pane Screen 39

7.1.7 Results SQL Query Screen 40

7.1.8 Import a SQL File 41

7.1.9 Import cvsr emp Table Screen 41

7.1.10 Import Succeded Screen 42

7.1.11 Export the Table Screen 42

7.1.12 Database Operations Screen 43

7.1.13 Search Database Screen 44

7.1.14 Search Result Screen 45

7.1.15 Alter table screen 46

7.1.16 Rename Table screen 47

7.1.17 Drop Table screen 47

II

Page 8: automatic database schema generation

INDEX

CONTENTS PAGE NO

ABSTRACT

LIST OF FIGURES I

LIST OF SCREEN SHOTS II

1. Introduction 1

1.1.Motivation 1.2.Problem Definition 1.3.Objective of the Project 1.4.Limitations of the Project

2. Analysis 22.1. Introduction 22.2. Existing System 32.3. Proposed System2.4. Software Requirement Specification 4

2.4.1. Purpose 52.4.2. Scope 52.4.3. Overall Description 52.4.4. Technologies used 6

3. Modules 73.1. Module description 73.2. Project Architecture 8

4. Design 94.1 Introduction 94.2. UML diagrams 18

5. Implementation 275.1 Sample code

Page 9: automatic database schema generation

6. Testing 316.1. Levels of Testing 316.2. Types of Testings 326.3. Test cases 35

7. Results 367.1. Screen Shots

8. Conclusion 48

9. Future Enhancements 49

10. References 50

1

Page 10: automatic database schema generation

1. INTRODUCTION

1.1 Motivation

Earlier the concept of database generation is by applying SQL Statements and also we

need to learn SQL queries for database development. From this we can directly interact the

database by GUI and it is easy to use for creating, editing and storing.

1.2 Problem Definition

Through the old approach to edit the database schema ,It consumes more time for a

database designer. The operations like altering the table structure, editing the table, dropping

columns, searching for a column name, searching for a data in a table. To design and alter the

database schema there exists different user interfaces for different DBMS.

1.3 Objective of the Project

The backend developer needs to learn the newer concepts and also sql statements for every

database creation. By this project the admin creates the GUI for developer, where the developer

can easily create the database schema, tables and also we can insert the table values from the

GUI.

1.4Limitations of the Project

i. Spatial Heterogeneity: There are many reasons for this heterogeneity. It is reasonable

to assume that most peers in a typical P2P network are just personal computers,

whose processing powers are also widely different. The limitation in the processing

power can limit how fast a peer can service others and hence limits the service

capacity.

ii. Temporal Correlation: The number of connections a source peer allows is changing

over time, which creates a fluctuation in the service capacity for each user.

2

Page 11: automatic database schema generation

Temporary congestion at any link in the network can also reduce the service capacity

of all users utilizing that link.

2. ANALYSIS

2.1 Introduction

This project aims at creation of an automatic database schema generation. This project will

be accessible to all developers and its facility allows developers to focus on creating the database

schema on the basis of JSP while letting the application server define table based on the fields in

JSP and relationships between them. This system provides the following facilities.This facilitates

the user to focus much on application aspects leaving behind the database aspects. This project

allows users to generate database schema generation without having much knowledge of

database aspects.

2.2 Existing System

There are many Database Management systems available today. The Database designer

is familiar with any one of the database Management Systems. Let us consider a condition when

a database designer required to design the schema for an application on different DBMS. He

required to learn all the DBMS User Interfaces. Where some of them are GUI (Graphic User

Interface) based and others are CUI(Character User Interface).

Disadvantages of Existing System:

Through this approach to alter or to edit a large database schema, It consumes more time for

a Database Designer. The operations like altering the table structure, Editing the table, Dropping

columns, searching for a column name, searching for a data in the table.. etc.To Design and alter

the Database schema there exists different user interfaces for different DBMS.

3

Page 12: automatic database schema generation

2.3 Proposed System

The Automatic Database Schema Generation System provides the following features :

• The Automatic Database Schema Generation System provides a Common User Interface

to interact with all the databases.

• Here the user interface is Graphical User Interface.

• Being a web based application it doesn’t require any client side installation.

• Any number of users can interact with the system simultaneously.

• Centralized database connectivity.

• Using Session management the interaction more flexible and secure

Advantages of Proposed System:

1) In the centralized peer-to-peer model, a user would send a search to the centralized server

of what they were looking for. The server then sends back a list of peers that have the

data and facilitates the connection and download.

2) The Server-Client system is quick and efficient because the central directory is constantly

being updated.

2.4. Software Requirement Specification

Software Requirements:

i. Operating system : Windows XP/7.ii. Coding Language : Javaiii. Tool kit : JDK_1.7.0iv. IDE : Net Beans IDE 8.0.2

4

Page 13: automatic database schema generation

What is SRS?

Software Requirement Specification (SRS) is the starting point of the software

developing activity. As system grew more complex it became evident that the goal of the entire

system cannot be easily comprehended. Hence the need for the requirement phase arose. The

software project is initiated by the client needs. The SRS is the means of translating the ideas of

the minds of clients (the input) into a formal document (the output of the requirement phase).

The SRS phase consists of two basic activities:

Problem/Requirement Analysis:

The process is order and more nebulous of the two, deals with understand the problem,

the goal and constraints.

Requirement Specification:

Here, the focus is on specifying what has been found giving analysis such as

representation, specification languages and tools, and checking the specifications are addressed

during this activity.

The Requirement phase terminates with the production of the validate SRS document.

Producing the SRS document is the basic goal of this phase.

Document Conventions:

We have used Times New Roman (text size 12). Bold Font is used for Main Headings

(text size of 16). Normal font is used for sub headings (text size of 14).

5

Page 14: automatic database schema generation

Intended Audience and Reading Suggestions:

This document is for better understanding for Remote desktop control. Mainly intended

for Head of the Dept., Internal guide, External guide, Staff members, Users and colleagues. This

detail given below guides every normal user to how to go through this document for better

understanding. The sequence to follow for better understanding is here Purpose, Scope, Features,

Operating requirements, Modules present in the project, Advantages, References etc.

Role of SRS:

The purpose of the Software Requirement Specification is to reduce the communication

gap between the clients and the developers. Software Requirement Specification is the medium

though which the client and user needs are accurately specified. It forms the basis of software

development. A good SRS should satisfy all the parties involved in the system.

2.4.1. Purpose

The main purpose for preparing this document is to give a general insight into the

analysis and requirements of the existing system or situation and for determining the operating

characteristics of the system

2.4.2 Scope

This Document plays a vital role in the development life cycle (SDLC) as it describes the

complete requirement of the system. It is meant for use by the developers and will be the

basic during testing phase. Any changes made to the requirements in the future will have to

go through formal change approval process.

2.4.3 Overall Description

6

Page 15: automatic database schema generation

The developer is responsible for:

• Developing the system, which meets the SRS and solving all the requirements of the

system?

• Demonstrating the system and installing the system at client's location after the

acceptance testing is successful.

• Submitting the required user manual describing the system interfaces to work on it and

also the documents of the system.

• Conducting any user training that might be needed for using the system.

• Maintaining the system for a period of one year after installation.

2.4.4. TECHNOLOGIES USED

Hardware Requirements:

i. System : Intel core i5 2.4GHz ii. Hard Disk : 80 GB iii. Ram : 2 GB or above

Software Requirements:

i. Operating system : windows7 or aboveii. Coding Language : Java JDK_1.7.0iii. Server : Apache Tomcat 8.0.15 iv. Database : MySql Server 5.1

7

Page 16: automatic database schema generation

3. MODULES

3.1 Module Description:

The application was designed into five modules.

1. SQL Query Pane Module

2. Import Option Module

3. Export Option Module

4. Operation Module

5. Search Database Module

1.SQL Query Pane Module:

This module is used to retrieve data from the database by using SQL Queries. The User

interface is designed with a query pane to type the query, where a user can type the sql query.

The sql query is taken by the module as input and generates the output of that query. The output

is displayed in a tabular manner.

2. Import Option Module: This module is developed to retrieve schema from the external files. The supported files

are .sql files. .sql files contains the set of queries that can be executed. This module uses the FTP

protocol which will enable the web server to load the files.

3. Export Option Module:The user can export sql Structure, sql Data or both based on some conditions into 3 types

of files.

1. .sql files

8

Page 17: automatic database schema generation

2. .html files

3. .csv files(Excel Files)

4.Operation Module: The user can create table with constraints, Alter the table, Rename the Table, Drop table

The user can rename the table by giving the old name and new name. The user can drop the table

by selecting the table name from the select box.

5.Search Module: The user must search based on keywords

• Search looks for column names only

• Search looks for data only

3.2 Project Architecture

Two Tier (Client-Server): In a two tier architecture the database resides in one

machine(server) and the data can be accessed by any number of machines(clients) in the

network. In this type of architecture a database manager takes control of the database and

provides access to clients in a network. This software bundle is also called as the server.

Software in different machines, requesting for information are called as clients.

Client/Server Architecture

9

Page 18: automatic database schema generation

4. DESIGN

4.1 Introduction:The Unified Modeling Language (UML) is a standard language for writing software blue

prints. The UML is a language for

i. Visualizing

ii. Specifying

iii. Constructing

Documenting the artifacts of a software intensive system.

The UML is a language which provides vocabulary and the rules for combining words in

that vocabulary for the purpose of communication. A modeling language is a language whose

vocabulary and the rules focus on the conceptual and physical representation of a system.

Modeling yields an understanding of a system. Building Blocks of the UML:

The vocabulary of the UML encompasses three kinds of building blocks:

i. Things

ii. Relationships

iii. Diagrams

Things are the abstractions that are first-class citizens in a model; relationships tie these

things together; diagrams group interesting collections of things.

Things in the UML:There are four kinds of things in the UML:

i. Structural things

ii. Behavioral things

iii. Grouping things

iv. Annotational things

10

Page 19: automatic database schema generation

Structural things are the nouns of UML models. The structural things used in the project

design are first, a class is a description of a set of objects that share the same attributes,

operations, relationships and semantics.

Fig: Classes

Second, a use case is a description of set of sequence of actions that a system performs that

yields an observable result of value to particular actor.

Fig: Use Cases

Third, a node is a physical element that exists at runtime and represents a computational

resource, generally having at least some memory and often processing capability.

Fig: Nodes

11

Window

Origin

Size

open()

close()

move()

display()

Page 20: automatic database schema generation

Behavioral things are the dynamic parts of UML models. The behavioral thing used is:

Interaction:

An interaction is a behavior that comprises a set of messages exchanged among a set of

objects within a particular context to accomplish a specific purpose. An interaction involves a

number of other elements, including messages, action sequences (the behavior invoked by a

message, and links (the connection between objects).

Fig: Messages

Relationships in the UML:

There are four kinds of relationships in the UML:

Dependency

Association

Generalization

Realization

A dependency is a semantic relationship between two things in which a change to one

thing may affect the semantics of the other thing (the dependent thing).

Fig: Dependencies

An association is a structural relationship that describes a set links, a link being a

connection among objects. Aggregation is a special kind of association, representing a structural

relationship between a whole and its parts.

Fig: Association

12

Page 21: automatic database schema generation

A generalization is a specialization/ generalization relationship in which objects of the

specialized element (the child) are substitutable for objects of the generalized element(the

parent).

Fig: Generalization

A realization is a semantic relationship between classifiers, where in one classifier

specifies a contract that another classifier guarantees to carry out.

Fig: Realization

Sequence Diagrams:

UML sequence diagrams are used to represent the flow of messages, events and actions

between the objects or components of a system. Time is represented in the vertical direction

showing the sequence of interactions of the header elements, which are displayed horizontally at

the top of the diagram.

Sequence Diagrams are used primarily to design, document and validate the architecture,

interfaces and logic of the system by describing the sequence of actions that need to be

performed to complete a task or scenario. UML sequence diagrams are useful design tools

because they provide a dynamic view of the system behavior which can be difficult to extract

from static diagrams or specifications.

Actor Represents an external person or entity that interacts with the system

13

Page 22: automatic database schema generation

Object Represents an object in the system or one of its components

Unit Represents a subsystem, component, unit, or other logical entity in the system (may or

may not be implemented by objects)

Separator

Represents an interface or boundary between subsystems, components or units (e.g., air

interface, Internet, network)

Group Groups related header elements into subsystems or components

Sequence Diagram Body Elements

Action

14

Page 23: automatic database schema generation

Represents an action taken by an actor, object or unit

Asynchronous Message An asynchronous message between header elements

Block A block representing a loop or conditional for a particular header element

Call Message A call (procedure) message between header elements

Create Message A "create" message that creates a header element (represented by lifeline going from

dashed to solid pattern)

Diagram Link

15

Page 24: automatic database schema generation

Represents a portion of a diagram being treated as a functional block. Similar to a

procedure or function call that abstracts functionality or details not shown at this level. Can

optionally be linked to another diagram for elaboration.

Else Block Represents an "else" block portion of a diagram block

Message

A simple message between header elements

Input Design:

The input design is the link between the information system and the user. It comprises the

developing specification and procedures for data preparation and those steps are necessary to put

transaction data in to a usable form for processing can be achieved by inspecting the computer to

read data from a written or printed document or it can occur by having people keying the data

directly into the system. The design of input focuses on controlling the amount of input required,

controlling the errors, avoiding delay, avoiding extra steps and keeping the process simple. The

input is designed in such a way so that it provides security and ease of use with retaining the

privacy. Input Design considered the following things:

i. What data should be given as input?

ii. How the data should be arranged or coded?

iii. The dialog to guide the operating personnel in providing input.

iv. Methods for preparing input validations and steps to follow when error occur.

Objectives:

16

Page 25: automatic database schema generation

1. Input Design is the process of converting a user-oriented description of the input into a

computer-based system. This design is important to avoid errors in the data input process and

show the correct direction to the management for getting correct information from the

computerized system.

2. It is achieved by creating user-friendly screens for the data entry to handle large volume of

data. The goal of designing input is to make data entry easier and to be free from errors. The data

entry screen is designed in such a way that all the data manipulates can be performed. It also

provides record viewing facilities.

3. When the data is entered it will check for its validity. Data can be entered with the help of

screens. Appropriate messages are provided as when needed so that the user will not be in maize

of instant. Thus the objective of input design is to create an input layout that is easy to follow

Output Design:

A quality output is one, which meets the requirements of the end user and presents the

information clearly. In any system results of processing are communicated to the users and to

other system through outputs. In output design it is determined how the information is to be

displaced for immediate need and also the hard copy output. It is the most important and direct

source information to the user. Efficient and intelligent output design improves the system’s

relationship to help user decision-making.

1. Designing computer output should proceed in an organized, well thought out manner; the right

output must be developed while ensuring that each output element is designed so that people will

find the system can use easily and effectively. When analysis design computer output, they

should Identify the specific output that is needed to meet the requirements.

2. Select methods for presenting information.

3. Create document, report, or other formats that contain information produced by the system.

17

Page 26: automatic database schema generation

The output form of an information system should accomplish one or more of the

following objectives.

i. Convey information about past activities, current status or projections of the

ii. Future.

iii. Signal important events, opportunities, problems, or warnings.

iv. Trigger an action.

v. Confirm an action.

4.2 UML diagrams:

18

Page 27: automatic database schema generation

USE CASE DIAGRAM

Figure 4.2.1: Use Case Diagram for Database designer

UML Use Case Diagrams. Use case diagrams are usually referred to as behavior

diagrams used to describe a set of actions (use cases) that some system or systems (subject)

should or can perform in collaboration with one or more external users of the system (actors).

CLASS DIAGRAM

19

Page 28: automatic database schema generation

Figure 4.2.2: Class Diagram for Database designer

In software engineering, a class diagram in the Unified Modeling Language (UML) is a

type of static structure diagram that describes the structure of a system by showing the system's

classes, their attributes, operations (or methods), and the relationships among objects.

SEQUENCE DIAGRAM

20

Page 29: automatic database schema generation

Figure 4.2.3: Sequence Diagram for SQL pane

A Sequence diagram is an interaction diagram that shows how processes operate with one

another and in what order. It is a construct of a Message Sequence Chart. A sequence diagram

shows object interactions arranged in time sequence.

21

Page 30: automatic database schema generation

Figure 4.2.4: Sequence Diagram for import button

Figure 4.2.5: Sequence Diagram for export button

22

Page 31: automatic database schema generation

Figure 4.2.6: Sequence Diagram for database operations

Figure 4.2.7: Sequence Diagram for search button

23

Page 32: automatic database schema generation

COLLABORATION DIAGRAM

Figure 4.2.8:Collaboration Diagram for import

A collaboration diagram is a type of visual presentation that shows how various software

objects interact with each other within an overall IT architecture and how users can benefit from

this collaboration. A collaboration diagram often comes in the form of a visual chart that

resembles a flow chart.

24

Page 33: automatic database schema generation

COMPONENT DIAGRAM

Figure 4.2.9: System Component Diagram

Component diagram is a special kind of diagram in UML. The purpose is also different

from all other diagrams discussed so far. It does not describe the functionality of the system but

it describes the components used to make those functionalities.

25

Page 34: automatic database schema generation

ACTIVITY DIAGRAM

Figure 4.2.10: System Activity Diagram

Activity diagram is another important diagram in UML to describe dynamic aspects of

the system. Activity diagram is basically a flow chart to represent the flow form one activity to

another activity. The activity can be described as an operation of the system. So the control flow

is drawn from one operation to another.

26

Page 35: automatic database schema generation

DEPLOYMENT DIAGRAM

Figure 4.2.11: System Deployment Diagram

Deployment diagram is a structure diagram which shows architecture of the system as

deployment (distribution) of software artifacts to deployment targets. Artifacts represent concrete

elements in the physical world that are the result of a development process.

27

Page 36: automatic database schema generation

5. IMPLEMENTATION

LOGIN:

import java.lang.String;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpSession;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Login extends HttpServlet{public void doGet(HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException {String message = req.getParameter("message");res.setContentType("text/html");PrintWriter writer = res.getWriter();writer.println("<HTML>");writer.println("<HEAD>");writer.println("<TITLE> Schema Generation </TITLE>");

writer.println("<METANAME=AuthorCONTENT=vamsi>");writer.println( "<STYLE>" +

"#t1 { " +" position:absolute; " +" margin-left:210px; "

+" margin-top:50px; " +" width:340px; " +" height:33px; " +" background:#336699;

" + " font-family:Serif; " +" font-weight:bold; " +" font-size:20px; " +" color:#ffffff; " +" text-align:center; " +

28

Page 37: automatic database schema generation

" border-style:double; " +

" border-color:black; " +

" border-width:2px; " +"} " +"#t2 { " +" position:absolute; " +" margin-left:210px; "

+ " margin-top:84px; " +" width:340px; " +" height:180px; " + " background:#f5f5f5; "

+ " font-family:Tahoma;

" +" font-weight:bold; " +" font-size:14px; " + " color:black; " +" border-style:groove; "

+" border-color:black; "

+" border-width:1px; " +"} " +"#msg {" +" background:#abcdef;

" +" font-family:Tahoma;

" +" font-size:14; " +" font-weight:bold; " +" color:black; " +" text-align:center; " +" text-

transform:Capitalize; " +"} " +"input { " +" height:26px; " +" width:240px; " +

29

Page 38: automatic database schema generation

" font-size:14px; " +"} " +"select { font-

size:16px; } " +"</STYLE>");

writer.println( "<SCRIPT LANGUAGE=javascript>" +" var onImages = new

Array(); " +" var offImages = new

Array(); " +"function verify() {

" var ur = document.loginform.url.value; " +" if(ur == null || ur

== \"\" || ur == \" \") { " +" alert('URL

must be entered.'); " +document.loginform.url.focus(); " + "} " + "else document.loginform.submit(); " "} " +"function isEmpty(id) { " + "if(id.value==null id.value==\"\" || id.value==\" \") { " +

" alert(id.name + \" must be entered.\"); " + " id.focus(); " +

" } " +"} " +"function empty() { " +"

document.loginform.reset(); " +"

document.loginform.url.value = \"jdbc:odbc:mydsn1\"; " +"

document.loginform.userid.focus(); " +"} " +"function down(id) { " +" if(id == 1)

document.loginform.pic1.src = onImages[id-1].src; " +" if(id == 2)

document.loginform.pic2.src = onImages[id-1].src; " +"} " +"function up(id) { " +" if(id == 1)

document.loginform.pic1.src = offImages[id-1].src; " +" if(id == 2)

document.loginform.pic2.src = offImages[id-1].src; " +

30

Page 39: automatic database schema generation

"} " +"function load() { " +" onImages[0] = new

Image(); " +" onImages[1] = new

Image(); " +" onImages[0].src

= \"pics/login2.jpg\"; " +" onImages[1].src

= \"pics/reset2.jpg\"; " +" offImages[0] = new

Image(); " +" offImages[1] = new

Image(); " +" offImages[0].src

= \"pics/login1.jpg\"; " +" offImages[1].src

= \"pics/reset1.jpg\"; " + " document.loginform.url.value = \"jdbc:odbc:mydsn1\"; " + "document.loginform.userid.focu"}

"function setURL() { " +"var i =nt.loginform.driver.selectedIndex; " +f(i == 0)document.loginform.url.value = \"jdbc:odbc:mydsn1\"; " +"else if(i == 1) document.loginform.url.value = \"jdbc:mysql://localhost:3306/\"; " +"else if(i == 2) document.loginform.url.value = \"jdbc:oracle:thin:@localhost:1521:xe\"; " +"} " +</SCRIPT>");

writer.println("</HEAD>");writer.println("<BODYBGCOLOR=#f5f5f5ad=load()>");writer.println("<HR WIDTH=80%>");writer.println("<TABLEALIGN=centerELLPADDING=4

BORDER=0 WIDTH=80%");writer.println("<TR>");writer.println("<TH id=msg>" + message + "</TH>");writer.println("</TR>");writer.println("</TABLE>");writer.println("<HR WIDTH=80%>");

writer.println("<FORM NAME=loginform METHOD=post ACTION='LoadAll'>");writer.println("<TABLEalign=centerTD>DATABASE

LOGIN</TD></TR></TABLE>");writer.println("<TABLE align=center id=t2>");writer.println("<TR><TD align=center>Driver</TD>");writer.println("<TD align=center>");

writer.println("<SELECTname=driveronChange=setURL()>");

31

Page 40: automatic database schema generation

writer.println("<OPTIONselected>sun.jdbc.odbc.JdbcOdbcDriver</OPTION>");

writer.println("<OPTION>com.mysql.jdbc.Driver</OPTION>");writer.println("<OPTION>oracle.jdbc.driver.OracleDriver</OPTION>");

writer.println("</SELECT>");writer.println("</TD>");writer.println("</TR>");writer.println("<TR><TD align=center>URL</TD>");writer.println("<TD align=center><INPUT type=text

name=url size=32></TD></TR>");writer.println("<TR><TD align=center>Username</TD>");writer.println( "<TD align=center><input type=text

name=userid size=32 " +"onFocus='isEmpty(document.loginform.url)'></TD></TR>");writer.println("<TR><TD align=center>Password</TD>");writer.println( "<TD align=center><input type=password

name=pass size=32 " +"onFocus='isEmpty(document.loginform.url)'></TD></TR>");writer.println("<TR><TD align=center colspan=2>");writer.println( "<IMG name=pic1 src='pics/login1.jpg'

border=0 " +"onMouseOut='up(1)' STYLE='cursor:hand' onMouseDown='down(1)' " +"onMouseUp='up(1)' onClick='verify()'>&nbsp&nbsp&nbsp");writer.println( "<img name=pic2 src='pics/reset1.jpg' border=0 " +"onMouseOut='up(2)'STYLE='cursor:hand' onMouseDown='down(2)' " +"onMouseUp='up(2)' onClick='empty()'>");

writer.println("</TD></TR>");writer.println("</TABLE>");writer.println("</FORM>");writer.println("</BODY>");writer.println("</HTML>");writer.close();

}

32

Page 41: automatic database schema generation

6. TESTING

Testing is the process of detecting errors. Testing performs a very critical role for quality

assurance and for ensuring the reliability of software. The results of testing are used later on

during maintenance also.

Psychology of Testing

The aim of testing is often to demonstrate that a program works by showing that it has no

errors. The basic purpose of testing phase is to detect the errors that may be present in the

program. Hence one should not start testing with the intent of showing that a program works, but

the intent should be to show that a program doesn’t work. Testing is the process of executing a

program with the intent of finding errors.

Testing Objectives The main objective of testing is to uncover a host of errors, systematically and with

minimum effort and time. Stating formally, we can say,

Testing is a process of executing a program with the intent of finding an error.

A successful test is one that uncovers an as yet undiscovered error.

A good test case is one that has a high probability of finding error, if it exists.

The tests are inadequate to detect possibly present errors.

The software more or less confirms to the quality and reliable standards.

6.1. Levels of Testing

In order to uncover the errors present in different phases we have the concept of levels of

testing. The basic levels of testing are as shown below…

33

Page 42: automatic database schema generation

Figure 6.1:Levels of Testing

System Testing

The philosophy behind testing is to find errors. Test cases are devised with this in mind. A

strategy employed for system testing is code testing.

Code Testing:

This strategy examines the logic of the program. To follow this method we developed

some test data that resulted in executing every instruction in the program and module i.e. every

path is tested. Systems are not designed as entire nor are they tested as single systems. To ensure

that the coding is perfect two types of testing is performed or for that matter is performed or that

matter is performed or for that matter is performed on all systems.

6.2. Types of Testing:

Unit Testing

Link Testing

Integration Testing

34

Acceptance Testing

System Testing

Integration Testing

Unit Testing

Page 43: automatic database schema generation

System Testing

Acceptance Testing

Unit Testing

Unit testing focuses verification effort on the smallest unit of software i.e. the module.

Using the detailed design and the process specifications testing is done to uncover errors within

the boundary of the module. All modules must be successful in the unit test before the start of the

integration testing begins.

In this project each service can be thought of a module. There are so many modules like

Login, HWAdmin, MasterAdmin, Normal User, and PManager. Giving different sets of inputs

has tested each module. When developing the module as well as finishing the development so

that each module works without any error. The inputs are validated when accepting from the

user.

In this application developer tests the programs up as system. Software units in a system

are the modules and routines that are assembled and integrated to form a specific function. Unit

testing is first done on modules, independent of one another to locate errors. This enables to

detect errors. Through this errors resulting from interaction between modules initially avoided.

Link Testing

Link testing does not test software but rather the integration of each module in system.

The primary concern is the compatibility of each module. The Programmer tests where modules

are designed with different parameters, length, type etc.

Integration Testing

After the unit testing we have to perform integration testing. The goal here is to see if

modules can be integrated properly, the emphasis being on testing interfaces between modules.

This testing activity can be considered as testing the design and hence the emphasis on testing

module interactions.

In this project integrating all the modules forms the main system. When integrating all

the modules I have checked whether the integration effects working of any of the services by

35

Page 44: automatic database schema generation

giving different combinations of inputs with which the two services run perfectly before

Integration.

System Testing

Here the entire software system is tested. The reference document for this process is the

requirements document, and the goal os to see if software meets its requirements. Here entire

‘ATM’ has been tested against requirements of project and it is checked whether all requirements

of project have been satisfied or not.

Acceptance Testing

Acceptance Test is performed with realistic data of the client to demonstrate that the

software is working satisfactorily. Testing here is focused on external behavior of the system; the

internal logic of program is not emphasized.

In this project ‘Network Management Of Database System’ I have collected some data

and tested whether project is working correctly or not.

Test cases should be selected so that the largest number of attributes of an equivalence

class is exercised at once. The testing phase is an important part of software development. It is

the process of finding errors and missing operations and also a complete verification to

determine whether the objectives are met and the user requirements are satisfied.

6.2.1.White Box Testing

This is a unit testing method where a unit will be taken at a time and tested thoroughly at

a statement level to find the maximum possible errors. I tested step wise every piece of code,

taking care that every statement in the code is executed at least once. The white box testing is

also called Glass Box Testing.

I have generated a list of test cases, sample data, which is used to check all possible

combinations of execution paths through the code at every module level.

36

Page 45: automatic database schema generation

6.2.2. Black Box Testing

This testing method considers a module as a single unit and checks the unit at interface

and communication with other modules rather getting into details at statement level. Here the

module will be treated as a block box that will take some input and generate output. Output for a

given set of input combinations are forwarded to other modules.

6.3. TEST CASES: All the test cases mentioned below passed successfully. No defects

encountered.

Test Case

Id

Test Case Function Being

Tested

Initial

State

Input Expected

Output

Status

TC001 Application

startup

Application

should open

Application

in off

Run the batch

file

Application

should turn on Success

TC002 File uploading

onto server

Working of file

uploading option

Server

Screen

Select file to

be uploaded

Option

Uploaded

successfully Success

TC003 Client requested

file download

Checks for

requested file

Client

screen

Search for

requested file

File is found Success

TC004 Client requested

file download

Checks for

requested file

Client

screen

Search for

requested file

File is not found Failure

TC005 Parallel

downloading

Packets

downloaded

parallel from

peer

Server

Screen

Select parallel

option

File should

download

Success

37

Page 46: automatic database schema generation

TC006 Random chunk

based

downloading

Packets

downloaded in

random from all

peers

Server

Screen

Select random

chunk option

File should

download

Success

TC007 Periodic

switching

download

packet

downloaded in

periodically from

peers

Server

Screen

Select periodic

switching

option

File should

download

Success

TC008 Application Exit Closing of

Application

Client

Screen

Selecting of

Exit Option

App Closed Success

38

Page 47: automatic database schema generation

7. RESULTS

7.1. Screen Shots:

Figure 7.1.1: DataBase login screen

39

Page 48: automatic database schema generation

Figure 7.1.2:Structure of cvsr schema screen

40

Page 49: automatic database schema generation

Figure 7.1.3:Structure of emp table screen

41

Page 50: automatic database schema generation

Figure 7.1.4:Browse a Database screen

42

Page 51: automatic database schema generation

Figure 7.1.5:Properties of cvsr schema screen

43

Page 52: automatic database schema generation

Figure 7.1.6:SQL Query pane Screen

44

Page 53: automatic database schema generation

Figure 7.1.7:Result SQL Query Screen

45

Page 54: automatic database schema generation

Figure 7.1.8: Import a SQL file screen

46

Page 55: automatic database schema generation

Figure 7.1.9: Import cvsr emp table screen

47

Page 56: automatic database schema generation

Figure 7.1.10: Import succeded screen

48

Page 57: automatic database schema generation

Figure 7.1.11: Export table screen

49

Page 58: automatic database schema generation

Figure 7.1.12: Database Operations Screen

50

Page 59: automatic database schema generation

Figure 7.1.13: Search Database Screen

51

Page 60: automatic database schema generation

Figure 7.1.14: Search Result Screen

52

Page 61: automatic database schema generation

8. CONCLUSION

The entire project has been developed and deployed as per the requirements stated by the

user, it is found to be bug free as per the testing standards that are implemented. Any

specification untraced errors will be concentrated in the coming versions, which are planned to

be developed in near future. The system at present does not take care off the money payment

methods, as the consolidated constructs need SSL standards and are critically to be initiated in

the first face; the application of the credit card transactions is applied as a developmental phase

in the coming days. The system needs more elaborative technicality for its inception and

evolution.

9. REFERENCES

1. Y. M. Chiu and D. Y. Eun, “Minimizing file download time over stochastic channels in peer-to-peer networks,” in Proc. 40th Annu. Conf.

53

Page 62: automatic database schema generation

2. D. Qiu and R. Srikant, “Modelling and performance analysis of Bit-Torrent-like peer-to-peer networks,” in Proc. ACMSIGCOMM, August2004.

3. X.Yang and G. deVeciana, “Service capacity of peer to peer networks,”in Proc. IEEE INFOCOM, Mar. 2004, pp. 2242–2252.

4. K. P. Gummadi, R. J. Dunn, and S. Saroiu, “Measurement, modeling,and analysis of a

peer-to-peer file sharing workload,” in Proc. ACMSymp. Operating Systems Principles

(SOSP), 2003.

5. M. Adler, R. Kumar, K. Ross, D. Rubenstein, D. Turner, and D. D.Yao, “Optimal peer

selection in a free-market peer-resource economy,”in Proc. Workshop on Economics of

Peer-to-Peer Systems (P2PEcon),Cambridge, MA, Jun. 2004.

6. M. Adler, R. Kumar, K. Ross, D. Rubenstein, T. Suel, and D. D. Yao,“Optimal peer

selection for P2P downloading and streaming,” in Proc.IEEE INFOCOM, Miami, FL,

Mar. 2005, pp. 1538–1549.

7. D. S. Bernstein, Z. Feng, and B. N. Levine, “Adaptive peer selection,”in Proc.

Int.Workshop on Peer-to-Peer Systems (IPTPS), Berkeley, CA,Feb. 2003.

54

Page 63: automatic database schema generation

55

Page 64: automatic database schema generation

56

Page 65: automatic database schema generation

57


Recommended