学习SAP HANA SQL 语句--像学Oracle一样学习SAP HANA:
SQL参考手册:SQL Reference Manual http://help.sap.com/hana/html/sqlmain.html1.SAP HANA 支持的SQL标准 : 支持SQL 92和SQL 99的核心特征,同时基于这些标准SAP HANA进行了多种自己私有的SQL扩展,比如:基于行和列的表,及两者之间的转换。
CREATE ROW TABLE AA (A INT PRIMARY KEY, B INT);
CREATE COLUMN TABLE CC (A INT PRIMARY KEY, B INT);
2.约束类型:
ORACLE:支持五种约束类型分别是:主键(PRIMARY KEY) 唯一键(UNIQUE KEY) 外键(FOREIGN KEY) 非空(NOT NULL) 还有CHECK键。
HANA :支持三种约束类型:主键(PRIMARY KEY) 唯一键(UNIQUE KEY) 非空(NOT NULL) , 不支持外键索引。
大家会觉得很奇怪没有外键约束,SAP HANA创建的关系型数据库如何保证其数据的一致性,SAP HANA是由应用服务器来进行数据一致性的检查。在有外键的情况下 插入和删除都要去关联做数据一致性的验证,那势必会造成性能的降低,在大数据的背景下,抛弃外键约束也是可以理解的。
3.索引类型:基本的三种索引类型。
SAP HANA Reference: CREATE INDEX http://help.sap.com/hana/html/sql_create_index.html
CREATE [UNIQUE] [BTREE | CPBTREE] INDEX <index_name> ON <table_name> (<column_name_order>, ...) [ASC | DESC]
UNIQUE(唯一索引)
BTREE (B+树索引)
CPBTREE ( CPB+树索引): CompressedPrefixB+-Tree: http://blog.csdn.net/qptufly/article/details/7860619
4. SAP HANA 虚表。
DUMMY: SELECT 123 "integer", 123.4 "decimal1", 1.234e2 "decimal2", 0x0abc "hexadecimal" FROM DUMMY;