Who has SHOWPLAN permissions on a database
You asked "in a database", so setting aside sysadmins and people who have been granted permission at the server level, you can see people who were granted or denied that permission at the database level by running this query in the database you're curious about:

SELECT p.name, perm.* 
  FROM sys.database_permissions perm
  INNER JOIN sys.database_principals p ON perm.grantee_principal_id = p.principal_id
  WHERE perm.permission_name = 'SHOWPLAN';


Note that I'm not filtering for state_desc (grant or deny) there because if you're interested in who has access, you're probably also interested in who's been denied access.