|
|
|
Требуется спроектировать БД с логированием внесённых данных
|
|||
|---|---|---|---|
|
#18+
Добрый день! Пишу бух. программу на php+mysql. Есть такая таблица: она заполняется и считается раз в месяц для каждого из двух десятков отделов. Желтые поля заполняет начальник отдела, голубые бухгалтер, зелёные считаются программой на основании заполненных данных. Требуется каким-то образом фиксировать все вносимые людьми данные, и запоминать историю ввода. Вижу это таким образом: если данные были внесены первый раз, ячейка никак не подсвечивается. Если же в ячейку вносились исправления, она подсвечивается цветом, при клике на ней вылазит окошко со списком изменений: когда, кто и что вносил, примерно так: Исходные данные: 1) таблица юзеров, которые вводят данные (id,ФИО); 2) таблица отделов (id, название); 3) таблица сотрудников (id, ФИО); 4) таблица привязки сотрудников к отделам (id сотрудника, id отдела). Каждый сотрудник может числится в нескольких отделах. 5) таблицы месячных отчетов одинаковы для всех отделов, по идее это даёт возможность свести все отделы в одну таблицу БД и разделять их по полям id_отдела и даты. Требуется помощь в дальнейшем проектировании БД, в частности: 1) как лучше сделать таблицу месячных отчетов, одной таблицей БД или несколькими: - первая, временная - для заполнения начальником отдела; - вторая, временная - для заполнения бухгалтером; - третья, основная, для окончательных данных. После заполнения первых двух таблиц и нажатия кнопки "поехали" она заполняется посчитанными данными, после этого первые две таблицы очищаются для внесения данных за очередной месяц. Или другой вариант. 2) структура таблиц(ы) для фиксации внесённых людьми данных, тут пока никаких идей. Буду благодарен за любую помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2012, 11:57 |
|
||
|
Требуется спроектировать БД с логированием внесённых данных
|
|||
|---|---|---|---|
|
#18+
Victor256, Я в проектировании БД не ас но попробую предложить свой упрощенный вариант: users ( id , name) employee ( id , name, ...) Таблица сотрудников tablebuh ( id , IDemployee , date, field1, field2, field3) - Твоя таблица(field1 - для бухгалтера, field2 - для начальника, field3 - рассчитывается) field1History ( id , datetime, IDtsblebuh , val, IDuser) - Таблица истории изменений для field1 field2History ( id , datetime, IDtsblebuh , val, IDuser) - Таблица истории изменений для field2, при правке поля field2, триггером заносить сюда дату, время, предыдущего значения. Надеюсь понятно представил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2012, 00:19 |
|
||
|
Требуется спроектировать БД с логированием внесённых данных
|
|||
|---|---|---|---|
|
#18+
Victor256, Для бухучета возьмите ту же 1С и непарьтесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2012, 04:44 |
|
||
|
Требуется спроектировать БД с логированием внесённых данных
|
|||
|---|---|---|---|
|
#18+
iDimash , структура нормальная, только в триггер ведь не передашь id из таблицы users. Сделаю это в php. Злой Бобр авторДля бухучета возьмите ту же 1С и непарьтесь. если бы знал 1с, я бы и не парился ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2012, 12:31 |
|
||
|
Требуется спроектировать БД с логированием внесённых данных
|
|||
|---|---|---|---|
|
#18+
Victor256 iDimash , структура нормальная, только в триггер ведь не передашь id из таблицы users. Сделаю это в php. Злой Бобр авторДля бухучета возьмите ту же 1С и непарьтесь. если бы знал 1с, я бы и не парился Зачем ее знать, ее надо брать ;-) А так, Вы пытаетесь создать свою транзакционную модель. Можно, но может быть лучше посмотреть, что дадут стандартные средства MySQL. По моему там можно настроить логирование действий. Вам останется только научиться парсить логи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2012, 12:43 |
|
||
|
Требуется спроектировать БД с логированием внесённых данных
|
|||
|---|---|---|---|
|
#18+
mad_nazgulЗачем ее знать, ее надо брать ;-) А так, Вы пытаетесь создать свою транзакционную модель. Можно, но может быть лучше посмотреть, что дадут стандартные средства MySQL. По моему там можно настроить логирование действий. Вам останется только научиться парсить логи. та нет, до транзакционной модели ей далеко :) логи мускула мне не помогут, ведь программа работает от одного единственного пользователя, а разделение доступа происходит на программном уровне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2012, 12:53 |
|
||
|
Требуется спроектировать БД с логированием внесённых данных
|
|||
|---|---|---|---|
|
#18+
Victor256та нет, до транзакционной модели ей далеко :) логи мускула мне не помогут, ведь программа работает от одного единственного пользователя, а разделение доступа происходит на программном уровне. Ну надо чтобы работала от разных пользователей, в зависимости от роли ;-) Это я к тому, что "лучше день потерять, потом за пять минут долететь". Лучше посидеть подумать, как спроектировать систему, чтобы пользоваться стандартными средствами, чем самому "изобретать велосипед". <:o) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2012, 16:08 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37944460&tid=1541560]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 495ms |

| 0 / 0 |
