My Sql Open Source Database Management System Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Mysql is most popular open source software licensed under the terms of General Public License. It is a relational database management system which acts as a server to number of databases with providing access by multi user. It is specially designed for database access. Mysql database server projected for heavy production systems, embedding into mass-deployed and also for mission-critical software and its product delivers will be very reliable, easy to use and fast. They are many different types of methods for retrieving, storing data and organizing these data in to the computer. By using Dr.E.F. Codd's paper "A Relational Model of Data for Large Shared Data Banks" IBM has developed this prototype as a model. In 1979, as soon as IBM has developed the prototype, the first SQL product was incorporated i.e. ORACLE which was released by relational software (afterwards it has renamed as Oracle Corporation). It is also defined as "sequel" (Structured English Query Language).

My sql interact with user through relation database by using SQL commands. To establish the SQL, first user has to connect to the database. By using SQL commands data can be manipulate database, define the database structures and query the database, such as tables. User can establish the SQL either by front end application or direct connection at workstation or terminal which communicate with system through network which hosts the database. These are the basic categories of SQL commands to perform the functions which includes deleting, updating, controlling, manipulating, populating and building database with data.

Data definition language (DDL) allows the database user to restructure and create the database and database objects. These commands will be mostly used by database administrators during the removal or setup phases of the database projects.

Create: By using this command user can create and manage many independent databases. For examples, CREATE DATABASE employees

This command line creates an empty database named with "employees" on your database management system. As soon as you complete with creating the database user next step will be to create the tables which contain data.

CREATE TABLE emp_info (sur_name char(10) not null, first_name char(10) not null, phone_num int not null)

With this command in the current database table title has been created "emplopyee info"which contains three attributes there are surname, first name and phone number.

Use: The user is allowed to use this command to identify the database you want to work within your database management system. For example, by using this command USE emp you can change the employee database.

Alter: After creation of table in the database, if you want to modify the meaning of it, by using this command the database user can make changes to the outline of the table without recreating or deleting it. For example,

ALTER TABLE emp_info

ADD employee id null

This will include the other attribute called emp id. The "id" itself indicates that an employee id will stored in pounds and the "null" keyword tells that OK for this fields to contain no value for the particular employee.

Drop: By using this command, user is allowed to remove the entire database object from the database management system. For example, if you want to remove permanently the table which we have created, by using this command

DROP TABLE emp_info

In the same way, by using this command DROP DATABASE emp the database user can remove the entire employee's database

Data manipulation language: allow the database user to insert, modify and retrieve database information. These commands are used when routine operation of the database.

Insert: This command is used for adding the records to an existing table. From the previous examples emp_info, if user want to add new employee to their database by using this command

INSERT INTO emp_info


These values indicate the table attributes in the database which defined :sur_name, frist_name, phone_num.

Select: This is mostly used command in the DBMS (database management system) in SQL. It allows the database user to retrieve the particular information It provides the database user as they need from an operational database to retrieve the particular information. For examples, if we take the pervious emp_info table by using this table form database we can show how can we retrieve all the information which contained within this table. Note that the asterisk means "select everything from the emp_info table" and it is used as wildcard in the DBMS.


FROM emp_info

If the database user may want to retrieve the attributes in the limit from the database. For example, the HR department want only the list of the surnames of all employees in the database by using this command user can retrieve this information:

SELECT sur_name

FROM emp_info

In this database user have option to retrieve the information in the specified criteria in the limit. For example if we want to review the personnel information of all highly paid employee. By using the following command user can retrieve all the data which contain from the record that have greater than 10,000€:


FROM emp_info

WHERE salary > 10,000€

Update: This command is used to modify the information which is contained within a table in the database, either in individually or bulk. If suppose the database user wants to increase the 1% bonus to all the employees in their salary. By using below command user can quickly change the information of all employee in the database.

UPDATE emp_info

SET salary = salary * 0.01

If suppose database user wants to increases 400€ salary to only one employee in the table then WHERE clause is used to change as the above the user's wish.

UPDATA emp_info

SET salary = salary + 400€

WHERE emp_id = 12

Delete:  This command along with WHERE clause is used to remove the employee details in the record from the database table.

DELETE FROM emp_info

WHERE emp_id = 12

Data query language: is most popular used language in SQL for relational database users. It is usually used by database user to analysis the information with the database and it is issued via command line prompt or through interface application.

Data control language: This command in SQL allows the user to perform database administrator operations, like granting, revoking the privileges, creating the users and control access to data from the database. These commands are normally used to control the distribution of privileges among the database users and also it creates the objects which are connected to user access.

The following are the data control commands such as:

Grant: This function can assign privileges to database users and create new users. Its syntax is:

"GRANT priv_type [(column_list)] [, priv_type [(column_list)] ...]

ON {tbl_name | * | *.* | db_name.*}

TO user_name [IDENTIFIED BY 'password']

[, user_name [IDENTIFIED BY 'password'] ...]


For example the below command user can create new user named with admin, which will connect to the sql database server via the host using the password iloveadmin.

GRANT usage ON *.* TO [email protected]

->IDENTIFIED BY 'iloveadmin';

Revoke: This function is used to rescind privileges which are formerly granted to a user. Its syntax is:

"REVOKE priv_type [(column_list)] [, priv_type [(column_list)] ...]

ON {tbl_name | * | *.* | db_name.*}

FROM user_name [, user_name ...]"

For example if the user wants to cancel the DELETE privilege from the user admin we can use the below command:


->FROM [email protected];

The SQL database is flexibility with all platform of unix, windows and linux being supported and scalability, it is capable of supporting embedded application. It has always high performance and availability. Mysql assure complete data integrity and support with strong transactional. The features like B-tree, hash indexes, compressed archive and memory tables in result it reduce the storage requirement which make Mysql strong in data protection, business and web applications. It provides complete support in developing the every application this is the one of the reason why Mysql is called as open source database.

Mysql database server and libraries are implemented in ANSI C++ or ANSI C. This database can works on many different system platforms which includes QNX, Linux, Mac OS X, FreeBSD, Microsoft Windows etc. Many programming languages are used for accessing SQL database with language specific APIs including libraries.

-ƒ  Mysql is fast, broad, highly optimized and easy database. It provides non transactional and transactional storage support. This database is multi-threaded and client server network environment.

-ƒ  It has variable and fixed length records. SQL is unsigned and signed integers, FLOAT, CHAR, TEXT, TIME, YEAR, SET, ENUM etc.

-ƒ  The password and privilege system is very secure and flexible which is verified by host based system and all the password passage is encrypted when it is trying to connect with database server.

-ƒ  The SQL server can handles huge databases which contain 50 million records and max user can allow to use the width of index is 1000 bytes with upto 64 indexes per table that includes the prefix of column for TEXT, VARCHAR, CHAR column types.

--ƒ  SQL support unicode and many different characters sets including German, latin1 "(ISO-8859-1)" etc, all the data is saved according to the character set. It also provides error messages in different languages.

-ƒ  To find out the online assistance SQL queries can be invoked with the -? Or help option. The SQL server has integrated support for all SQL statements to optimize, repair and check the tables.

The Mysql database server is a dual licensed because it is open source software under the privileges of general public or need to purchase a standard commercial privileges form oracle.

For the distribution of mysql for download and use there are two main decisions to be made:

ƒ Choosing between source and binary distribution

In Mysql database server is available for the binary and source distributions for the downloading on its website. In source distributions are works on platform for both UNIX and windows and binary distributions is available for Solaris, FreeBSD, Windows 95/98/2000/XP/NT/ ME, IBM AIX, HP-UX, Linux, Mac OS X, and SCO OpenUNIX. But most of the time binary distribution is been used rather than source distribution. For creating binary distributions mysql AB takes lot of effort and time into various platforms, but this distribution is generally consider as good idea to use. Source distribution takes more time to install then the binary distributions, and mysql's developers optimized the distribution to ensure the max performance on the systems.

ƒ  Choosing the version

There are two types of version such as Mysql standard and max. Mysql standard version is suitable for the production environments which requires flexible, robust and stable database engine. This database server support for both the newer, transaction-safe tables and regular which is non-transactional tables.

Mysql max is not suitable for production environments since it includes not-completely-stable enhancements. This database includes set of standard version with transaction-safe tables along with more capabilities.


Java is created by sun Microsystems, mainly used in the internet as computer programming language. Java use a virtual machine which is already been implemented in most browsers to translate java on different system into a specific application. It is unusual in compiling and interpreting a program but with other most of the programming languages to run it on the computer, you need to either interpret or compile a program. Applets and applications are the most commonly used java programs. Applets are not standalone, it is similar to applications. Applications run as standalone, such as Hot java browser. Its applications are normally complied with class file (byte code) which can run on any java virtual machine in spite of computer architecture. Java is concurrent, object oriented language and class based, which is designed specifically as soon as to have implementation dependencies. Java has become widely used web applications from software application and is one of the most commonly used programming languages.

Java is an object oriented programming language, on net distributed client/server systems is suitable for object technology. It incorporates the concepts of reusable component software. Java is an object that is because of exception of primitive data types. If necessary even the primitive types can be encapsulated within objects. There are three fundamental aspects of object oriented technology which is supported by java.

Encapsulation: Instance methods and variables for class packaged together which provides information hiding and modularity.

Inheritance: Subclass depicting newer behavior of existing classes is allowed. But multiple inheritances are not available.

Polymorphism: Same message sent to different objects results in a behavior dependent on the nature of the object receiving that message.

Features of Java:

-ƒ  Java is architecture neutral and portable i.e. once the java program is complied it can be executed on any machine.

-ƒ  Java is Dynamic i.e. as it is object oriented, it allows for runtime extensibility.

ƒ  For native code usage and in time compiling, java is high performance so it support multi threading.

-ƒ Java support multi threading, so different parts of the application can be executed at the same time.

-ƒ It give protection against unintentional and intentional attacks such as viruses, worms etc.

-ƒ  It is robust and distributed i.e. java based applets or applications behave equally across different platforms and it will not let system crash.

Java language basics:

The java uses both "variables" and "fields" as part of its own terms. There are four kinds of variable such parameters, class, local and instance variables. A class variable is also known as static fields, which is declared with that static modifier. It is just one copy of class variables, in spite of depence on the class that how many times it has been instantiated. Instance variables are also called as non-static fields, which is instance of the class uniquely. Temporarily local variable is stored inside the method. Extra information is provided by parameters to the method. Both parameters and local variables are classified as "variables" not as "fields". There are some conventions and rules which should follow when you start naming your variables or fields. There are eight primitive data types such as int, short, float, byte, long, double, char and Boolean. The character strings is represented by java.lang.string. For these types the complier will assign a reasonable default value for fields, as with the local variables the complier never assigns the default value. The source code is the literal which is represent in fixed value. Array is collection of class, which holds single type of fixed number of values. When array is created the length of the array is been established and it is fixed after the creation.

In java programming language operators hold special symbols which perform particular operations on one, two or three operands, then get the results. When come to the control flow statements, the most fundamental statement is if-then statement. This statement tells that if you can execute the program to only if a certain test has to be evaluates to true. In the program when if clause evaluates to false this could happened in if-then-else statement which provides a secondary path of execution. Rather than with other statements like if-then-else, if-then and the switch statement will allow for any number probable time of execution paths. Whereas do-while and while statements execute when certain condition is true with blocks of statements continually. The difference between these two statements i.e. while and do-while is which evaluates the expression of the do-while instead of the top it evaluates from bottom of the loop. That the reason, the statement is executed at least for once within the do block and for the "for" statements it provides package which get together to iterate over a range of values. It contain two types of forms, one is designed for looping through arrays and collections.

A class declaration names the class and encloses the class body between braces. The class name can be preceded by modifiers. The class body contains fields, methods, and constructors for the class. A class uses fields to contain state information and uses methods to implement behavior. Constructors that initialize a new instance of a class use the name of the class and look like methods without a return type.

The declaration of public as access modifier by using this program can control access to members and classes in the same way. By using the static keyword you can identified a class method or class variable in the member's declaration. When a member which is not declared as static then that is absolutely an instance member. Class variables can be accessed through an instance reference or class name. It is shared by all instance of class. Whereas instances of class get their own copy of each instance variable, which is been accessed through an instance reference. By using constructor and new operator object is been created by using constructor and new operator. If you want to use it directly you can use it or else if you want to assign to the reference to an variables that is also possible. Instance variables and methods that are accessible to code outside of the class that they are declared in can be referred to by using a qualified name. The qualified name of an instance variable looks like this:


The qualified name of a method looks like this:




The garbage collector automatically cleans up unused objects. An object is unused if the program holds no more references to it. You can explicitly drop a reference by setting the variable holding the reference to null.

Except for the Object class, a class has exactly one direct superclass. A class inherits fields and methods from all its superclasses, whether direct or indirect. A subclass can override methods that it inherits, or it can hide fields or methods that it inherits. (Note that hiding fields is generally bad programming practice.)

The Overriding and Hiding Methods shows the effect of declaring a method with the same signature as a method in the superclass.

The Object class is the top of the class hierarchy. All classes are descendants from this class and inherit methods from it. Useful methods inherited from Object include toString(), equals(), clone(), and getClass().

You can prevent a class from being subclassed by using the final keyword in the class's declaration. Similarly, you can prevent a method from being overridden by subclasses by declaring it as a final method.

An abstract class can only be subclassed; it cannot be instantiated. An abstract class can contain abstract methods-methods that are declared but not implemented. Subclasses then provide the implementations for the abstract methods.

Swing library is released by sun Microsystems with JDK1.2 in 1997, it is an officially java graphical user interface toolkit. It has basic to advance widgets i.e. from labels; buttons and scrollbars to tables and trees are advance widgets. Swing is GUI toolkit, is part of java foundation classes which consist of java 2D, swing, AWT, drag and drop and accessibility. It is creating full featured desktop application by collecting packages. Swing is extended library to the AWT, it is more flexible and portable than AWT. It is used to build standalone swing graphical user interface applications as well as applets and servlets. It includes an improved and new component which is used to enhance the functionality and look of graphical user interfaces.

In swing MV design of model part is implemented by a change listener object and model object. The MV design of view part is implemented by a user interface object and component object. By using AWT which is built on the top of swing and it is lightweight component support, written in java. In particular, the swing components of architecture make easier to modify their behavior and appearance. Components from swing and AWT can be assorted that allow adding swing to support the existing AWT which is based on programs. For example, AWT labels such as scrollbars and textfields can be used in the programs along with the swing components such as JCheckbox, JSlider and JButton. Without reinvent the whole implementation you can these classes such as model, change listener and swing UI classes into subclass. We can replace these objects by swing on-the-fly.

Swing is totally implemented in java. It feels and look is pluggable and lightweight components. The architecture is model view controller where controller takes input and translates it to data, view and model represents the data. It is divided into three parts which includes interfaces, component set and support classes. There are two kinds of components of swing toolkit such as children and containers where containers set children into proper layouts. For the creation of layouts we have to use layout managers, which is most difficult parts of modern graphical user interface programming. In java swing classes represents graphical user interface components such as JLabel, JButton, JInternalFrame, JWindow, JPanel, JFrame, JDialog, JTextField, JPasswordField, JTextArea, JScrollPane, JRadioButton,JCheckBox, JComboBox, JList, JTabbedPane, JToolbar, GridLayout, GridBagaLayout, JMenubar, FlowLayout, BorderLayout, and JSlider.

The functionality of web server is extended in server side java programming i.e. nothing but sevlets. It is defined in java sevlets API specification. Sevlets is protocol independent which is virtually process the request and response dynamically. It will manage the components and managed by web container. It is java classes which is used to any protocol for the process of request and respond independent. The most important all over the various tasks of web container is servlet life cycle management. Servlet is defined by life cycle which tells us about how to initialized, instantiated, about loading, how it is taken out of service and how it is handling request from clients. The methods in the servlet life cycle are defined in the javax.servlet. servlet API of servlet interface is implemented indirectly or directly the servlets by extending the Httpservlet or Genericservlet abstract classes. Most of them servlets is developed by users is implement it by extending Httpservlet class. There are four steps consist in servlet life cycle which includes initialization, instantiation, handling of request and end of services.

Instantiation and loading: In this step, the servlet class is loaded by web container and new instance of servlet is been created. At container startup it create a servlet instance or until the request has need to be service the servlet it can be delay till then. The servlet instance is initializes the web container by the inti() method . In this life cycle, by calling the init() method web container initializes the servlet instance. The object is passes by container implementing the servletconfig interface through the init( ) method. To access the name value initialization the above configuration object has to be allow the servlet for the initialization parameters from the web application.

Generic protocol is independent servlet which defines a generic servlet class. It is capable of providing the implementation to any protocol like SMTP, FTP etc i.e it is nothing but protocol independent. For the implementation of HTTP protocol servlet API comes with HTTP servlet class. Normally when your need to develop the web application, there is no need to write the servlet which extends generic servlet. To handle the web request in the application most of the servlets will extend http servlet class.

There are two packages specified in the servlet API which inculdes javax.servlet.http and javax.servlet. The interfaces and classes in javax.servlet.http is specialized in http servlets, while in the interfaces and classes in javax.servlet are independent of protocol. Some of them are interfaces and classes in javax.servlet.http package are specified in extended in javax.servlet package. Below mention the javax.servlet interfaces and package.

Javax.servlet interfaces: This package includes 14 interfaces.

Javax.servlet package: It defines the bond between the servlet class and container. As long as servlet provides the flexibility to container vendor if it follow the specification to implement the API the way they want. For the developers, to develop the servlet based applications it provides the library.

The java servlet API of central abstraction is a servlet interface. The servlet life cycle is defines the methods. By extending the class servlet implementations can implement the servlet interface directly or indirectly. In the servlet API there are two classes which implement the servlet interface inculdes genericservlet and httpservlet. For most of the times, to implement their servlets developer will extend Http servlet while the implementation HTTP protocol employing web applications.

To generate the web content dynamically java server pages (JSP) is been used. For the implementation sun micro systems is provided the JSP specification for vendors. Servlet specification provides functionality which is based on JSP specification. JSP specification creation is simplified, manages the web content dynamically and provides more suitable web pages authorizes framework than servlet. Template-based approach which is provided by JSP is for content generation. The textual document in JSP pages which contain XHTML, XML or HTML markup language with custom JSP and embedded java code tags.

In viewpoint of most of the developers JSP pages contain web page or text document whereas servlets java program includes definition of methods and classes. Along with developer of servlets must and should write java code to output for the entire markup, on the other side static web page is designed by JSP page. JSP separate java beans and static content from dynamic content and for the generation of web page dynamically custom JSP tags are used. JSP is suitable for views and whereas servlets are well matched for executing application logic and handling request of clients.

By JSP engine each and every JSP page is complied into a servlet. For the first time JSP is been requested for the JSP engine, which is been convert into java servlets from JSP files and then this servlet is ready for compiling, which is called as translation phase. If needed we can precompiled the JSP pages. Once servlet is been compiled by JSP page then all the following requests is compiled in servlet class can be handled. In the JSP file if you change the source code then automatically the changes can be detected by container and that JSP page is recompiled, for the next time we have to be requested for JSP page. On demand if translation being made by jsp pages especially when untranslate the JSP page is being requested receives by the container than there will be problem in responding for request for the first time for any JSP page. on the other hand the JSP pages may be selected by container for the translation in that case it will take normal time to respond for JSP page request.

These pages can translate into servlets. So, basically, any job could be able by servlets to respond the JSP pages, but this doesn't mean that JSP pages and servlets are equally suitable for all conditions. This is not the matter of technology of the power, it's about productivity, maintainability and convenience of one another. Anyway, whatever you do in particular java programming language in computer then it means that you can do it on any assembly language. It depends on your choice. The below are the following benefits JSP has been provided over servlets :

ƒ The static code is HTML version i.e. no double quotes, no lurking and no backslashes in java syntax that means it is easier to maintain and write the HTML.

ƒ For most of the JSP pages we use macromedia Dreamweaver in the book. Even with HTML tools that don't know about JSP which is used because they simply neglect the JSP tags. For we have option to use the typical web-site development tools.

By using XML tags in JSP technology which is used to logic encapsulation that generated the content of page. In server based such as JavaBeans component architecture resources exist in application logic which is used for the accesses of page with tags. Any type of formatting tags such as XML OR HTML is directly passed to response page. By separating the display and design of the page logic and support for a component based reusable design, To build application which is web-based JSP technology makes it easier and faster.

The technology of the Java server pages is the technology of the Java servlet extension. Servlets are platform-independent, modules of server-side fits seamlessly in framework of Web server and it is used in the extension of the capabilities of Web server with support, maintenance and minimal overhead. Unlike various scripting languages, there is no considerations on platform specification or modifications by the server; on demand,components of application are downloaded to part of system which are needed. Together, servlets and JSP technology provides attractive alternative for various kinds of the dynamic Web programming/scripting which offers: enhanced performance; easy to manage, platform independence; separating logic with display, extension in enterprise and very importantly easy to use. For building the applications of the interactive web, servlets are first preference now-a-days. For the Microsoft IIs, Apache web server, and others, the containers of the Third-party servlet are available. The containers of servlets are generally components of application and Web servers, like IBM Web Sphere, application server of the BEA web logic, Application server of the Sun Java System, Web Server of Sun Java and others.

The servlet API is extension of java server pages. In fact, before using of JSP pages it is been complied into servlets, so they have all servlet benefits, which includes the java API'S access. Because in presentation code JSP pages is been fixed with them along with application logic.

For creating servlets, higher level technique is provided mainly by the JSP pages, other benefits are bought as well. Even, for the web applications, if you are writing servlets content, for using JSP there are many advantages:

 - JSP pages combine templates of static, including XML or HTML fragments, which generate content dynamically with code.

 -When requested pages of JSP are dynamically compiled into servlets, so for presentation code, updates are made easily by the page authors. Pages of the JSP are precompiled if wanted.

 -The complete components are managed by the components of the JavaBeans, shielding the author of the page from complexity of the logic of application.

 -The libraries of the customised tags of JSP are offered by the developers where syntax of XML-like are accessed by page authors.

 -Without affecting application logic, authors of web can edit and change portions of the fixed template. Likely, without changing the pages of individual where logic is used, developers can provide changes to logic at component level.

    Generally, for wider range of the authors of pages, developers are allowed by the JSP for the functionality of easy distribution of application. These authors need not know about code of writing servlet, and language of Java programming, so they concentrates on writing code of HTML while concentrating on creating logic on application  and objects.