powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / лимит на запись
12 сообщений из 12, страница 1 из 1
лимит на запись
    #38477231
sylkoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как лучше реализовать такую идею! Представте таблицу где есть только 2 колонки в первой уникальный ИД во второй другой ИД который может повторяться! нужно сделать так, чтобы максимум второго ИД в таблице было 100 штук! Если добавляется запись ещё одна, то она перезаписывает самую давнюю!
...
Рейтинг: 0 / 0
лимит на запись
    #38477287
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя слишком фантастическое и оторванное от реальности желание. Во всяком случае я не могу придумать ни одной реальной задачи в которой это было бы нужно.

Но если хочется ограничить таблицу "оперативным" набором данных. То достаточно в качестве "второго ИД" использовать временн у ю метку с удовлетворяющим шагом (в секунду, микросекунду, день, год и тд). И с периодичностью в шаг удалять устаревшие записи.

Но вообще, вопрос к SQLite не относится. Этот топик надо перенести в "Проектирование БД".

Модератор: Тема перенесена из форума "SQLite".
...
Рейтинг: 0 / 0
лимит на запись
    #38477291
transpose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sylkoga чтобы максимум второго ИД в таблице было 100 штук
100 записей или 100 уникальный значений (а записей может быть сколько угодно)?
...
Рейтинг: 0 / 0
лимит на запись
    #38477298
sylkoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ситуация такая! У меня есть база в которой несколько таблиц и в которой есть таблица чатов и еще одна это сообщения к каждому чату! так вот в данной главной бд у меня всё нормально работает! но я делаю програмку для моб. устройсва, и на нём у меня место ограниченно! да и мне не нужно там держать миллион чатовых сообщений! мне нужна только история (последние 100)! и это не оторванная от реальности задача, а реальный проект!
...
Рейтинг: 0 / 0
лимит на запись
    #38477303
sylkoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для каждого второго ид (ид чата) максимум 100 записей!
...
Рейтинг: 0 / 0
лимит на запись
    #38477309
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sylkoga , хранить в БД и показывать данные это кагбе две большие разницы...
...
Рейтинг: 0 / 0
лимит на запись
    #38477313
sylkoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблема в том, что они должны храниться на устройстве! их нужно показывать даже когда нет интернета! вот в чем причина моего вопроса!
...
Рейтинг: 0 / 0
лимит на запись
    #38477343
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и что ты так нервничаешь? Зачем столько восклицательных знаков?

Если у тебя чат и надо на клиенте показывать (и хранить) только последние сто сообщений, то можно сделать очень просто:
Храни все сообщения на сервере в одной таблице, сделай на этой таблице индексированное поле по времени создания сообщения.
А теперь на клиенте (мобильном устройстве) запрашивай эти самые последние записи:
Код: sql
1.
2.
3.
 select * from Messages
 ORDER BY Message_Timestamp DESC
 LIMIT 100


И все.
Дальше начинаются проблемы синтаксиса. Не все СУБД умеют делать LIMIT 100. У некоторых аналогичная возможность называется TOP 100. А у некоторых ее вообще нет, там придется делать суррогатную нумерацию строк.
Но это как раз таки показ данных. Хранить в БД эти последние записи смысла нет. Хотя тут тоже зависит от того о какой БД речь.
Если о серверной - то смысла нет. Если о той которая у тебя в мобильном устройстве, то там нет смысла хранить полную базу и клиент будет каждый раз очищать свою таблицу и заполнять ее результатом запроса.
...
Рейтинг: 0 / 0
лимит на запись
    #38477596
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sylkogaпроблема в том, что они должны храниться на устройстве!
Это не хранение, в полном понимании этого слова. Некий кеш для отображения и не более того...
А следить за кешем пользователя это уже другое дело.
...
Рейтинг: 0 / 0
лимит на запись
    #38477701
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sylkogaКак лучше реализовать такую идею! Представте таблицу где есть только 2 колонки в первой уникальный ИД во второй другой ИД который может повторяться! нужно сделать так, чтобы максимум второго ИД в таблице было 100 штук! Если добавляется запись ещё одна, то она перезаписывает самую давнюю!А что сложного в реализации?

При добавлении записи проверяете, если в таблице >= 100 записей, то удаление записей, кроме последних 99, и добавление записи.
...
Рейтинг: 0 / 0
лимит на запись
    #38477814
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sylkogaКак лучше реализовать такую идею! Представте таблицу где есть только 2 колонки в первой уникальный ИД во второй другой ИД который может повторяться! нужно сделать так, чтобы максимум второго ИД в таблице было 100 штук! Если добавляется запись ещё одна, то она перезаписывает самую давнюю!


Ну триггером такое делается, или вместо триггера процедурой.
...
Рейтинг: 0 / 0
лимит на запись
    #38483601
transpose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sylkogaситуация такая! У меня есть база в которой несколько таблиц и в которой есть таблица чатов и еще одна это сообщения к каждому чату! так вот в данной главной бд у меня всё нормально работает! но я делаю програмку для моб. устройсва, и на нём у меня место ограниченно! да и мне не нужно там держать миллион чатовых сообщений! мне нужна только история (последние 100)! и это не оторванная от реальности задача, а реальный проект!

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


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