Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите спроектировать таблицы
|
|||
|---|---|---|---|
|
#18+
Приветствую. Есть такая ситуация. Есть таблицы, TABLE_1, TABLE_2 и допустим TABLE_3. В каждой набор своих полей - типа TABLE_1.USERNAME, TABLE_1.RECORD_1 ... RECORD_N. И т.д. Ситуация - есть движок через который добавляются, изменяются, удаляются значения полей в этим таблицах. Раз в сутки (неделю, месяц) нужно отсылать изменения по каждой из таблиц по каждому USERNAME. Как собирать эти изменения? Вариант. (Пока что единственно что приходит в голову, но мне кажется достаточно дурацким). Храним копии таблиц, с идентичными полями в виде BOOLEAN, в которых при изменении ставится флаг и очищается после того как отчет по изменениям был отослан. Буду благодарен за ваши советы. P.S. База - MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2005, 17:53 |
|
||
|
Помогите спроектировать таблицы
|
|||
|---|---|---|---|
|
#18+
Нет, флаги не нужны. Сегодня, на форуме MS SQL Server, проходил этот вопрос. Была ссылка со статьей "Работа с множествами в Transact-SQL". Там все написано в запросах. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2005, 18:10 |
|
||
|
Помогите спроектировать таблицы
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Могу предложить пару решений Вашей задачи. A. 1. Создать одну универсальную таблицу TABLE_LOG для хранения изменений со следующими полями: USER_NAME TABLE_NAME FIELD_NAME FIELD_CONTENT 2. Заполнение таблицы TABLE_LOG возложить на триггера соответствующих исходных таблиц 3. Очищать таблицу TABLE_LOG после передачи изменений. B. 1. Также можно создать таблицы полностью идентичные исходным таблицам TABLE_LOG_1, ... 2. Заполнение таблиц TABLE_LOG_1, ... возложить на триггера соответствующих исходных таблиц 3. Очищать таблицы TABLE_LOG_1, ... после передачи изменений. Но все зависит от характера Вашей задачи. Как часто происходят изменений? Как много полей обновляется? Как часто необходимо передавать изменения? Оптимальное решение зависит от Ваших конкретных условий. Я к сожалению не знаком с MySQL, я работаю с Oracle. Первый вариант подразумевает использование динамического SQL, не знаю есть ли это расширение стандартного SQL в MySQL. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2005, 18:26 |
|
||
|
Помогите спроектировать таблицы
|
|||
|---|---|---|---|
|
#18+
Paul SacksНет, флаги не нужны. Сегодня, на форуме MS SQL Server, проходил этот вопрос. Была ссылка со статьей "Работа с множествами в Transact-SQL". Там все написано в запросах. Удачи. http://www.aspnetmania.com/Articles/PrintArticle/41.html К сожалению это не то, что мне нужно. Хранить копию таблиц - накладно, т.к. в них очень много данных. Поэтому из вариантов - либо 1: хранить копии таблиц, аналогичных по структуре, но с BOOLEAN вместо полей, который и будут "флагировать" что было изменение, либо 2: как описал Konstantin Lofichenko - дополнительную базу TABLE_LOG в которой фиксировать изменения по полям. К сожалению опять же MySQL не поддерживает триггеры ранее 5 версии, а на нее мы не готов переводить рабочие сервера. Опять же, вариант 1 мне кажется недостаточно оптимальным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2005, 18:44 |
|
||
|
Помогите спроектировать таблицы
|
|||
|---|---|---|---|
|
#18+
Поле Bit (boolean), его менять у отправленных записей. Плюс не использовать счетчики, чтоб не было мороки потом. Ещё важно - служебное поле, когда запись считана, очень полезное поле иногда бывает. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2005, 19:12 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33125404&tid=1545805]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 402ms |

| 0 / 0 |
