![SQL应用及误区分析](https://wfqqreader-1252317822.image.myqcloud.com/cover/566/937566/b_937566.jpg)
上QQ阅读APP看书,第一时间看更新
2.4 BONUS
BONUS保存了Oracle公司员工的奖金信息。表结构定义如表2-4所示。
表2-4
![](https://epubservercos.yuewen.com/090464/10797217703874606/epubprivate/OEBPS/Images/figure_0021_0003.jpg?sign=1739311647-aN2YL6LE8PX66CbaS5BeG3qgLEZ015VW-0-229066c9f352161f4c3c1cdfd0a9a547)
BONUS表在SCOTT模式下是一张空表,这张表的表结构设计应该是有问题的。按照范式来讲,在员工表中已经保存了员工姓名、员工工种、员工月薪、员工佣金的信息。退一万步考虑,假如这张表的存在是为了考虑一个员工可能从事过多个工种的场景,那么也应该使用EMPNO列而不是ENAME列。编者怀疑Oracle创建这么一张表是作为一个反例来使用。虽然BONUS表是一张空表,但是为了SCOTT模式的完整性,这里还是给出BONUS表的建表语句。
BONUS表在SQL Server数据库中的创建语句如图2-13所示。
![](https://epubservercos.yuewen.com/090464/10797217703874606/epubprivate/OEBPS/Images/figure_0022_0001.jpg?sign=1739311647-uVLGJq1AX7yvC0BlSeQEkI3qwxnHUTod-0-ade4c812f92ae65e1b5b0bc30fc89727)
图2-13
BONUS表在Oracle数据库中的创建语句如图2-14所示。
![](https://epubservercos.yuewen.com/090464/10797217703874606/epubprivate/OEBPS/Images/figure_0022_0002.jpg?sign=1739311647-M8nfx0g2M24UDqwWvkyvi819WmuvUVV0-0-de3e9378403e613031f420377669042f)
图2-14