具备层次结构的实体对象,如何设计表结构及其优劣?

具备层次结构的实体对象,如何设计表结构及其优劣?显示全部
具备层次结构的实体对象,如何设计表结构及其优劣?收起
参与2

返回royalwzy的回答

royalwzyroyalwzy技术经理海通证券股份有限公司
1.具备层级结构的实体对象可以引入维度的概念;
        1.维度用于定义两个列或两个列集合之间的层次关系(hierarchical relationship);
        2.一个维度对象就是一个数据字典,只是定义了数据列之间的逻辑关系,其中并不实际存储任何数据;

2.维度和约束的对比:
        1.对于范式化的维度:可以使用主键约束或者维度;
        2.对于反范式化的维度:只能使用维度定义;
        3.要保证维度总是有效的;
        4.与约束的不同:
                1.可以定义在n列和m列之间;
                2.两边的数据类型可以不同;
                3.维度不是强制的,但是可以被验证;

3.创建时间维度的例子;
CREATE DIMENSION dim_time_test
       LEVEL DAY IS time_test.day_id
       LEVEL MONTH IS time_test.month_id
       LEVEL YEAR IS time_test.year_id
HIERARCHY time_rollup (DAY CHILD OF MONTH CHILD OF YEAR);
证券 · 2015-07-21
浏览650

回答者

royalwzy
技术经理海通证券股份有限公司
擅长领域: 数据库服务器存储

royalwzy 最近回答过的问题

回答状态

  • 发布时间:2015-07-21
  • 关注会员:0 人
  • 回答浏览:650
  • X社区推广