- SQL应用及误区分析
- 张振磊
- 254字
- 2025-02-17 14:29:32
2.4 BONUS
BONUS保存了Oracle公司员工的奖金信息。表结构定义如表2-4所示。
表2-4

BONUS表在SCOTT模式下是一张空表,这张表的表结构设计应该是有问题的。按照范式来讲,在员工表中已经保存了员工姓名、员工工种、员工月薪、员工佣金的信息。退一万步考虑,假如这张表的存在是为了考虑一个员工可能从事过多个工种的场景,那么也应该使用EMPNO列而不是ENAME列。编者怀疑Oracle创建这么一张表是作为一个反例来使用。虽然BONUS表是一张空表,但是为了SCOTT模式的完整性,这里还是给出BONUS表的建表语句。
BONUS表在SQL Server数据库中的创建语句如图2-13所示。

图2-13
BONUS表在Oracle数据库中的创建语句如图2-14所示。

图2-14