Introduction to MySQL as an Open Source Database
A database is a systematic collection of data . A Database Management System (DBMS) is required to store, access, delete, or otherwise organize data in a database.
MySQL is an open source DBMS. You can freely download, modify, and use open source software without having to pay any fees or royalty to the original author.
Overview of MySQL
Consider a library which lends books to its members. Traditionally, the details of books, members, and lending are maintained manually using ledgers. As the number of books increases, managing and searching for books, members, and lending details becomes difficult. This information can be stored in rows and columns in table. A database can be created to store these tables. In addition, a DBMS can be used to manage the databases.
A DBMS can be defined as a software program that stores and manages databases. A database is a system used to store the data in a structured format. In other words, database can be defined as an organized collection of data. DBMS is responsible for managing the various database operations such as adding, accessing, and processing of data. A DBMS helps you to manage in two ways:
- It provides an interface to manage data
- It supports connectivity to other applications that can be used to manage data.
Both, DBMS and RDBMS, perform the same task of storing and managing data. One of the key differences between DBMS and RDBMS is that RDBMS splits large amount of data into smaller tables and establishes relationship between the tables. DBMS store large amount of data in a single table. Also, the RDBMS is based on a relational model whereas DBMS is not.
Features of MySQL
MySQL was designed to achieve speed, robustness, and ease of use. The features of MySQL are as follows:
- Is written in C and C++
- Is tested with different compilers
- Is compatible with multiple operating systems
- Has support for multiple storage engines; both transactional and non-transactional
- Has Application Programming Interfaces (APIs) for accessing MySQL databases available in many languages, including C, C++, Java, Perl, PHP, Python, Ruby, and Tcl
- In using multiple kernel threads or processing units, if available, for data processing
- Has support for in-built data encryption and decryption
- Has support for user account privileges
- Has support for password encryption
- Supports connectivity on any platform to MySQL server using Transmission control Protocol/Internet Protocol (TCP/IP) sockets
- Supports connectivity on windows NT, 2000, XP, 2003, and Vista using named pipes or shared-memory connections
- Supports connectivity on UNIX systems using UNIX domain socket files