作为面向在 Linux on POWER 中使用 MySQL 的应用程序开发者的一篇简短指南,本文适合那些熟悉自己的系统环境、网络、媒体设计和磁盘资源的 MySQL 开发者和数据库管理员阅读。
公司约定 IT 专家去从事不同客户的项目,并基于已经确定的价格按小时收取所提供服务的费用。JOB 表保持对客户为服务付费的每小时价格的追踪,那些价格取决于工作的类型。EMPLOYEE 表保持对雇员信息的追踪,其中包括雇员的职位,是指向 JOB 表中一个条目的外部关键字。JOB 表与 EMPLOYEE 表是 1:M 的任意关系。有可能存在某个职位而并没有相应雇员。另一方面,雇员需要拥有恰好一个主要职位。
PROJECT 表保存的是关于此公司所涉及到的项目的数据。一个项目必须恰好由公司的一位雇员来管理。有可能某个雇员会管理多于一个项目。不过,并不是每个雇员都会管理项目。
每位雇员会得到一张定单表格,在那张表格上他们记录每天为客户的具体项目工作了多少个小时,每小时价格是多少,以及要向客户收取的总费用。
一个雇员可以一次被指派到多个项目,或者一个项目都不指派。可能会有多个雇员为某个项目工作,或者一个也没有。这个 N:N 的关系通过联合实体 ORDERFORM 实现。
数据库中的所有表都按第三范式(3rd Normal Form,3NF)进行了标准化,所以我们可以开始创建基于前面的 ERD 的数据库结构。
创建数据库
首先,您需要启动 MySQL 客户机,并登录进入 MySQL:
shell> mysql -h host -u user -p
Enter password: ********
成功地登录进入并获得 MySQL 命令行界面提示符后,可以开始创建数据库,如下:
mysql> CREATE DATABASE CONTRACTING;
Query OK, 1 row affected (0.00 sec)
要确认 CONTRACTING 数据已经创建,执行下面的命令并得到如下的输出:
mysql> SHOW DATABASES;
+-------------+
| Database |
+-------------+
| CONTRACTING |
| mysql |
| test |
+-------------+
注意,SQL 代码和 MySQL 内部命令的大写是可选的,但是数据库的名称、表和列都对大小写敏感。例如,名为 “TEST" 的数据库不同于名为 “test" 的数据库。
现在需要切换到新创建的数据库:
mysql> USE CONTRACTING
Database change