The Advantages Of Mysql

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

Chapter 2

This chapter discusses related issues concerning the development of the "Teacher Information Management System" through the help of some implemented studies published. The researchers were able to gain more knowledge about the system including its advantages to the client.

Related Literature

The researchers consulted some of related studies to broken their ideas regarding the proposed system. These related studies will tackle the issue concerning the need of a TIMS.

Information

Data that has been verified to be accurate and timely, It is specific and organized for a purpose and is presented within a context that gives it meaning and relevance, and that can lead to an increase in understanding and decrease in uncertainty.

The value of information lies solely in its ability to affect a behavior, decision, or outcome. A piece of information is considered valueless if, after receiving it, things remain unchanged.

Information Management

Information management (IM) is the collection and management of information from one or more sources and the distribution of that information to one or more audiences. This sometimes involves those who have a stake in, or a right to that information. Management means the organization of and control over the structure, processing and delivery of information.

System Development

Database

A database is a collection of information that is organized so that it can easily be accessed, managed, and updated. In one view, databases can be classified according to types of content: bibliographic, full-text, numeric, and images.

In computing, databases are sometimes classified according to their organizational approach. The most prevalent approach is the relational database, a tabular database in which data is defined so that it can be reorganized and accessed in a number of different ways. A distributed database is one that can be dispersed or replicated among different points in a network. An object-oriented programming database is one that is congruent with the data defined in object classes and subclasses.

Computer databases typically contain aggregations of data records or files, such as sales transactions, product catalogs and inventories, and customer profiles. Typically, a database manager provides users the capabilities of controlling read/write access, specifying report generation, and analyzing usage. Databases and database managers are prevalent in large mainframe systems, but are also present in smaller distributed workstation and mid-range systems such as the AS/400 and on personal computers. SQL (Structured Query Language) is a standard language for making interactive queries from and updating a database such as IBM's DB2, Microsoft's SQL Server, and database products from Oracle, Sybase,andComputerAssociates.(MargaretRouse,2006)

Importance of database

The Data Base has a lot of advantages on the normal manual methods for storing data because of the following:

1- Compactness - there is no need for the old paper files that has a big size.

2- Speed - Because of the computer can restore the stored Data Base and upgrading it very fast than the normal human manual hand can do.

3- Less drudgery - because the computer do everything for you.

4- Currency - The more specific you can have when you asking for a Database information.

Database Management

Database management involves the monitoring, administration, and maintenance of the databases and database groups in your enterprise. Enterprise Manager is the premier tool for managing your database environment.

Monitoring database

Comprehensive database monitoring enables you to identify the problem areas in your database environment that are degrading performance. After you have identified the areas to improve, you can tune your databases' performance using the Enterprise Manager Administration capabilities.

Enterprise Manager uses data from the Automatic Workload Repository (AWR) to display performance information and initiate database alerts. The user interface provides several real-time performance charts and drill-downs for the targets you manage. Both aggregate and instance-specific performance statistics are displayed using color-coded charts for easier viewing. To help you identify the source of a problem and resolve it, you can click a legend link next to a chart to display a detail page that provides comprehensive information.

Administering Databases

Allocating system storage and planning future storage requirements for the database system

Creating and managing primary database storage structures .

Creating and managing primary objects (tables, views, indexes)

Enrolling users and maintaining system security by controlling and monitoring user access to the database

Backing up and restoring the database

Visual C#

Microsoft Visual C# is a programming environment used to create computer applications for the Microsoft Windows family of operating systems. It combines the C# language and the .NET Framework. Microsoft Visual C# is available in two options. It can be used from Microsoft Visual# 2010 Express. It is also available as a member of Microsoft Visual Studio.

C# Advantages

XML documentation generated from source code comments. (This is coming in VB.NET with Whidbey (the code name for the next version of Visual Studio and .NET), and there are tools which will do it with existing VB.NET code already.)

Operator overloading - again, coming to VB.NET in Whidbey.

Language support for unsigned types (you can use them from VB.NET, but they aren't in the language itself). Again, support for these is coming to VB.NET in Whidbey.

Explicit interface implementation, where an interface which is already implemented in a base class can be reimplemented separately in a derived class. Arguably this makes the class harder to understand, in the same way that member hiding normally does.

The using statement, which makes unmanaged resource disposal simple.

Unsafe code. This allows pointer arithmetic etc, and can improve performance in some situations. However, it is not to be used lightly, as a lot of the normal safety of C# is lost (as the name implies). Note that unsafe code is still managed code, i.e. it is compiled to IL, JITted, and run within the CLR. (Jon Skeet,2004)

C# is a happy medium between full-blown C++ and something overly simplistic like VB. But "advantage" is a very subjective term. For instance, one person might consider it an advantage that C# runs in a managed environment. You don't have to worry about memory management and pointers like you do in C++. However, it has been demonstrated that managed code can be SLOWER.

Most of C#'s advantages aren't really due to C#, but due to its complete dependency on the .NET framework. .NET makes it so much easier to do things like writing Windows forms and dialogs, making multi-threaded applications, working with strings (no more char* and worrying about having a null character on the end of your strings), etc...

There are 2 things I can think of that is nice about C# not having to do with managed code: (1.) No header files. You write a .cs file and that's the end of it; (2.) The keyword "partial". You can declare a class as "partial". This allows you to split up what would be a very lengthy source file into multiple files. The keyword "partial" indicates to the compiler that you do intend to declare the same class in more than one file, and then merges them into a single class compile time.

What C++ has that C# doesn't is the ability to use #define as a text-replacement mechanism. C# has a #define directive, but that is only good for indicating blocks of code to be compiled. You can't actually associate a value with the #define like you can in C++. Therefore in C# all of your constants have to be constant variables or enums. I like to use #define directives in C++ to have known values hard-coded rather than having to read them out of a variable. I also like to use #defines as a way to have small inline functions and guarantee they will truly be inline. I miss those capabilities when I work in C#.

MySQL

The MySQL Database powers the most demanding Web, E-commerce and Online Transaction Processing (OLTP) applications. It is a fully integrated transaction-safe, ACID compliant database with full commit, rollback, crash recovery and row level locking capabilities. MySQL delivers the ease of use, scalability, and performance that has made MySQL the world's most popular open source database. Some of the world's most trafficked websites like Facebook, Google, ticketmaster, and eBay rely on MySQL for their business critical applications.

Advantages of MySql

SQL is characterised as a free, fast, reliable open source relational database. It does lack some sophistication and facilities, but it has an active development team and, as it goes from release to release, more capabilities are added. At certain times there will be a trade-off between speed and capabilities, and the MySQL team intend to keep their database engine fast and reliable

MySQL Advantage is a suite of four open-source software packages–proven, popular, and well-supported ones–that work together to run interactive, dynamic Internet sites.

MySQL Advantage is comprised of Enhanced MySQL, Apache, PHP, and Perl, to create an integrated Web development environment. This technology suite delivers a complete, stable environment for building and deploying database-driven applications for the Internet. Available for Linux, Unix, and Windows, Advantage allows users to develop and deploy on their choice of platforms. This flexible, multiple-platform environment brings unity and scalability to development and Web applications.

MYSQL is widely used for web applications. This acts as a database component for many languages such as BAMP, WAMP, LAMP and MAMP. PHP and ruby added to popularity to the language. PHP and MYSQL are very much used for managing database and web applications.

Features of MySQL

The following list shows the most important properties of MySQL. This section is directed to the reader who already has some knowledge of relational databases. We will use some terminology from the relational database world without defining our terms exactly. On the other hand, the explanations should make it possible for database novices to understand to some extent what we are talking about.

Relational Database System: Like almost all other database systems on the market, MySQL is a relational database system.

Client/Server Architecture: MySQL is a client/server system. There is a database server (MySQL) and arbitrarily many clients (application programs), which communicate with the server; that is, they query data, save changes, etc. The clients can run on the same computer as the server or on another computer (communication via a local network or the Internet).

Almost all of the familiar large database systems (Oracle, Microsoft SQL Server, etc.) are client/server systems. These are in contrast to the file-server systems, which include Microsoft Access, dBase and FoxPro. The decisive drawback to file-server systems is that when run over a network, they become extremely inefficient as the number of users grows.

SQL compatibility: MySQL supports as its database language -- as its name suggests – SQL (Structured Query Language). SQL is a standardized language for querying and updating data and for the administration of a database. There are several SQL dialects (about as many as there are database systems). MySQL adheres to the current SQL standard (at the moment SQL:2003), although with significant restrictions and a large number of extensions.

Through the configuration setting sql-mode you can make the MySQL server behave for the most part compatibly with various database systems. Among these are IBM DB/2 and Oracle. (The setting sql-mode changes some of the syntax conventions, and performs no miracles. More details are to be had in Chapter 14.)

A readable and entertaining article on the topic of how MySQL differs from other current database systems can be found at http://sql-info.de/mysql/gotchas.html.

SubSELECTs: Since version 4.1, MySQL is capable of processing a query in the form SELECT * FROM table1 WHERE x IN (SELECT y FROM table2) (There are also numerous syntax variants for subSELECTs.)

Views: Put simply, views relate to an SQL query that is viewed as a distinct database object and makes possible a particular view of the database. MySQL has supported views since version 5.0.

Stored procedures: Here we are dealing with SQL code that is stored in the database system.

Stored procedures (SPs for short) are generally used to simplify certain steps, such as inserting or deleting a data record. For client programmers this has the advantage that they do not have to process the tables directly, but can rely on SPs. Like views, SPs help in the administration of large database projects. SPs can also increase efficiency. MySQL has supported SPs since version 5.0.

Triggers: Triggers are SQL commands that are automatically executed by the server in certain database operations (INSERT, UPDATE, and DELETE). MySQL has supported triggers in a limited form from version 5.0, and additional functionality is promised for version 5.1.

Unicode: MySQL has supported all conceivable character sets since version 4.1, including Latin-1, Latin-2, and Unicode (either in the variant UTF8 or UCS2).

User interface: There are a number of convenient user interfaces for administering a MySQL server.

Full-text search: Full-text search simplifies and accelerates the search for words that are located within a text field. If you employ MySQL for storing text (such as in an Internet discussion group), you can use full-text search to implement simply an efficient search function.

Replication: Replication allows the contents of a database to be copied (replicated) onto a number of computers. In practice, this is done for two reasons: to increase protection against system failure (so that if one computer goes down, another can be put into service) and to improve the speed of database queries.

Transactions: In the context of a database system, a transaction means the execution of several database operations as a block. The database system ensures that either all of the operations are correctly executed or none of them. This holds even if in the middle of a transaction there is a power failure, the computer crashes, or some other disaster occurs. Thus, for example, it cannot occur that a sum of money is withdrawn from account A but fails to be deposited in account B due to some type of system error.

Transactions also give programmers the possibility of interrupting a series of already executed commands (a sort of revocation). In many situations this leads to a considerable simplification of the programming process. In spite of popular opinion, MySQL has supported transactions for a long time. One should note here that MySQL can store tables in a variety of formats. The default table format is called MyISAM, and this format does not support transactions. But there are a number of additional formats that do support transactions. The most popular of these is InnoDB, which will be described extensively in this book.

Foreign key constraints: These are rules that ensure that there are no cross references in linked tables that lead to nowhere. MySQL supports foreign key constraints for InnoDB tables.

GIS functions: Since version 4.1, MySQL has supported the storing and processing of two-dimensional geographical data. Thus MySQL is well suited for GIS (geographic information systems) applications.

Programming languages: There are quite a number of APIs (application programming interfaces) and libraries for the development of MySQL applications. For client programming you can use, among others, the languages C, C++, Java, Perl, PHP, Python, and Tcl.

ODBC: MySQL supports the ODBC interface Connector/ODBC. This allows MySQL to be addressed by all the usual programming languages that run under Microsoft Windows (Delphi, Visual Basic, etc.). The ODBC interface can also be implemented under Unix, though that is seldom necessary.

Windows programmers who have migrated to Microsoft's new .NET platform can, if they wish, use the ODBC provider or the .NET interface Connector/NET.

Platform independence: It is not only client applications that run under a variety of operating systems; MySQL itself (that is, the server) can be executed under a number of operating systems. The most important are Apple Macintosh OS X, Linux, Microsoft Windows, and the countless Unix variants, such as AIX, BSDI, FreeBSD, HP-UX, OpenBSD, Net BSD, SGI Iris, and Sun Solaris.

Speed: MySQL is considered a very fast database program. This speed has been backed up by a large number of benchmark tests (though such tests -- regardless of the source -- should be considered with a good dose of skepticism). (Michael Kofler Ph.D, 2007)

Limitations of MySQL

When MySQL is used with standard tables (table type MyISAM), then locking, that is, the temporary blocking of access to or alteration of database information, is in operation only for entire tables (table locking). You can circumvent the table-locking problem by implementing transaction-capable table formats, such as InnoDB, that support row locking.

 

In using MyISAM tables, MySQL is not able to execute hot backups, which are backups during operation without blocking the tables with locks. Here again, the solution is InnoDB, though here the hot backup function is available only in the form of a commercial supplement.

  Many database systems offer the possibility of defining custom data types. MySQL does not support such functionality, nor is any currently planned.

MySQL has up to now ignored the general XML trend. It is not clear when MySQL will support direct processing of XML data. Numerous commercial database systems offer considerably more functionality in this area, and even the SQL:2003 standard provides for a host of XML functions.

  MySQL is in fact a very fast database system, but it is very limited in its usability for real-time applications, and it offers no OLAP functions. OLAP stands for online analytical processing, and refers to special methods for the management and analysis of multidimensional data. OLAP-capable database systems are often called data warehouses.

  MySQL supports, since version 5.0, stored procedures and triggers, but these functions have not yet fully matured (this applies especially to triggers) and do not yet have the same stability and plenitude of functions offered by commercial database systems.

  Similar restrictions hold as well for the GIS functions introduced in version 4.1. Commercial database systems offer in some cases considerably greater functionality. )(Michael Kofler Ph.D, 2007)

Microsoft Visual Studio 2010

Microsoft Visual Studio is a powerful IDE that ensures quality code throughout the entire application lifecycle, from design to deployment. Whether you’re developing applications for SharePoint, the web, Windows, Windows Phone, and beyond, Visual Studio is your ultimate all-in-one solution.

Advantage of Microsoft Visual Studio 2010

Application Management

Building applications takes time, especially when you have a lot of developers on your team. Part of that process is testing to ensure the app is doing what it's supposed to. With Visual Studio 2010, you now have Application Lifecycle Management that includes a new Test and Lab Manager which lets you to create and run test plans and test cases on your Visual Studio apps — and you don't need to be in VS to use it.

Agile Unified Process

Agile Unified Process is a simplified version of the Rational Unified Process (RUP).  It describes a simple, easy to understand approach to developing business application software using agile techniques and concepts yet still remaining true to the RUP.  I've tried to keep the Agile UP as simple as possible, both in its approach and in its description.  The descriptions are simple and to the point, with links to details (on the web) if you want them.  The approach applies agile techniques include test driven development (TDD), Agile Model Driven Development (AMDD), agile change management, and database refactoring to improve your productivity.

The serial nature of Agile UP is captured in its four phases :

Inception. The goal is to identify the initial scope of the project, a potential architecture for your system, and to obtain initial project funding and stakeholder acceptance.

Elaboration.  The goal is to prove the architecture of the system.

Construction.  The goal is to build working software on a regular, incremental basis which meets the highest-priority needs of your project stakeholders.

Transition.  The goal is to validate and deploy your system into your production environment.

Disciplines are performed in an iterative manner, defining the activities which development team members perform to build, validate, and deliver working software which meets the needs of their stakeholders. The disciplines are:

Model.  The goal of this discipline is to understand the business of the organization, the problem domain being addressed by the project, and to identify a viable solution to address the problem domain.

Implementation.  The goal of this discipline is to transform your model(s) into executable code and to perform a basic level of testing, in particular unit testing.

Test.  The goal of this discipline is to perform an objective evaluation to ensure quality. This includes finding defects, validating that the system works as designed, and verifying that the requirements are met.

Deployment.  The goal of this discipline is to plan for the delivery of the system and to execute the plan to make the system available to end users.

Configuration Management.  The goal of this discipline is to manage access to your project artifacts. This includes not only tracking artifact versions over time but also controlling and managing changes to them.

Project Management.  The goal of this discipline is to direct the activities that takes place on the project. This includes managing risks, directing people (assigning tasks, tracking progress, etc.), and coordinating with people and systems outside the scope of the project to be sure that it is delivered on time and within budget.

Environment. The goal of this discipline is to support the rest of the effort by ensuring that the proper process, guidance (standards and guidelines), and tools (hardware, software, etc.) are available for the team as needed.

The Agile UP is based on the following principles:

Your staff knows what they're doing.  People aren't going to read detailed process documentation, but they will want some high-level guidance and/or training from time to time.  The AUP product provides links to many of the details, if you're interested, but doesn't force them upon you.

Simplicity.  Everything is described concisely using a handful of pages, not thousands of them.

Agility.  The Agile UP conforms to the values and principles of the Agile Alliance.

Focus on high-value activities.  The focus is on the activities which actually count, not every possible thing that could happen to you on a project.

Tool independence.  You can use any toolset that you want with the Agile UP.  My suggestion is that you use the tools which are best suited for the job, which are often simple tools or even open source tools.

You'll want to tailor this product to meet your own needs.  The AUP product is easily tailorable via any common HTML editing tool.  You don't need to purchase a special tool, or take a course, to tailor the AUP. (2005-2009 Scott W. Ambler)



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now