A sample MySQL database with integrated test suite for testing applications and database servers.
test_db is a realistic sample database containing approximately 300,000 employee records with 2.8 million salary entries, designed specifically for testing database-driven applications and MySQL server configurations. It provides a non-trivial dataset (167 MB) that simulates real-world data complexity while including intentional inconsistencies for data cleaning exercises.
Database administrators and developers who need to test MySQL applications, configurations, or data cleaning processes with a realistic, medium-sized dataset.
Developers choose test_db because it offers a ready-to-use, realistic relational database with integrated validation scripts, saving time compared to creating synthetic test data. Its unique selling point is the preservation of original data inconsistencies, providing practical exercises for data cleaning and integrity testing.
A sample MySQL database with an integrated test suite, used to test your applications and database servers
Contains approximately 300,000 employee records with 2.8 million salary entries, providing a non-trivial 167 MB dataset that simulates real-world complexity for testing, as highlighted in the README.
Includes test scripts like test_employees_md5.sql that verify data integrity through checksum comparisons and record counts, ensuring correct installation and reliability.
Preserves original data inconsistencies intentionally, offering practical learning opportunities for data cleaning, aligning with the project's philosophy stated in the README.
Offers an alternative installation with partitioned tables (employees_partitioned.sql), useful for testing MySQL partitioning features directly.
Designed solely for MySQL, with no built-in support for other databases, limiting its use in multi-database or non-MySQL environments without significant conversion effort.
The preserved inconsistencies, while educational, mean extra work is required for data cleaning if immediate, consistent data is needed, which can be a drawback for quick testing.
The README warns that MySQL client >=9.x requires adding the --commands parameter for installation, adding complexity and potential errors for users unaware of this change.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.