USER INTERFACES TO DATABASES - A SURVEY

: A user interface of a software system controls the way how instructions and data are entered (input) by the user into the computer and how the information is presented by the computer on the screen (output). Information is playing a major role in human lives since many years. In order to make a decision, a person needs a variety of information. Nowadays, databases are involving in many ways in providing information to the most of the users. With the advances in Information and Communications Technologies (ICT) such as Computers, Laptops, Smart phones, Internet, Personal Digital Assistants (PDAs), information can be accessed anywhere and at anytime. As the number of information workers is increasing day-by-day, there is a need to develop technologies to access information from databases easily and effectively. This paper presents various user interfaces to databases developed to access information from the databases.


INTRODUCTION
A user interface is an important aspect of any software system. It acts like a link between the user and the computer. The success of any software system depends on its user interface. Every user interface of any software system must have usability. A usable user interface allows the users to access information and perform various tasks very easily and effectively. A user interface should provide a natural communication between a user and software system in the language that users know. It should not force the users to remember some thing and interact. The interface style must be uniform and most of the errors are to be prevented.
Information is playing a major role in human lives since many years. In order to make a decision, a person needs a variety of information. Most of the organizations are storing their data in the databases to facilitate their users to easily retrieve and manipulate data. Nowadays, databases have become one of the major sources of information for most of the users. As the number of information workers is increasing day-by-day, there is a need to develop technologies to access information from databases easily and effectively.
Practically, every database needs a user interface to retrieve data from it. As mentioned in [1], all the users of any software system are expecting one of the main characteristics i.e., ease of use. Because of this, the software system developers must develop an effective user interface for the software system to satisfy its users. A software system which is more powerful internally may fail if it is not easier to use.
Before developing a user interface to a software system, the developers must first identify the audience i.e., users. Later, the developers must collect the details related to users such as their profiles, tasks, needs and psychological characteristics. The user interface must be developed to match with the users' tasks, profiles and other characteristics.
Nowadays, many people try to get information from databases for their needs. There is a need to have a good interface to submit requests and to get the information from the database. Most of the Database Management Systems (DBMSs) provide a query language interface such as Structured Query Language (SQL) to retrieve information from the database. But, this formal query language interface forces the users to have cognitive skills that the typical users do not possess. The cognitive load demanded by existing query languages (such as SQL) during data retrieval includes the following. a. A good understanding of database schema design. b. A more or less extensive knowledge of database systems, database query language syntax and structure.
c. The ability to manually or mentally create message graphs to join tables and to express desired database requests.
A user interface is needed by nearly any database to enable the users to retrieve data from database. Nowadays, the amount of information that is being generated and making it available is alarming.
Furthermore, the complexity of conceptual structures i.e. schemas of the data that has been made available in the database is also increasing. This affects the users in formulating complex queries to retrieve or manipulate data in the database. Because of the increased proliferation of information and database usage by the many organizations, the potential user base of the database systems has increased. In turn, the importance of a good user interface to the database is increased.
Many alternative interfaces to databases were developed to access information from database such as Command-based interfaces, Form-based interfaces, menu-based interfaces, graphical interfaces and natural language interfaces and so on. Each of these interfaces has its own advantages and disadvantages. Users need an interface to database that enables them to retrieve a variety of information they need from the database in a more natural way.

USER INTERFACES TO DATABASES
A user interface to a database should allow the user to retrieve any desired information from the database. Many alternative Interfaces to databases were developed to access information from database. A thorough literature review has been conducted through the research papers published and available in the Internet and the following types of user interfaces to databases were identified.

i) Command-based interfaces ii) Form-based interfaces iii) Menu-based interfaces iv) Graphics-based interfaces v) Natural language interfaces
It has been observed that each of the above interfaces has some advantages and disadvantages. The information about each of the user interfaces to databases mentioned above is presented in the following sections.

COMMAND-BASED INTERFACES
As mentioned in [2], Command-based interfaces are interfaces where users specify their request for information by entering textual commands. For example, the user enters the following command to retrieve employee name of the employee whose employee number is 1912. select ename from employee where eno = 1912; Command languages such as SQL (Structured Query Language) are used to formulate commands. Command-based interfaces are standard interfaces to retrieve and manipulate data in the database. Almost all Database Management Systems (DBMSs) provide command-based interface to the users to retrieve and manipulate data in the database.
A command-based interface of a DBMS allows the users to enter commands to retrieve information from the database. To formulate commands correctly, the users need to learn and remember the syntax rules of the command language. In addition to syntax rules, every user should have knowledge about the database structure such as tables, attributes, data types, Primary keys and Foreign keys and so on to formulate a query or command. Because of this, the command-based interface is not suitable for novice users. However, after a user mastered the command language, the command-based interface allows the user to express complicated actions to be performed quickly and accurately.
The following are the advantages and disadvantages of command-based interfaces to Databases.

Advantages
• More suitable to expert users :- • Flexibility in formulating queries to retrieve almost any information from the database • Supports to perform Compound operations by specifying a set of commands in a file.

Disadvantages
• Mastering a command language requires substantial training and memorization.

:-
• There is a need for the users to know the details about the database such as tables and their relationships. • The help facilities provided to the users at the command-based interfaces to databases is poor.

FORM-BASED INTERFACES
As mentioned in [2], a Form-based interface, as its name implies, provides a number of forms to the users to fill. Each form on the screen looks like a paper form. Because of this, the users feel that this way of interaction is already familiar to them. Each form has captions i.e., labels and fields. The labels in the form describe the data that is to be entered or to be displayed.
As mentioned in [3], form-based interfaces use forms containing labels and fields to collect and display data. In this type of user interface, the user enters data in some fields which he/she knows, the software system retrieves the related data from the database, if it is available in the database, and displays them in some other fields. Otherwise, it displays a suitable error message.
Form-based interfaces to databases are also have some advantages and disadvantages as mentioned below.

Advantages
• The users can specify requests for information from the database easily by selecting or entering values in some fields.

:-
• The need of special training and remembering of things are not required. • Learning the syntax of any command language is not needed. • Users need not know the details of the database structure. • As the interaction with the form-based interfaces is like filling the paper forms, users feel friendliness in the interaction.

Disadvantages
• Each Form in the Form-based interface consumes more screen space.

:-
• Many forms are to be developed by the system administrator for different types of requests for information from the database.
• Form-based interfaces are convenient to use only in those computing devices which have large screen.

MENU-BASED INTERFACES
As mentioned in [2], a menu specifies various options from which users can select some options to perform some tasks. In this type of interface, a user specifies his/her request by selecting some options in the menus. In Menu-based interfaces, all choices are presented to the user on the screen in the form of menus. As all the choices are visible to the user, he/she need not memorize the commands. In case of Menu-based interface to Database, all the words and phrases that are required to formulate natural language query are presented on the screen in the form of menus. As mentioned in [4], the user in this type of Interface will not type directly his/her questions. Instead, the user chooses the words and phrases from the menus to formulate natural language query. As mentioned in [4], in menu-based interface, continuously the menus are made visible on the screen to the users.
The following are the Advantages and Disadvantages of Menu-based interfaces to Database.

Advantages
• The menu-based interface guarantees that the natural language query formulated by the user is free from spelling errors.

:-
• In the menu-based interface, many menus are developed to provide different phrases and words. The user formulates the natural language query by choosing some phrases and words using these menus by making use of simple pointing device and thus reduces keystrokes. • Learning a special command language is not necessary. • Knowledge of database details such as tables is not required. • No training and memorization required for the users to use the menu-based interface to database. • This interface allows the users to input valid questions and thus prevents many errors.

Disadvantages
• In applications requiring long questions, many words and phrases from many menus are to be selected to formulate the natural language query. This may be tedious.

:-
• As the menus display many options to the user, more amount of screen area is required.
• Experienced users may feel slow if several words and phrases are to be selected from various menus.
• Rapid display rate is required to display menus quickly.

GRAPHICS-BASED INTERFACES
A Graphics-based interface allows the users to perform Direct Manipulation on the displayed objects by following the principles given below.
• Objects of Interest are represented visually and continuously. • Physical procedures such as dragging, clicking are used to position a cursor or to manipulate an object. Users do not need to learn command languages to perform operations on the objects. • The effect of the actions on the displayed objects is immediately visible.
In other words, the Graphics-based interface supports the representation of the world visually on the screen and permits the users to operate directly the real displayed objects.
In Graphics-based interface to a database, the user creates a query to retrieve information from the database. The user has to perform the following tasks to formulate a query. Graphics-based interfaces also have the advantages and disadvantages that are given below.

Advantages
• The user can directly specify the request for information from the database by manipulating (e.g. selecting, dragging etc.) the different displayed graphic objects on the screen.

:-
• This interface provides a very natural method for interaction. • As all the task concepts are visually presented, it is very easy for the users to learn and retain. • Errors can be minimized.
• As no special commands are used to manipulate objects, the learning of the syntax of any command language is not needed.

Disadvantages
• The user should have some knowledge about database concepts such as database, tables, attributes, joining using common attributes etc.

:-
• It is difficult for the Interface designers to develop suitable graphical representations for the concepts. • Incorrect graphics representations may mislead the users. • Graphic representations may consume more screen space.
• Experienced typists may feel that direct manipulation of objects using mouse or finger may sometimes be slower than typing.

NATURAL LANGUAGE INTERFACES
As mentioned in [2], a Natural language interface to a database provides an environment to the users in that the users can specify their request for information from the database in a natural language such as English, Hindi, Telugu etc. This way of interaction is very natural as it mimics the way in which humans are communicated with each other.
In Natural language interfaces, the users interact with the system by submitting requests written in natural language. As most of the users are familiar with natural languages such as English, users feel that this type of interaction as a very natural way of interaction with databases. Natural language interfaces are suitable for different types of computers including Smart phones.
As mentioned in [4], Natural language interfaces to databases (NLIDBs) come with the advantages and disadvantages that are listed below.

Advantages
(i) No need to learn a special language :-(ii) Some kinds of questions involving quantification or negation can be easily expressed (iii) Support for anaphoric and elliptical questions (iv) As the Natural language interfaces consume less screen space, they are also suitable for computing devices having small screens. Disadvantages

CONCLUSION
A user interface to a database should allow the user to submit his/her request and to retrieve any desired information from the database. Many alternative Interfaces to databases were developed to access information from database. Through the survey of literature, it has been observed that there are mainly five types of user interfaces to databases such as natural language interfaces, form-based interfaces, graphics-based interfaces, menubased interfaces, and command-based interfaces. Each of these interfaces comes with some advantages and disadvantages. With the advances in Information and Communication Technology, non-technical users who wish to retrieve information from databases are increasing dayby-day in number. Because of this, there is a need to do research in this area to develop an effective interface to database that attempts to combine graphics, menus, forms and natural language to merge the advantages of all these types of user interfaces.