0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 34

Обновлять базу, затирая первые старые данные

20.02.2023, 17:57. Показов 1675. Ответов 26

Студворк — интернет-сервис помощи студентам
вопрос как элегантно добавляя в базу данные , не давать ей разрастаться - удаляя лишние первые записи, при этом чтоб индекс ключа оставался прежним? скажем есть таблица
SQL
1
2
3
4
5
6
7
8
9
+--------+--------+-----------+
| key_id | price    |  DATE       |
+--------+--------+------------+
|       1   | 15890 |  16.02.03 |
|       2   | 31990 |  17.02.03 |
|       3   |  3190  |  18.02.03 |
|       4   |  1800  |  19.02.03 |
|       5   |   850   |  20.02.03 |
+--------+--------+------------+
командой INSERT INTO я добавляю новую строку данных и получаю

SQL
1
2
3
4
5
6
7
8
9
10
+--------+--------+-----------+
| key_id | price    |  DATE       |
+--------+--------+------------+
|       1   | 15890 |  16.02.03 |
|       2   | 31990 |  17.02.03 |
|       3   |  3190  |  18.02.03 |
|       4   |  1800  |  19.02.03 |
|       5   |   850   |  20.02.03 |
|       6   |   360   |  21.02.03 |
+--------+--------+------------+
а хотелось бы увидеть удаление первой строки но сохранить ключи
SQL
1
2
3
4
5
6
7
8
9
+--------+--------+-----------+
| key_id | price    |  DATE       |
+--------+--------+------------+
|       1   | 31990 |  17.02.03 |
|       2   |  3190  |  18.02.03 |
|       3   |  1800  |  19.02.03 |
|       4   |   850   |  20.02.03 |
|       5   |   360   |  21.02.03 |
+--------+--------+------------+
подскажите в каком напровлении искать, я даже не знаю как это процесс обозначить в поискавиках
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.02.2023, 17:57
Ответы с готовыми решениями:

Уменьшить базу, удалив старые, исторические данные
В жалких попытках уменьшить базу, что мне не советуют на данном форуме и во всех темах и направляют меня на изучение более полезных для...

Запись в базу данных но не обновлять данные а дописывать их
Добрый день требуется помощь есть скрипьт записи данных в бд хочу по средствам этого скрипта зделать запись в туже строку но чтобы старые...

Записать данные в файл, не затирая то что в нем было
Всем привет. Подскажите как дописать данные в файл, не затирая то что в нем было? пробовал так: Memo2.Lines.SaveToFile('1.txt'); ...

26
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 34
24.02.2023, 19:28  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Gluck99 Посмотреть сообщение
Вы тут весёлым троллингом занимаетесь или действительно возомнили о себе бог знает что?
И в мыслях не было! Я на этот сайт исключительно, заходил для решения вопросов которые не мог найти в гугл, либо в свете моей малограмотности, не мог понять в каком направлении искать! Если я позволил вольность хвастаться, то лишь подчеркнув, что решение своего вопроса решил самостоятельно и не более. И благодаря данным форумам я самостоятельно освоил: VB.NET, php, html, работу с настройками сервера и по чуть работу с базами данных ... хотя в последнее время склоняюсь в изучение графовых баз данных.
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
24.02.2023, 19:40
Цитата Сообщение от Kulma Посмотреть сообщение
Если он не привязан к другим таблицам и вы его планируете менять от вольного
то зачем он нужен ?
ну не совсем же все так просто. вот табличка без ключа и с одним полем и две идентичные записи. как обновить только одну из них без ключа, не важно суррогатного или естественного?
1
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 34
24.02.2023, 19:40  [ТС]
Цитата Сообщение от Kulma Посмотреть сообщение
Можно.
Первичный ключ-идентификатор записи.Если он не привязан к другим таблицам и вы его планируете менять от вольного
то зачем он нужен ?
возможно я не понимаю, но мне всегда говорили что в таблице должен быть хоть один ключ идентификатор. А вы предлагаете
конструкцию
SQL
1
2
3
4
5
6
7
8
9
+--------+-----------+
| price   |  DATE       |
+-------+------------+
| 31990 |  17.02.03 |
|  3190  |  18.02.03 |
|  1800  |  19.02.03 |
|   850   |  20.02.03 |
|   360   |  21.02.03 |
+--------+-----------+
или как в моем случае
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
+-------+--------+-----------+
|  code  | price   |  DATE       |
+-------+-------+------------+
|    sin   | 3199  |  17.02.03 |
|    cra   | 3239  |  17.02.03 |
|    pre   | 3449  |  17.02.03 |
|    sin   |  2180  |  18.02.03 |
|    cra   |  2170  |  18.02.03 |
|    pre   |  2195  |  18.02.03 |
|    sin   |  1780  |  19.02.03 |
|    cra   |  1820  |  19.02.03 |
|    pre   |  1910  |  19.02.03 |
+-------+--------+-----------+
или я не правильно понимаю?
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
24.02.2023, 19:42
в этом случае дата может быть естественным ключем, если она не повторяется конечно
0
408 / 242 / 88
Регистрация: 28.04.2022
Сообщений: 1,207
24.02.2023, 21:13
Цитата Сообщение от Аватар Посмотреть сообщение
ну не совсем же все так просто. вот табличка без ключа и с одним полем и две идентичные записи. как обновить только одну из них без ключа, не важно суррогатного или естественного?
У ТС ключ не связан ни с датой, ни с ценой. При этом ни дата, ни цена не обновляются - иначе непонятно зачем добавлять новые записи с новыми ценами и датой. Это первое.
Второе, ключ можно задать по двум полям - по дате (или по дате + время) и по коду товара. Тогда у нас будет жесткая конструкция и всегда будет понятно, на какую дату/время какой товар имел какую цену.
Цитата Сообщение от invader Посмотреть сообщение
решение своего вопроса
На самом деле, у вас не было проблемы. Вы её сами выдумали и сами "решили". Сам пошутил - сам смеюсь. Самообслуживание.
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
24.02.2023, 21:31
Цитата Сообщение от Gluck99 Посмотреть сообщение
ключ можно задать по двум полям
я проглядел, конечно составной ключ)
0
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 34
25.02.2023, 02:32  [ТС]
И так , мой модуль это график трёх валют , за неделю, за месяц за год. Однажды скачав с нацбанка 365х3=1095 запросов, оформил базу, и теперь не нагружая сервер банка просто обновляю базу каждый день, всего тремя запросами. Дата как и цена -( курс) обновляются каждый день и при добавлении в таблицу все смещаются вниз, с удалением древних не нужных данных - обычная практика как выяснилась в программировании матриц , комбинированный ключ ну не знаю, мой код кажется лаконичным, но не идеальным конечно. Да и по планам это был эксперимент для дальнейших таблиц: погоды, ветров , давления солнечного ветра за год на поверхность океана...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.02.2023, 02:32

Вывести новые данные "перекрывающие" старые, не выводя старые
Добрый вечер! Описание можно пропустить и читать сразу, что под спойлером Есть две таблицы. В одной задаются программы работы, в...

Как автоматически обновлять базу данных!
Есть програма которая записывает в файл номера входящих звонков. Нужно чтобы открытый броузер брал список номеров из файла и заносил его...

SQL подключение со временем перестает обновлять базу
Всем привет! У меня вопрос, связанный с SQL запросами. На сервере лежит xlsx файл с общим доступом (без хранения истории), к...

Как обновлять базу данных после редактирования DataGrid?
(Использую локальную базу данных). Создал переменные: SqlConnection EditTableCon; SqlDataAdapter EditTableAdap; DataTable...

Авто-обновление программы с БД SQLite: как обновлять базу
Привет всем. Посоветуйте пожалуйста с реализацией такой задачи. Есть программа которая работает с базой SQLite. Нужно сделать, чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Опции темы

Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru