MySQL is a Relational Database that stores Data in the form of tables and create relations among the tables in the forms of Indexes to retrieve related information easily.MySQL provides you the command line Interface as well as GUI (Graphical User Interface). MySQL is pronounced as “My Sequel”, it is named after the daughter of Michael Widenius’s daughter, “My” and the SQL stands for “Structured Query Language”.Every RDBMS has features for accessing, creating, inserting, manipulating the data through some API’s or tools provided by it.
Before the development of RDBMS, flat file system or RAW tables was in use which was very inefficient in accessing those tables from the system. So nowadays, we have Relational database management systems (RDBMS) to store and manage huge volume of data.
Basic RDMS Terminology :
Fig 1.1 Basic RDBMS Terminology
Tuple : Row in a table is called Tuple. In other words each record is called a tuple.
Attribute : Column in a table is called Attributes like Name, Roll_no, Employee_id, Address.
Relation :A set of tuples sharing the same attributes; a set of columns and row.
This is called relational database because all the data is stored into different tables and relations are established using primary keys or other keys known as foreign keys. It guarantees the Referential Integrity between rows of various tables. For Example if you want to store Student Basic information and their address information you store data in two tables student and address and the relation between them.
MySQL is a powerful Relational Database. It's open Source under the GNU license. Many small as well as large scale developers in the world selected MySQL and PHP for developing their website. It is also used in many High scale Platforms like Wikipedia, Google, Facebook, Flickr, Twitter and YouTube. MySQL Also has paid Editions that supports some additional features and online 24 * 7 support and maintenance. MySQL is totally owned by Oracle Corporation.
MySQL also become the database of choice for a new generation of applications built on the LAMP stack (Linux, Apache, MySQL, PHP / Perl / Python.) MySQL runs on almost every platform including Linux, Windows, OS/X, HP-UX, AIXand Netware.
MySQL Supports up to 70 million or more rows in a single table. There is almost no limit of a table size as MySQL provides you to extend the table size more than 8 million TB, although default size is 4 GB.
Top Features of MySQL
Scalability and Flexibility: You can scale the MySQL database by adding multiple sources / servers to it. Allows flexibility of change the MySQL code as its under GPL (General Public License).
High Performance: It has high performance, allow developer to configure according to needs, provide indexes, full text searches, cachingand load balancing for best performance and availablity.
Easily Manageable: Easily downloadable and install for all operating system, also provide graphical user interface (GUI) to manage by DBA.
Security: It provides data security. It provides some SSL certificates features and SSH protocols to connect the MySQL from remote location.
Transactional Support: Provides ACID (atomic, consistent, isolated, durable) compliance. It means either your transaction is successfully completed otherwise rollback to previous stage gives you data integrity and consistency.
Replication Support:It has built in Replication that allows replicate/copy the data automatically to other systems for backup and load balancing purposes.