I suppose you can use a series of adt_arrays or regular arrays with client index as an array index:
Code:
new String:PlayerIDs[32][25];
new PlayerCash[32];
and just index via client index to access their steam ID/cash amount. Then you can hook to the Client connect/client disconnect events (basically, a function that is called if a client disconnects or connects to the server) to retrieve information from the database (on client connect) or add/update information in the database (on client disconnect).
Basically, use client ID as a "key", and then use a couple of arrays to store the client's steam ID & cash amounts. You can increment/decrement cash amounts by accessing the arrays at specific indices (so player 1 might be client index 2, so to get player 1's cash you would do PlayerCash[2] or PlayerCash[iClient] where iClient is 2). Then when the client leaves, you can then "dump" (store) that data into a database (requires some basic sql knowledge, like INSERT INTO or UPDATE commands).
Storing client steam IDs and client money values, and adding/editing/retrieving information from/to a database, should not be difficult. If anything, it's the stuff you want them to do with the money (like trading as you said) that would be a little more complicated.