|
|
|
Посоветуйте новичку определиться со структурой БД.
|
|||
|---|---|---|---|
|
#18+
Доброго здравия! Пилю сервер для обмена информацией с железками, хочу хранить в БД следующее: пользователя,, три ключа в виде текстовых полей для разных случаев, датчик(канал данных), его принятые значения, время приёма; При наличии команды - хранить команду для какого-то канала управления. Имя и пароль пользователя беру из уже существующей таблицы, там же есть user_id, исхожу из того, что он уникальный. Что думаю сейчас: В одной таблице: sensor_id - (автоинкремент; стоит ли делать ключём?) owner_id - (польльзователя-владельца) sensor_name - ( строка) sensor_type - ( тип данных ). Тип данных может быть: логический (true|false) или целый или плавучка. Вторая таблица: sensor_id - соответствующий номер сенсора data - данные. Соответствуют типу данных из первой таблицы datetime - время внесения данных по серверу Третья таблица: own_id - владелец cmd_name - имя команды, строка? [ b]cmd_val - значение команды datetime[/b] - время: до отправления железке время внесения, после этого - время отправки send - отправлена ли команда, логический Всё общение идёт через POST запросы, то есть так или иначе переводится в текстовую форму скриптами на PHP. Собственно, вопросы такие: - Нет ли явных ляпов в придуманной структуре?. - стоит ли поле data во второй таблице делать требуемого типа и вести три таблицы(для каждого типа данных своя) или проще все 3 поля в одной, и работать с соответствующим, исходя из типа по полю в первой? Может стоит его хранить в строке, вроде того, как PHP может всё интерпретировать как строку в случае необходимости? - стоит ли для третьей таблицы заводить тип команды и соответственно поля под это дело? - нужен ли ключ для второй и третьей таблиц? - где хранить текстовые ключи? В сторонней, откуда беру данные юзверей, не хочу менять структуру. Отдельную заводить - вроде как недостаточный повод. В первую пихать - будет дублироваться на каждый сенсор (канал данных). Что считают уважаемы дамы и господа по этому поводу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 17:23 |
|
||
|
Посоветуйте новичку определиться со структурой БД.
|
|||
|---|---|---|---|
|
#18+
"Вода - мокрая, жизнь - дерьмо, у таблицы обязан быть первичный ключ." Явных косяков нет, делай. Неявные косяки почувствуешь на свое шкуре в виде вопросов "как сделать такой запрос?" Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 17:30 |
|
||
|
Посоветуйте новичку определиться со структурой БД.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, обязан ли быть первичный ключ уникальным? Можно ли его сделать составным? Если да - киньте примерным текстом запроса в меня, пожалуйста? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 17:37 |
|
||
|
Посоветуйте новичку определиться со структурой БД.
|
|||
|---|---|---|---|
|
#18+
Да. Да. Открой любой учебник SQL, или документацию, там примеры есть. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 17:50 |
|
||
|
Посоветуйте новичку определиться со структурой БД.
|
|||
|---|---|---|---|
|
#18+
Как я понимаю, мне проще всего сделать на 2 и 3 таблицы что-то вроде автоинкрементного rec_id и успокоиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 17:53 |
|
||
|
Посоветуйте новичку определиться со структурой БД.
|
|||
|---|---|---|---|
|
#18+
Да. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 18:19 |
|
||
|
Посоветуйте новичку определиться со структурой БД.
|
|||
|---|---|---|---|
|
#18+
Мне не совсем понятна третья таблица. Первая, очевидно -перечень датчиков. Вторая - журнал их показаний. А третья - журнал переданных команд? А почему команда привязывается к владельцу (owner) ? Получается, что владелец посылает одну команду всем своим датчикам? Это верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 22:32 |
|
||
|
|

start [/forum/topic.php?fid=32&tid=1540275]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
173ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 500ms |

| 0 / 0 |

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