SAP ABAP层与数据库的字段对比

本文探讨了SAP ABAP层的设计选择,在数据库表设计中未采用复杂约束的特点,并对比了SQL Server 2008提供的五种表约束机制。文中详细解释了SAP如何利用自身的ABAP层来支持业务需求,同时分析了SAP ECC6环境下对几种特定表的处理方式。
SAP ABAP层没有使用数据库底层表约束设计:
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的多种变量类型在这里都不存在,包括日期、时间类型。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘欣的博客

你将成为第一个打赏博主的人!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值