Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужна ли колонка id в моем случае? / 25 сообщений из 31, страница 1 из 2
20.05.2014, 10:40
    #38646019
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
Планирую быстрорастущую таблицу, поэтому для экономии места обдумываю нужен ли мне в таблице уникальный идентификатор.
Таблица вида:

| id | id_tag | datetime | value |

По сути колонки id_tag в сочетании с datetime определяют уникальность поля.
id этой таблицы никак не планируется связываться с другими таблицами.
Просто сомневаюсь, может эта колонка необходима для служб базы данных.
Спасибо.
...
Рейтинг: 0 / 0
20.05.2014, 10:58
    #38646045
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
СлучАи они разные бывают.

Только суррогаты! Только автосчетчики достойны быть ПК! Только так и никак иначе!
...
Рейтинг: 0 / 0
20.05.2014, 11:04
    #38646057
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
П-Л, WTF?
Можно поподробней?
...
Рейтинг: 0 / 0
20.05.2014, 11:08
    #38646063
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
Войны суррогаты vs естественные ключи вас минули ?
...
Рейтинг: 0 / 0
20.05.2014, 11:25
    #38646086
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
ldarПо сути колонки id_tag в сочетании с datetime определяют уникальность поля.
id этой таблицы никак не планируется связываться с другими таблицами.
Просто сомневаюсь, может эта колонка необходима для служб базы данных.
Спасибо.
Для "служб базы данных" суррогатный ключ не нужен. Если все так, как Вы говорите - сочетание полей уникально, никаких внешних ключей на эту таблицу не будет - да, суррогат бесполезен, вполне можете его не делать.
...
Рейтинг: 0 / 0
20.05.2014, 11:29
    #38646098
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
ldarПо сути колонки id_tag в сочетании с datetime определяют уникальность поля.
id этой таблицы никак не планируется связываться с другими таблицами.

Тут определяется уникальность записи (строки таблицы), а не уникальность поля и если вас всё это устраивает по функционалу, то работайте без id, а на тот случай, если припрет, то всегда можно создать такую же таблицу по структуре + id и переписать туда данные, которые уже будут иметь id, затем старую таблицу заменить на новую.... но лично я в каждой таблице всегда делаю id автоматический счетчик-ключ, даже в связующих таблицах, потом проще - при выделении значения в элементе управления - сразу однозначно идентифицируешь ключ записи которая подлежит: удалению, изменению и т.д.
...
Рейтинг: 0 / 0
20.05.2014, 11:45
    #38646122
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
ldarПо сути колонки id_tag в сочетании с datetime определяют уникальность поля.
А потом наступает последнее воскресенье октября и в вашей системе случается локальный п-ц.

ldarПросто сомневаюсь, может эта колонка необходима для служб базы данных.
Для "служб базы данных" никакая колонка не необходима, а если какая необходима - они их делают сами и обычно скрытыми.
...
Рейтинг: 0 / 0
20.05.2014, 12:07
    #38646159
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
Спасибо.
Просто у меня таблица планируется с большими данными, возможны миллиарды строк и размер одной колонки сыграет существенную роль. Причем данные не будут изменятся, а удалятся только по диапазону дат, ну и планирую партицирование по дате.
В основном будет только выборка по диапазону дат date_time и id_tag.
softwarer,
"А потом наступает последнее воскресенье октября и в вашей системе случается локальный п-ц."
Что под этим подразумевали?
...
Рейтинг: 0 / 0
20.05.2014, 12:14
    #38646173
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
ldar,

Опишите суть поля id_tag.
И с какой дискретностью ваша СУБД хранит тип datetime ?
...
Рейтинг: 0 / 0
20.05.2014, 12:27
    #38646207
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
miksoftldar,

Опишите суть поля id_tag.

id_tag - идентификатор измеряемой величины.
miksoftИ с какой дискретностью ваша СУБД хранит тип datetime ?
>=500мс
...
Рейтинг: 0 / 0
20.05.2014, 12:37
    #38646223
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
если внешних ключей на эту таблицу не планируется, то можно не делать
...
Рейтинг: 0 / 0
20.05.2014, 12:38
    #38646226
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
ldarid_tag - идентификатор измеряемой величины.Это понятно. Как он генерируется, какая разрядность и т.п. ?

ldar>=500мсЧто-то странно, обычно шаг либо целая секунда, либо значительно более мелкие величины, например, 1 мс.
Что за СУБД?
...
Рейтинг: 0 / 0
20.05.2014, 13:03
    #38646269
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
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 мс, нет надобности.
...
Рейтинг: 0 / 0
20.05.2014, 13:04
    #38646271
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
miksoft, СУБД Postgresql
...
Рейтинг: 0 / 0
20.05.2014, 13:06
    #38646274
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
ldar,

Ну так а СУБД сможет хранить эти 1500 мс? Вы уверены, что они не превратятся в 1000 или 2000 ?
...
Рейтинг: 0 / 0
20.05.2014, 13:12
    #38646289
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
miksoftldar,

Ну так а СУБД сможет хранить эти 1500 мс? Вы уверены, что они не превратятся в 1000 или 2000 ?
Согласно мануалу
resolution timestamp = 1 microsecond
вроде не должно.
...
Рейтинг: 0 / 0
20.05.2014, 13:12
    #38646290
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
ldarmiksoft, СУБД PostgresqlЗабавно, но у Postgresql нет типа данных datetime. Но у тех типов, которые есть (кроме date), разрешение 1 мкс, так что тут все нормально.
...
Рейтинг: 0 / 0
20.05.2014, 13:16
    #38646299
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
ldarsoftwarer,
"А потом наступает последнее воскресенье октября и в вашей системе случается локальный п-ц."
Что под этим подразумевали?Сначала я думал, что имеется в виду какая-то общая ситуация, которая возникает очень редко, но по закону подлости не может не возникнуть рано или поздно, и которая приведет к нарушению естественного первичного ключа. Но потом подумал, что речь о более конкретной ситуации - о переводе времени на зимнее/летнее время.

Т.е. еще нужно разобраться с природой поля datetime и с его часовыми поясами и летними/зимними зонами.
...
Рейтинг: 0 / 0
20.05.2014, 13:21
    #38646307
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
Спасибо за помощь.
...
Рейтинг: 0 / 0
20.05.2014, 13:30
    #38646328
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
miksoftТ.е. еще нужно разобраться с природой поля datetime и с его часовыми поясами и летними/зимними зонами.
А что при переводе времени как то меняет значения timestamp в БД?
Всегда считал, что время хранится по UTC, а при выборке переводит в нужный часовой пояс.
...
Рейтинг: 0 / 0
20.05.2014, 13:43
    #38646359
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
ldarmiksoftТ.е. еще нужно разобраться с природой поля datetime и с его часовыми поясами и летними/зимними зонами.
А что при переводе времени как то меняет значения timestamp в БД?
Всегда считал, что время хранится по UTC, а при выборке переводит в нужный часовой пояс.В Postgresql тип данных timestamp имеет две разновидности - without time zone и with time zone. Очевидно, что они ведут себя в этом вопросе по разному.
См. http://www.postgresql.org/docs/9.3/static/datatype-datetime.html
...
Рейтинг: 0 / 0
20.05.2014, 13:45
    #38646364
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
ldarmiksoftТ.е. еще нужно разобраться с природой поля datetime и с его часовыми поясами и летними/зимними зонами.
А что при переводе времени как то меняет значения timestamp в БД?
Всегда считал, что время хранится по UTC, а при выборке переводит в нужный часовой пояс.

в базе при переводе времени ничего не меняется - просто у Вас есть измерение за 02:00:00, а через час случается еще одно измерение, и снова за 02:00:00, поскольку часы перевели на час назад.
...
Рейтинг: 0 / 0
20.05.2014, 22:44
    #38647049
0542
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
Нужна ли колонка id в моем случае?

да забей

потом она пригодцца...)))
100500-т раз
себе спасибо скажешь

все стесняюся спросить - счётчик чо-ль??
...
Рейтинг: 0 / 0
21.05.2014, 07:38
    #38647165
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
Ответ на ваш вопрос - нет, судя по написанному, идентификатор не нужен. Однако, есть вопрос.

> таблица планируется с большими данными, возможны миллиарды строк

Поправьте, если я ошибся: раз в полсекунды регистрируется некоторое значение, в сутки - 172800 значений, в год - 63072000. Как бы не очень понятна задача, для которой теоретически необходима серия длиной в год. Вы делать-то с ней что намерены? Зачем для этого СУБД? Писать сырые данные в файловую систему будет гораздо менее затратно.
...
Рейтинг: 0 / 0
21.05.2014, 14:15
    #38647604
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна ли колонка id в моем случае?
0542Нужна ли колонка id в моем случае?

да забей

потом она пригодцца...)))
100500-т раз
себе спасибо скажешь

все стесняюся спросить - счётчик чо-ль??
Счетчик это по поводу значений?... Нее, сигналы с производственных датчиков.
Думаю если пригодится суррогат, поставлю. Пока нет надобности...
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужна ли колонка id в моем случае? / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]