2013-09-28 38 views
-1

我有具有170个属性的实体。这是来自车辆监控的数据。每个实体都有数据时间标签和唯一的gps终端标识。日期时间和终端的ID - 这些是GROUP BY操作的条件。我可以创建一个表的所有实体:有关系的一个表格或很多表格

CREATE TABLE rows { 
    terminal_id long reference terminals(id), 
    time timestamp, 
    -- description 170 attributes 
    PRIMARY KEY(terminal_id, time) 
} 

或者我可以创建许多表有关系:

CREATE TABLE rows { 
    row_id long PRIMARY KEY, 
    terminal_id long reference terminals(id), 
    time timestamp -- need create index for group by 
} 

CREATE TABLE gps { 
    row_id long references rows(row_id), 
    -- description gps attributes 
} 

CREATE TABLE fuel { 
    row_id long references rows(row_id), 
    -- description fuel attributes 
} 
-- etc. 

请为此类型的数据库所建议的最佳结构。

回答

1

在我看来,在将属性移动到不同的表中时没有任何优势,事实上由于需要从db中获取数据所需的额外连接,性能会变差。您所描述的分解只在建模可能彼此独立存在的不同实体时才需要,这不是您的情况。

相关问题