Introduction to MySQL

MySQL is the most popular open source relational database management system. Many popular web applications e.g. Joomla, Drupal, WordPress, phpBB are written to work with MySQL. It is also the database system of choice in bespoke software development, especially for web applications. This article provides an overview of MySQL and suggests key learning points about MySQL.

MySQL is an open source software and is free for download and use. MySQL is currently owned by the Oracle Corporation. There are also commercial versions of MySQL available for purchase. Yet, the free version of the software is sufficient for most applications. MySQL comes with great features with good performance and is suitable for personal and Small & Medium Enterprises (SME) uses.

In order to understand MySQL, one must first learn about relational databases. A relational database is a database formed by a number of tables. Each table stores records. Each record is made up by a number of fields. Common fields in different tables allow relationship to be formed between the tables. For example, in a school database, it would have tables for students, teachers, classes, class details etc. The students table is used to store records of every student. Then, each student’s record contains student ID, name, address, phone number etc as fields. In the classes table, it contains class ID, student ID and teacher ID fields. This table creates a relationship between class details, students and teachers tables. It allows us to know which students are attending which classes taught by which teachers.

A relational database is only good for practical use if it is in at least “third normal form”. “Normal forms” is a rather sophisticated subject. Interested readers may find further information from computing books or the internet. The key point is that before you can use MySQL, you must learn how to design a database properly and understand the principles behind the operations of database management system.

Another key learning point is database security. One must understand how to protect a database from unauthorized access and abuse. An access control policy is also needed to ensure the right people / software can access the database with the right privileges. For example, a student may view his own record in a school database but cannot make any changes while a teacher can view information about all his students and update them.

SQL programming language is the language used to control the database system. It provides statements to create, modify and delete databases and tables. It also provides statements to select, insert, update and delete records in tables. Before you learn how to use MySQL, you must first master how to use SQL to control to the databases. You would also need to learn the commands of MySQL for database administration tasks.

While MySQL is powerful, it is only a relational database management system. You must learn how to write programs which interact with MySQL in order to create useful software. MySQL is often used with the PHP programming language to create web applications. The popular software mentioned above, namely Joomla, Drupal, WordPress, phpBB, are all written in PHP and MySQL. An effective way to interact with MySQL in PHP is to use the PHP Data Objects (PDO) API. Please visit PHP website if you wish to learn more.

Most web hosting companies offer phpMyAdmin, a web interface for managing MySQL databases in a web hosting account. While phpMyAdmin is easy to use, one needs to understand the principles of MySQL in order to understand how it works. cPanel also provides a simple interface for database creation and database user management.

In conclusion, MySQL is a powerful relational database management system suitable for personal and SME uses. To use MySQL properly, one must learn database design, SQL language and programming languages which interact with MySQL. If in doubt, always consult a professional.

Leave a Reply




You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>