Hi

constraints and indexes are not the same, one is to force business rule and the other is the access path to retrieve the data.
as for your secondquestion I am not expert with that mattr butI guess it depends much on you select query(in where clause)
indexing foreign keys is recommended
to find out if indexes are being used you can issue explain plan (you need to run utlxplan.sql before) which shows how the query is retrieving data, using indexes or full table scan
after analyze indexes you check some columns in view user_indexes, I cant remember all but one of them is LEAF
or something like that, it´s to check if b*tree index´s LEAF are balanced.