Mic*_*tta 10
规则12:非转换规则:
如果系统提供低级别(一次一个记录)接口,则该接口不能用于破坏系统,例如,绕过关系安全性或完整性约束.
假设您在列上定义了非空约束.您是否可以绕过RDBMS(例如,使用Oracle提供的低级实用程序API)在该列中插入null?如果是这样,你就违反了这条规则.
迈克尔说的,也适用于散装装载机.
假设SQL*Loader允许您将行批量加载到表中,而不检查行是否复制了表中已有的行,这违反了唯一约束.这相当于颠覆了模式中表达的规则.
其他DBMS产品有批量装载机,其中一些允许颠覆,以加快批量装载.
规则12禁止这样做.