您的位置:首页 > 数据库

关于SAP系统 数据库底层表设计约束情况

2016-06-28 23:08 204 查看

SAP业务后台可配置特性,让SAP系统可以适应绝大部分的业务场景。

SAP使用自己的ABAP层,为系统的扩展提供了完整的一套开发平台。

而SAP在底层数据库表设计中并没有使用复杂的表约束来设计。
(环境:SAP ECC6   SQLserver2008)

比如:EKPO(采购订单行项目)和EINA(采购信息记录)表。

在采购模型中,采购订单的行项目包含了信息记录,所以信息记录号被作为外键存放在【采购订单的行项目】表中。







SQL2008对表的约束有5种:

1. PRIMARY KEY约束(SAP使用了
在表中常有一列或多列的组合,其值能唯一标识表中的每一行。这样的一列或多列成为表的主键(Primary Key)。一个表只能有一个主键,而且主键约束中的列不能为空值。



2. FOREIGN KEY约束(SAP没有使用
外键(Foreign Key)是用于建立和加强两个表(主表与从表)的一列或多列数据之间的连接的。创建约束的顺序是先定义主表的主键,再对从表定义外键约束。



3. UNIQUE约束(SAP没有使用
UNIQUE约束用于确保表中的两个数据行在非主键中没有相同的列值。与PRIMARY KEY约束类似,UNIQUE约束也强制唯一性,但UNIQUE约束用于非主键的一列或多列组合,且一个表可以定义多个UNIQUE约束,另外UNIQUE约束可以用于定义多列组合。

4. DEFAULT约束(SAP使用了
若在表中某列定义了DEFAULT约束,用户在插入新的数据行时,如果该列没有指定数据,那么系统将默认值赋给该列,当然该默认值也可以是空值(NULL)。



5. CHECK约束(SAP没有使用
CHECK约束用于限制输入一列或多列的值的范围,通过逻辑表达式来判断数据的有效性。一个列的输入内容必须满足CHECK约束的条件,否则数据无法正常输入。

最后:
在SQL数据库中,只看到3种类型 : nvarchar、decimal、int。
 ABAP的多种变量类型在这里都不存在,包括日期、时间类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: