います is used for moving things (90% of them are creatures)
あります is for unmoving things.
OK: 犬がいます。
NG: 犬があります。
そこに花があります。(a flower, a creature but unmoving)
この家には幽霊(ghost)がいます(not living but look like moving)
車がとまっています。(a car, a thing but moving)
ショールーム(show room)に車があります(a car but for decoration and never moving)
--------------------------
いる: it stays there for a period of time,
One hour later, tomorrow, or days later, it will go away.
ある: it is there permanently.
One hour later, tomorrow, or days later, it will be still there unless someone intentionally moves it.
That is why いる for moving things and ある for unmoving things.
ある 和 いる 的关系能好像”有”和”在”的关系