2013-09-28 2 views
-1

У меня есть сущность с 170 атрибутами. Это данные мониторинга автомобилей. Каждый объект имеет метку времени и уникальный идентификатор терминала gps. Datetime и 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. Разделение, которое вы описываете, необходимо только при моделировании разных объектов, которые могут существовать независимо друг от друга, и это не ваш случай.

Смежные вопросы