Can DBA see card data - PCI - DSS
No.

Preferably card numbers and similar information should be stored in a Vault, where access can be controlled and no single person have full access.

If that is not possible, and the card numbers needs to be stored in the database, then they should always be stored encrypted. 
Many databases have functions that can do the encryption on the database side, although it is best to do it in the application so that the numbers are encrypted before sent over the network.

For instance: 


Postgres: pgcrypto module (pgp/raw encryption)
SQL Server: ENCRYPTBY* functions
Oracle: DBMS_CRYPTO package