Russian Qt Forum
Ноябрь 23, 2024, 12:08
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
SQLite. Круглосуточный сбор данных
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: SQLite. Круглосуточный сбор данных (Прочитано 9809 раз)
8Observer8
Гость
SQLite. Круглосуточный сбор данных
«
:
Сентябрь 17, 2014, 19:33 »
Привет!
Для опыта делаю некоммерческое приложение для сбора данных. Каждый день автоматически будет создаваться новая таблица в базе данных. Потом оператор через календарь сможет посмотреть историю "Дата/Время" и "Значение" за указанный день.
Впервые делаю подобное приложение. Какие подводные камни меня ожидают? Возможно, программа будет работать на сервере годами (скорее всего, на Linux). К ней будет удалённый доступ.
Для текущей таблицы решил выбрать QSqlTableModel. Сколько таблиц я смогу создать в одной базе данных? Может лучше, чтобы каждый месяц программа создавала новый файл .sqlite? Для того, чтобы случайно не удалили всю базу данных. А так только за один месяц пропадёт.
В общем, любые советы, предостережения и т.д. Буду очень рад
«
Последнее редактирование: Сентябрь 17, 2014, 19:39 от 8Observer8
»
Записан
kibsoft
Хакер
Offline
Сообщений: 625
Re: SQLite. Круглосуточный сбор данных
«
Ответ #1 :
Сентябрь 17, 2014, 20:45 »
А зачем новая таблица на каждый день, что одной не хватит?
Записан
http://kibsoft.ru
- Download the Qt Media Encoding Library here
The apps that were written using QtMEL:
http://srecorder.com
- Screen recording software
Hrundel
Гость
Re: SQLite. Круглосуточный сбор данных
«
Ответ #2 :
Сентябрь 17, 2014, 22:34 »
Начни с чтения книг по базам данных, "Новая-таблица-каждый-день".
Записан
OKTA
Гость
Re: SQLite. Круглосуточный сбор данных
«
Ответ #3 :
Сентябрь 17, 2014, 23:03 »
Для начала тебе надо выбрать СУБД. Иначе если ты будешь делить на файлы, то как поиск осуществлять и следить за всей этой кучей барахла? А так это можно свалить на СУБД.
И sqlite для подобных задач не подходит - уж лучше MySql, раз идея о линуксовом сервере. Sqlite это так, для мобильных приложений и программулек, которым надо хранить данные, но не для программы, которая собирается работать годами)
И да, почитай о БД, СУБД и всей это лабуде
.. создавать новую таблицу каждый день - это, простите, не комильфо, если мягко сказать
Для начала хватит))
Записан
8Observer8
Гость
Re: SQLite. Круглосуточный сбор данных
«
Ответ #4 :
Сентябрь 18, 2014, 07:54 »
Цитата: kibsoft от Сентябрь 17, 2014, 20:45
А зачем новая таблица на каждый день, что одной не хватит?
Я подумал, что так лечше будет, если я хочу выводить данные на экран в виде таблицы (в которую добавляются новые строчки каждые 4 секунды). И удобнее для выбора таблиц для просмотра.
Цитата: Hrundel от Сентябрь 17, 2014, 22:34
Начни с чтения книг по базам данных
Что посоветуешь?
Цитата: OKTA от Сентябрь 17, 2014, 23:03
И sqlite для подобных задач не подходит - уж лучше MySql
Попробую MySql. Вот эта инструкция подойдёт?
http://qt-project.org/forums/viewthread/41828/
«
Последнее редактирование: Сентябрь 18, 2014, 07:57 от 8Observer8
»
Записан
kibsoft
Хакер
Offline
Сообщений: 625
Re: SQLite. Круглосуточный сбор данных
«
Ответ #5 :
Сентябрь 18, 2014, 09:46 »
Цитата: 8Observer8 от Сентябрь 18, 2014, 07:54
Я подумал, что так лечше будет, если я хочу выводить данные на экран в виде таблицы (в которую добавляются новые строчки каждые 4 секунды). И удобнее для выбора таблиц для просмотра.
Одна таблица, в нее пишутся данные, а показывать потом через QSqlQueryModel <-> QTableView, т.е. будешь делать SQL запрос на выборку данных за нужный день.
Записан
http://kibsoft.ru
- Download the Qt Media Encoding Library here
The apps that were written using QtMEL:
http://srecorder.com
- Screen recording software
8Observer8
Гость
Re: SQLite. Круглосуточный сбор данных
«
Ответ #6 :
Сентябрь 18, 2014, 10:34 »
Цитировать
Одна таблица, в нее пишутся данные, а показывать потом через
Как думаешь, стоит это переделовать на MySQL? Или отдать человеку с SQLite? Ему уже программа нужна. С одной стороны сделал тяп-ляп побыстрому - работает и можно уже использовать. А с другой может сделать сначала по-нормальному на MySQL, а потом отдать? Но время идёт...
Записан
Bepec
Гость
Re: SQLite. Круглосуточный сбор данных
«
Ответ #7 :
Сентябрь 18, 2014, 11:36 »
Вспоминается история про Васю и Петю.
Когда Вася писал и правил программу, желая её довести до совершенства и только потом продавать, Петя продавал программу с ошибками, принимал жалобы и исправлял.
В конце у Васи 2 покупки программы, потому что о ней никто не знает, а у Пети обширная база клиентов, свой дом и хорошая репутация.
Записан
OKTA
Гость
Re: SQLite. Круглосуточный сбор данных
«
Ответ #8 :
Сентябрь 18, 2014, 11:37 »
Синтаксис везде одинаковый - что sqlite, что Mysql - вся запарка в том, что Mysql надо на сервере настраивать.
Записан
8Observer8
Гость
Re: SQLite. Круглосуточный сбор данных
«
Ответ #9 :
Сентябрь 18, 2014, 11:47 »
Цитировать
Вспоминается история про Васю и Петю.
Мудрая легенда
Вася - крайность, а Петя - середина
Цитировать
вся запарка в том, что Mysql надо на сервере настраивать.
Простейший пример для начала бы сделать. Кстати, у меня такая штука есть. Этот эмулятор (если можно так сказать) Можно его использовать?
«
Последнее редактирование: Сентябрь 18, 2014, 12:18 от 8Observer8
»
Записан
kibsoft
Хакер
Offline
Сообщений: 625
Re: SQLite. Круглосуточный сбор данных
«
Ответ #10 :
Сентябрь 18, 2014, 16:40 »
Для тестов у себя можно, а на серваке, конечно, кроме MySQL ничего не нужно.
Цитировать
Этот эмулятор (если можно так сказать)
Это никакой не эмулятор, а просто набор инструментов для быстрого развертывания веб-сервера. Например, Denwer еще есть.
Записан
http://kibsoft.ru
- Download the Qt Media Encoding Library here
The apps that were written using QtMEL:
http://srecorder.com
- Screen recording software
OKTA
Гость
Re: SQLite. Круглосуточный сбор данных
«
Ответ #11 :
Сентябрь 18, 2014, 16:44 »
Не переживай - главное программу написать. Настроить MySql совсем несложно. Да и настраивать не так много придется - создать БД, настроить подключение, определиться с бэкапами и все, а об этом миллиард статей.
Записан
8Observer8
Гость
Re: SQLite. Круглосуточный сбор данных
«
Ответ #12 :
Сентябрь 19, 2014, 21:39 »
Цитировать
Не надо эти нетто, брутто. Вообще выбросьте их из головы. Есть весовой терминал. Он показывает значение. Бабушка записывает. Тачка заехала с цементом, записала вес, время. Когда эта тачка выгрузит цемент и заедет на весы, бабушка запишет вес тачки пустой. Потом выйдет разница. Но это не важно.
Важно сейчас удаленное наблюдение за честностью бабушки, т.е. правдивость этих двух значений для данной фуры. Будет удаленный доступ на ПК, к которому через вирт. ком-порт подключен терминал. В любой момент времени проверяющий сидя в офисе может зайти на этот ПК (который желательно работает на Linux, чтобы за Винду не платить) и посмотреть когда какой вес был. Ему нужно проверить только вес в такой-то момент времени, т.е. посмотреть историю взвешиваний. Считаем, что он сверится со своей бумажкой в которой указано какая фура когда приезжала. Т.е. для программы ТЗ идеальное на данный момент времени:
1. Ведет историю взвешиваний.
1.а) 0 не повторяет в логе.
1.б) когда начинается взвешивание заносит значения каждые 4 секунды. Оператор сам затем посмотрит получившееся точки и вычислит среднее значение (может оказаться, что весы не будут колебаться, тогда еще проще)
2. Постоянно сохраняет результаты, чтобы при внезапном отключение питания результат сохранился.
3. Возможность в любой момент посмотреть историю взвешиваний.
4. Работает постоянно/круглосуточно/7ДнвНед
5. Работает в Линухе
Я думаю, тут SQLite хватит для начала.
«
Последнее редактирование: Сентябрь 19, 2014, 21:44 от 8Observer8
»
Записан
8Observer8
Гость
Re: SQLite. Круглосуточный сбор данных
«
Ответ #13 :
Сентябрь 19, 2014, 21:45 »
Текущее состояние. Поставил Linux Mint 13 на виртуальную машину (Virtual Box). Поставил Qt 5.3.2 по этой инструкции:
https://qt-project.org/wiki/Install_Qt_5_on_Ubuntu
Правлю проект с целью получить исполняемый файл для Linux.
Будем выводить только текущее значение веса и дату\время. Программа сохраняет в файл .sqlite. Этот файл можно будет просматривать каким-нибудь QSLite-менеджером, например, этим:
ссылка
«
Последнее редактирование: Сентябрь 19, 2014, 22:10 от 8Observer8
»
Записан
Hvzh
Гость
Re: SQLite. Круглосуточный сбор данных
«
Ответ #14 :
Октябрь 28, 2014, 12:58 »
Основной подводный камень - пункт 1.б
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...