0% found this document useful (1 vote)
96 views3 pages

Introduction to MySQL Database System

MySQL is an open-source relational database management system that is developed and supported by Oracle Corporation. It provides fast and reliable storage and retrieval of data using SQL queries. Some key features include support for various data types, high performance on a range of hardware platforms, and compatibility with many programming languages.

Uploaded by

MOHAMMED FARAAN
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
96 views3 pages

Introduction to MySQL Database System

MySQL is an open-source relational database management system that is developed and supported by Oracle Corporation. It provides fast and reliable storage and retrieval of data using SQL queries. Some key features include support for various data types, high performance on a range of hardware platforms, and compatibility with many programming languages.

Uploaded by

MOHAMMED FARAAN
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

1

MySQL
MySQL, the most popular Open Source SQL database management system, is developed,
distributed, and supported by Oracle Corporation.

The MySQL website ([Link] provides the latest information about MySQL
software.
 MySQL is a database management system.
A database is a structured collection of data. It may be anything from a simple
shopping list to a picture gallery or the vast amounts of information in a corporate
network. To add, access, and process data stored in a computer database, you
need a database management system such as MySQL Server. Since computers are
very good at handling large amounts of data, database management systems play a
central role in computing, as standalone utilities, or as parts of other applications.

 MySQL databases are relational.


A relational database stores data in separate tables rather than putting all the data
in one big storeroom. The database structures are organized into physical files
optimized for speed. The logical model, with objects such as databases, tables,
views, rows, and columns, offers a flexible programming environment. You set up
rules governing the relationships between different data fields, such as one-to-one,
one-to-many, unique, required or optional, and “pointers” between different tables.
The database enforces these rules, so that with a well-designed database, your
application never sees inconsistent, duplicate, orphan, out-of-date, or missing data.
The SQL part of “MySQL” stands for “Structured Query Language”. SQL is the most
common standardized language used to access databases. Depending on your
programming environment, you might enter SQL directly (for example, to generate
reports), embed SQL statements into code written in another language, or use a
language-specific API that hides the SQL syntax.
SQL is defined by the ANSI/ISO SQL Standard. The SQL standard has been
evolving since 1986 and several versions exist. In this manual, “SQL-92” refers to
the standard released in 1992, “SQL:1999” refers to the standard released in 1999,
and “SQL:2003” refers to the current version of the standard. We use the phrase “the
SQL standard” to mean the current version of the SQL Standard at any time.
 MySQL software is Open Source.
Open Source means that it is possible for anyone to use and modify the software.
Anybody can download the MySQL software from the Internet and use it without
paying anything. If you wish, you may study the source code and change it to suit
your needs. The MySQL software uses the GPL (GNU General Public
License), [Link] to define what you may and may not do with
the software in different situations. If you feel uncomfortable with the GPL or need to
embed MySQL code into a commercial application, you can buy a commercially
licensed version from us. See the MySQL Licensing Overview for more information
([Link]
 The MySQL Database Server is very fast, reliable, scalable, and easy to use.
If that is what you are looking for, you should give it a try. MySQL Server can run
comfortably on a desktop or laptop, alongside your other applications, web servers,
and so on, requiring little or no attention. If you dedicate an entire machine to
MySQL, you can adjust the settings to take advantage of all the memory, CPU
power, and I/O capacity available. MySQL can also scale up to clusters of
machines, networked together.

MySQL Server was originally developed to handle large databases much faster than
existing solutions and has been successfully used in highly demanding production
environments for several years. Although under constant development, MySQL
2

Server today offers a rich and useful set of functions. Its connectivity, speed, and
security make MySQL Server highly suited for accessing databases on the Internet.

 MySQL Server works in client/server or embedded systems.


The MySQL Database Software is a client/server system that consists of a
multithreaded SQL server that supports different back ends, several different client
programs and libraries, administrative tools, and a wide range of application
programming interfaces (APIs).

We also provide MySQL Server as an embedded multithreaded library that you can
link into your application to get a smaller, faster, easier-to-manage standalone
product.

 A large amount of contributed MySQL software is available.


MySQL Server has a practical set of features developed in close cooperation with
our users. It is very likely that your favorite application or language supports the
MySQL Database Server.

The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”), but we do not mind
if you pronounce it as “my sequel” or in some other localized way.

The Main Features of MySQL


This section describes some of the important characteristics of the MySQL Database Software.
In most respects, the roadmap applies to all versions of MySQL. For information about features
as they are introduced into MySQL on a series-specific basis, see the “In a Nutshell” section of
the appropriate Manual:
 MySQL 8.0: Section 1.3, “What Is New in MySQL 8.0”
 MySQL 5.7: What Is New in MySQL 5.7
Internals and Portability
 Written in C and C++.

 Tested with a broad range of different compilers.

 Works on many different platforms.


See [Link]
 For portability, configured using CMake.
 Tested with Purify (a commercial memory leakage detector) as well as with Valgrind,
a GPL tool ([Link]
 Uses multi-layered server design with independent modules.

 Designed to be fully multithreaded using kernel threads, to easily use multiple CPUs
if they are available.

 Provides transactional and nontransactional storage engines.

 Uses very fast B-tree disk tables (MyISAM) with index compression.
 Designed to make it relatively easy to add other storage engines. This is useful if
you want to provide an SQL interface for an in-house database.

 Uses a very fast thread-based memory allocation system.

 Executes very fast joins using an optimized nested-loop join.

 Implements in-memory hash tables, which are used as temporary tables.


3

 Implements SQL functions using a highly optimized class library that should be as
fast as possible. Usually there is no memory allocation at all after query initialization.

 Provides the server as a separate program for use in a client/server networked


environment.

Data Types
 Many data types: signed/unsigned integers 1, 2, 3, 4, and 8 bytes
long, FLOAT, DOUBLE, CHAR, VARCHAR, BINARY, VARBINARY, TEXT, BLOB, DATE, TIM
E, DATETIME, TIMESTAMP, YEAR, SET, ENUM, and OpenGIS spatial types.
See Chapter 11, Data Types.
 Fixed-length and variable-length string types.

MySQL Standards Compliance


This section describes how MySQL relates to the ANSI/ISO SQL standards. MySQL Server
has many extensions to the SQL standard, and here you can find out what they are and
how to use them. You can also find information about functionality missing from MySQL
Server, and how to work around some of the differences.

The SQL standard has been evolving since 1986 and several versions exist. In this
manual, “SQL-92” refers to the standard released in 1992, “SQL:1999” refers to the
standard released in 1999, and “SQL:2003” refers to the current version of the standard.
We use the phrase “the SQL standard” or “standard SQL” to mean the current version of
the SQL Standard at any time.
One of our main goals with the product is to continue to work toward compliance with
the SQL standard, but without sacrificing speed or reliability. We are not afraid to add
extensions to SQL or support for non-SQL features if this greatly increases the usability
of MySQL Server for a large segment of our user base. The HANDLER interface is an
example of this strategy. See Section 13.2.3, “HANDLER Syntax”.
We continue to support transactional and non-transactional databases to satisfy both
mission-critical 24/7 usage and heavy Web or logging usage.

MySQL Server was originally designed to work with medium-sized databases (10-100
million rows, or about 100MB per table) on small computer systems. Today MySQL
Server handles terabyte-sized databases, but the code can also be compiled in a
reduced version suitable for hand-held and embedded devices. The compact design of
the MySQL server makes development in both directions possible without any conflicts
in the source tree.

Currently, we are not targeting real-time support, although MySQL replication


capabilities offer significant functionality.

MySQL supports high-availability database clustering using the NDBCluster storage


engine. See Chapter 15, MySQL Cluster.
XML support is to be implemented in a future version of the database server

Common questions

Powered by AI

MySQL's storage engine designs contribute to performance and adaptability by providing a mix of transactional (e.g., InnoDB) and non-transactional (e.g., MyISAM) engines. These engines cater to different needs: transactional engines ensure ACID compliance, critical for applications requiring robust data integrity and recovery capabilities, while non-transactional engines are optimized for speed and efficiency. MyISAM offers B-tree disk tables with index compression, improving read performance. Additionally, MySQL's architecture allows for the easy addition of new storage engines, enhancing adaptability for custom database solutions .

The core features contributing to MySQL's performance in diverse environments include its multithreaded SQL server design, which efficiently utilizes multiple CPUs. It incorporates a client/server system for networked usage, supports B-tree disk tables with index compression, and employs a thread-based memory allocation system for speed. Additionally, MySQL offers both transactional and non-transactional storage engines and in-memory hash tables for temporary storage, promoting performance optimization. These features collectively enhance MySQL’s connectivity, speed, and security, making it suitable for internet database access and scaling across machines .

MySQL balances continuous development and stability by leveraging a modular design that allows independent enhancements without disrupting existing functionality. Stability across versions is preserved by rigorous testing with multiple tools and maintaining a robust codebase modularity. The system is designed to extend seamlessly with new features while upholding critical performance and reliability standards through iterative enhancements and community collaboration, ensuring each version advances without sacrificing core stability .

MySQL's scalability features allow it to operate efficiently on both individual computers and clustered environments. For single machine configurations, users can optimize MySQL by adjusting settings to fully utilize available memory, CPU power, and I/O capacity. In clustered systems, MySQL can scale across multiple machines using its NDBCluster storage engine, which supports high-availability database clustering. MySQL’s multithreaded design and capability to handle terabyte-sized databases provide significant flexibility to adapt to varying computational needs .

MySQL's open-source nature allows any user to download, use, and modify the software without cost, due to its distribution under the GNU General Public License. This openness fosters a collaborative development environment where users can study and adapt the source code to fit their specific needs. The open-source licensing supports a vast community of developers and contributors who help identify bugs, develop new features, and maintain high standards of security and reliability, thereby enhancing MySQL's usability and functionality across various platforms .

MySQL is developed using the C and C++ programming languages, and it is configured with CMake for portability. It is tested with various compilers and memory leakage detectors such as Purify and Valgrind, ensuring cross-platform functionality and efficient maintenance. This approach allows MySQL to run on multiple operating systems and hardware configurations, facilitating widespread adoption across different technological environments .

MySQL’s client/server design provides flexibility by supporting multiple client programs and application programming interfaces (APIs), enabling integration with a wide range of applications. This design supports scalable networking capabilities, essential for internet-based and distributed environments. Conversely, its embedded system design allows the SQL server to be compiled into an application's binary, creating a standalone, lightweight database solution tailored for specific use cases, such as mobile or embedded systems. This dual design accommodates diverse application requirements .

MySQL supports SQL standard compliance by aligning with evolving ANSI/ISO SQL standards, such as SQL-92, SQL:1999, and SQL:2003. However, it extends usability through additional non-SQL features designed to enhance MySQL Server's functionality for a broader user base. For instance, the HANDLER interface allows more direct control over data retrieval, even though it deviates from standard SQL. This strategy of balancing standard compliance with practical enhancements ensures that MySQL remains highly usable without compromising on performance .

MySQL manages relational databases by organizing data into separate tables and implementing rules governing the relationships between data fields, such as one-to-one, one-to-many, unique, required, or optional constraints. This structure ensures that a well-designed database enforces data integrity and consistency by preventing inconsistent, duplicate, orphaned, or missing data. Such rules are integral to maintaining data integrity and consistency across relational databases .

MySQL is designed to accommodate high-demand applications through its support for both transactional and non-transactional databases. It can handle mission-critical applications with 24/7 uptime through transactional storage engines like InnoDB, which provide ACID compliance and reliability. For less demanding tasks, non-transactional engines like MyISAM offer improved speeds and efficiency. This balance allows MySQL to efficiently serve both intensive transactional systems and simpler database needs .

You might also like