從Salesforce官網能夠了解到Salesforce的force.com平臺裏數據庫表的設計:https://developer.salesforce.com/page/Multi_Tenant_Architecture數據庫
Every logical database object that Force.com exposes is internally managed using metadata. Objects, (tables in traditional relational database parlance), fields, stored procedures, and database triggers are all abstract constructs that exist merely as metadata in Force.com’s Universal Data Dictionary (UDD).編程
每一個force.com暴露出來的邏輯數據庫對象在內部都被metadata元數據管理。數據庫表,表的字段,存儲過程和數據庫觸發器,在force.com裏只不過都是抽象的實體,以元數據的方式存在於force.com的UDD數據字段中。編程語言
而SAP Netweaver也有相似salesforce force.com的UDD概念,在Netweaver ABAP裏成爲ABAP Data Dictionary - DDIC,事務碼SE11打開。函數
SAP的數據庫表有design time和runtime運行時的概念。也支持在ABAP程序運行時動態生成新的數據庫表,以及運行時根據數據庫表對應的實例,反方向獲得其design time信息的方法,相似其餘編程語言好比Java中的反射,不過在ABAP裏咱們不習慣這樣叫,而是稱之爲ABAP Run Time Type Identification, 簡稱RTTI。設計
以上圖顯示的數據庫表TADIR爲例,其字段的元數據都存儲在另外一張表DD03L裏。3d
經過查詢條件TABNAME = TADIR, 便可從數據庫表DD03L裏找到TADIR全部字段的元數據,包括字段名,字段的ABAP data element名稱,內部數據類型和字段長度等等。 對象
固然大多數時候咱們若是須要獲取這些元數據,不須要經過查表的方式,ABAP DDIC給咱們提供了豐富的API,這些函數的命名有規律:DD*GET:blog
而一張表的運行時信息,經過菜單Utilities->Runtime Object->Display查看: 事務
不過這些信息通常來講和ABAP應用開發人員關係不大,因此不多留意。 element
要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":