Есть несколько вариантов решения этой задачи, которые зависят от того, на какой базе данных вы работаете и какую технологию используете для доступа к данным. Однако, в общих чертах, вы можете использовать следующие подходы:
1. Использование триггеров базы данных: Вы можете создать триггеры на базовой таблице, чтобы отслеживать изменения и обновлять view. В триггере вы можете выполнить необходимые обновления во view. Некоторые базы данных (например, PostgreSQL или Oracle) предоставляют возможность создавать триггеры непосредственно на view.
2. Использование материализованных представлений (materialized views): Если ваша база данных поддерживает материализованные представления (например, PostgreSQL или Oracle), вы можете создать материализованное представление, которое будет автоматически обновляться, когда происходят изменения в базовой таблице. Вы можете настроить правила обновления для определенных событий (например, после вставки, обновления или удаления строк) или синхронизироваться с определенным интервалом.
3. Использование ORM (Object-Relational Mapping) библиотек: Если вы используете ORM для доступа к данным, такие как Hibernate для Java или Entity Framework для .NET, вы можете использовать их функциональность отслеживания изменений. ORM предоставляет механизм отслеживания изменений объектов и сопоставления их с базой данных. Вы можете настроить ORM, чтобы он автоматически обновлял view при изменении соответствующих объектов.
Касательно получения координат ячейки, в которой произошли изменения, это будет зависеть от структуры вашей базы данных и способа доступа к данным. Вы можете использовать дополнительные столбцы в таблице или атрибуты объектов, чтобы сохранить информацию о координатах ячеек, или использовать функции базы данных для определения координат ячейки на основе изменений в представлении.
Заметьте, что каждый подход имеет свои достоинства и ограничения, и выбор зависит от ваших конкретных требований и возможностей вашей базы данных.