Agree. Nothing worse than having different programs changing data in the same database. The database should not be an integration point between services.
In this example, it's the job of the "database access layer service" to manage those processes and prevent issues.
But, terrible service name aside, this is a big reason why two services accessing the same database is a capital-H Huge anti-pattern, and really screams "using this project to learn how to do microservices."
there's some real value with abstraction and microservices but you can try to run them against a monolithic database service