Ciao, io non sono molto bravo, quindi non posso aiutarti in maniera diretta fornendoti la pappa pronta. Il discorso è comunque interessante. Se dovessi farlo io comincerei a scomporre il problema complesso in tanti piccoli problemi semplici.
Quindi comincerei a pormi delle domande:
1° Che tipo di database uso? ... io in genere per cose così semplici uso un csv. Quindi cercherei il modo per leggere un csv e salvare i dati in un array.
2° Dato che il database si trova in rete come faccio a leggerlo?
3° Come faccio a leggere il MAC di un pc?

Rispondendo a queste 3 domande (di cui sicuramente in rete si trova la soluzione) hai finito. Infatti letto il csv puoi registrarlo in un array e scorrendo l'array, una volta individuata la riga per confronto ad esempio con il codice della licenza, puoi confrontare gli altri elementi.

Spero di essere stato un po' utile.