you need to shrink files, not database.
example - replace test with your database name on the use statement, and with the logical name of your datafile on the shrinkfile command.
the size below is in MB - you will need to determine what size should be on your case - I would leave 5-10% free.
DBCC SHRINKFILE (N'test' , 5100)
after the shrink is finished you will need to rebuild the indexes - better normally to drop all non clustered indexes, rebuild clustered indexes and then recreate the non clustered ones.
better yet is to drop the non clustered ones BEFORE the shrink.
ideal flow of steps to maximize the space is
- drop non clustered indexes
- rebuild clustered indexes -- will save some space
- shrink datafile(s)
- rebuild clustered indexes - to avoid pitfall of index inversion
- recreate non clustered indexes
if your tables have lots of LOB objects then process should be slightly different but it does require you to have free space to hold another copy of the database (without non clustered indexes space)