In **the past** _I saw a dog_. **Now** _I have seen a dog_. The difference is the time period you are talking about. The Simple Past _saw_ is used to talk about past events while the Present Perfect _have seen_ is used to talk about things that are true now, in the present. They are semantically different but logically equivalent. Since you saw a dog in the past it must be true that you have (ever) seen a dog now.

The past could be earlier today or further back. It could be the same dog and occasion you are talking about in both sentences or it could be two different dogs, or even the same dog on different occasions. _I just saw a black dog but I have seen a white dog before._