MySQL 示例数据库 employees 详解
【引子】
IT这一行在我看来是比较要求动手能力的,但是人非生而知之;人们身上的技能除了一些本能之外,大多都是通过学习而得到的。
前一段时间一直在整理素材,写一个关于explain 的系列文章;在一开始我就遇到了一个问题,就是我需要一个示例数据库,不然
没办法进行,之前从事SQL Server相关工作的时候发现SQL Server是官方是一个示例数据库的。心想MySQL应该也有,结果是找
一半天没找到,没办法只好自己设计一个,最后发现设计不是问题,问题是数据完整性和数据的量。数据完整性影响到数据在整个
逻辑上下文中的自洽性,数据的量就直接影响到优化器对执行计划的选择。所以说要构造出满足以上条件的数据库还是要耗费大量
心血的;好在今天看mysql-connector-python 8.0.11 版本的官方文档的时候看到了一个示例数据库 employees。
1、介绍employees示例数据库
1): employees 的源代码托管在github上面、下载下来把数据导入到mysql中就能用了
2): 项目地址:https://github.com/datacharmer/test_db
2、下载employees示例数据库
https://github.com/datacharmer/test_db
3、解压后目录中的内容如下
tree test_db-master/ test_db-master/ ├── Changelog ├── employees_partitioned_5.1.sql ├── employees_partitioned.sql ├── employees.sql ├── images │ ├── employees.gif │ ├── employees.jpg │ └── employees.png ├── load_departments.dump ├── load_dept_emp.dump ├── load_dept_manager.dump ├── load_employees.dump ├── load_salaries1.dump ├── load_salaries2.dump ├── load_salaries3.dump ├── load_titles.dump ├── objects.sql ├── README.md ├── sakila │ ├── README.md │ ├── sakila-mv-data.sql │ └── sakila-mv-schema.sql ├── show_elapsed.sql ├── sql_test.sh ├── test_employees_md5.sql └── test_employees_sha.sql
4、把数据导入数据库
mysql -uroot -pxxxxxx -t < test_db-master/employees.sql
Warning: Using a password on the command line interface can be insecure.
+-----------------------------+
| INFO |
+-----------------------------+
| CREATING DATABASE STRUCTURE |
+-----------------------------+
+------------------------+
| INFO |
+------------------------+
| storage engine: InnoDB |
+------------------------+
+---------------------+
| INFO |
+---------------------+
| LOADING departments |
+---------------------+
+-------------------+
| INFO |
+-------------------+
| LOADING employees |
+-------------------+
+------------------+
| INFO |
+------------------+
| LOADING dept_emp |
+------------------+
+----------------------+
| INFO |
+----------------------+
| LOADING dept_manager |
+----------------------+
+----------------+
| INFO |
+----------------+
| LOADING titles |
+----------------+
+------------------+
| INFO |
+------------------+
| LOADING salaries |
+------------------+
+---------------------+
| data_load_time_diff |
+---------------------+
| NULL |
+---------------------+
5、总结
完成上面的步骤你自己的employees库就算是好了、它的结构如下:
-----