It is more about having a server-authoritative design, of which a server database is most likely a part. How you do this, however, is very big subject.
I agree. If you just use a database, it is still a client task to update it. You should rely on a fully authoritative server solution (you can find some listed here ) which receives the client requests, uses your custom logic to validate them, and dispatches commands to the other clients.
Reducing cheating using an authoritative server comes from the server vetting and not trusting any input from the client, and the server basically running the entire simulation. Having your own server side database can be part of that.
I doubt you’ll be able to find a beginner friendly tutorial on the topic.