|
|
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
Планирую быстрорастущую таблицу, поэтому для экономии места обдумываю нужен ли мне в таблице уникальный идентификатор. Таблица вида: | id | id_tag | datetime | value | По сути колонки id_tag в сочетании с datetime определяют уникальность поля. id этой таблицы никак не планируется связываться с другими таблицами. Просто сомневаюсь, может эта колонка необходима для служб базы данных. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 10:40 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
СлучАи они разные бывают. Только суррогаты! Только автосчетчики достойны быть ПК! Только так и никак иначе! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 10:58 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
П-Л, WTF? Можно поподробней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 11:04 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
Войны суррогаты vs естественные ключи вас минули ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 11:08 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
ldarПо сути колонки id_tag в сочетании с datetime определяют уникальность поля. id этой таблицы никак не планируется связываться с другими таблицами. Просто сомневаюсь, может эта колонка необходима для служб базы данных. Спасибо. Для "служб базы данных" суррогатный ключ не нужен. Если все так, как Вы говорите - сочетание полей уникально, никаких внешних ключей на эту таблицу не будет - да, суррогат бесполезен, вполне можете его не делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 11:25 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
ldarПо сути колонки id_tag в сочетании с datetime определяют уникальность поля. id этой таблицы никак не планируется связываться с другими таблицами. Тут определяется уникальность записи (строки таблицы), а не уникальность поля и если вас всё это устраивает по функционалу, то работайте без id, а на тот случай, если припрет, то всегда можно создать такую же таблицу по структуре + id и переписать туда данные, которые уже будут иметь id, затем старую таблицу заменить на новую.... но лично я в каждой таблице всегда делаю id автоматический счетчик-ключ, даже в связующих таблицах, потом проще - при выделении значения в элементе управления - сразу однозначно идентифицируешь ключ записи которая подлежит: удалению, изменению и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 11:29 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
ldarПо сути колонки id_tag в сочетании с datetime определяют уникальность поля. А потом наступает последнее воскресенье октября и в вашей системе случается локальный п-ц. ldarПросто сомневаюсь, может эта колонка необходима для служб базы данных. Для "служб базы данных" никакая колонка не необходима, а если какая необходима - они их делают сами и обычно скрытыми. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 11:45 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
Спасибо. Просто у меня таблица планируется с большими данными, возможны миллиарды строк и размер одной колонки сыграет существенную роль. Причем данные не будут изменятся, а удалятся только по диапазону дат, ну и планирую партицирование по дате. В основном будет только выборка по диапазону дат date_time и id_tag. softwarer, "А потом наступает последнее воскресенье октября и в вашей системе случается локальный п-ц." Что под этим подразумевали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 12:07 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
ldar, Опишите суть поля id_tag. И с какой дискретностью ваша СУБД хранит тип datetime ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 12:14 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
miksoftldar, Опишите суть поля id_tag. id_tag - идентификатор измеряемой величины. miksoftИ с какой дискретностью ваша СУБД хранит тип datetime ? >=500мс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 12:27 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
если внешних ключей на эту таблицу не планируется, то можно не делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 12:37 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
ldarid_tag - идентификатор измеряемой величины.Это понятно. Как он генерируется, какая разрядность и т.п. ? ldar>=500мсЧто-то странно, обычно шаг либо целая секунда, либо значительно более мелкие величины, например, 1 мс. Что за СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 12:38 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
miksoftКак он генерируется, какая разрядность и т.п. ? Это первичный ключ другой таблицы, отношение "один ко многим" в той таблице поле является уникальным целым числом, описывает сущность измеряемой величины. miksoftЧто-то странно, обычно шаг либо целая секунда, либо значительно более мелкие величины, например, 1 мс. Что за СУБД? Я может не так Вас понимаю, я имею ввиду временной шаг между записями одного тега id_tag | date_time ---------------- 1 | ...500 мс 2 | ...500 мс 3 | ...500 мс 1 | ...1000 мс 2 | ...1000 мс 3 | ...1000 мс 1 | ...1500 мс 2 | ...1500 мс 3 | ...1500 мс Менее 500 мс, нет надобности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 13:03 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
miksoft, СУБД Postgresql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 13:04 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
ldar, Ну так а СУБД сможет хранить эти 1500 мс? Вы уверены, что они не превратятся в 1000 или 2000 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 13:06 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
miksoftldar, Ну так а СУБД сможет хранить эти 1500 мс? Вы уверены, что они не превратятся в 1000 или 2000 ? Согласно мануалу resolution timestamp = 1 microsecond вроде не должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 13:12 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
ldarmiksoft, СУБД PostgresqlЗабавно, но у Postgresql нет типа данных datetime. Но у тех типов, которые есть (кроме date), разрешение 1 мкс, так что тут все нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 13:12 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
ldarsoftwarer, "А потом наступает последнее воскресенье октября и в вашей системе случается локальный п-ц." Что под этим подразумевали?Сначала я думал, что имеется в виду какая-то общая ситуация, которая возникает очень редко, но по закону подлости не может не возникнуть рано или поздно, и которая приведет к нарушению естественного первичного ключа. Но потом подумал, что речь о более конкретной ситуации - о переводе времени на зимнее/летнее время. Т.е. еще нужно разобраться с природой поля datetime и с его часовыми поясами и летними/зимними зонами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 13:16 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
Спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 13:21 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
miksoftТ.е. еще нужно разобраться с природой поля datetime и с его часовыми поясами и летними/зимними зонами. А что при переводе времени как то меняет значения timestamp в БД? Всегда считал, что время хранится по UTC, а при выборке переводит в нужный часовой пояс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 13:30 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
ldarmiksoftТ.е. еще нужно разобраться с природой поля datetime и с его часовыми поясами и летними/зимними зонами. А что при переводе времени как то меняет значения timestamp в БД? Всегда считал, что время хранится по UTC, а при выборке переводит в нужный часовой пояс.В Postgresql тип данных timestamp имеет две разновидности - without time zone и with time zone. Очевидно, что они ведут себя в этом вопросе по разному. См. http://www.postgresql.org/docs/9.3/static/datatype-datetime.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 13:43 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
ldarmiksoftТ.е. еще нужно разобраться с природой поля datetime и с его часовыми поясами и летними/зимними зонами. А что при переводе времени как то меняет значения timestamp в БД? Всегда считал, что время хранится по UTC, а при выборке переводит в нужный часовой пояс. в базе при переводе времени ничего не меняется - просто у Вас есть измерение за 02:00:00, а через час случается еще одно измерение, и снова за 02:00:00, поскольку часы перевели на час назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 13:45 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
Нужна ли колонка id в моем случае? да забей потом она пригодцца...))) 100500-т раз себе спасибо скажешь все стесняюся спросить - счётчик чо-ль?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 22:44 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
Ответ на ваш вопрос - нет, судя по написанному, идентификатор не нужен. Однако, есть вопрос. > таблица планируется с большими данными, возможны миллиарды строк Поправьте, если я ошибся: раз в полсекунды регистрируется некоторое значение, в сутки - 172800 значений, в год - 63072000. Как бы не очень понятна задача, для которой теоретически необходима серия длиной в год. Вы делать-то с ней что намерены? Зачем для этого СУБД? Писать сырые данные в файловую систему будет гораздо менее затратно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2014, 07:38 |
|
||
|
Нужна ли колонка id в моем случае?
|
|||
|---|---|---|---|
|
#18+
0542Нужна ли колонка id в моем случае? да забей потом она пригодцца...))) 100500-т раз себе спасибо скажешь все стесняюся спросить - счётчик чо-ль?? Счетчик это по поводу значений?... Нее, сигналы с производственных датчиков. Думаю если пригодится суррогат, поставлю. Пока нет надобности... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2014, 14:15 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38647049&tid=1540877]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
153ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 486ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...