One approach could be this one:
- create a trigger which acts on update/insert/delete
- the trigger calls a proc, depending on the db type, you need an external proc or a proc which can call java code/.net code
- the proc is your push system, so the proc effectively pushes a value out to a client for example. This requires some configuration but it is doable that the client registers itself with the db system or a service and the service registers itself with the db. The proc then creates a connection with the service and sents the change to the service
- the service sends a message to all registered clients that a change happened.
This avoids needless polling. However it also requires some routing in code which is very app specific and less maintainable. You can also go the polling route with a trigger.