The number and type of cases a language has can in no way be predicted and is hardly in any way logical. The only thing that somehow can matter is what cases an ancestor language had. However, cases can get lost over the course of history (happend in many languages descending from Latin) or created by innovation.
Hence, the question ‘what are the English equivalents?’ cannot be answered properly, because English, even though being somewhat related to German via Proto-Germanic, has lost most of the case distinctions. Only traces of them have survived in the case of pronouns (which are usually the last feature of languages to lose case-distinctions due to frequency of use):
As you notice, English has lost the accusative/dative distinction (if it ever had it). If you take common nouns, all case distinctions are lost except for the genitive which receives an apostrophed s.
Other languages have, as was already stated, different amounts and types of cases stemming from their own personal language history. Apparantly, Proto-Indo-European know eight or nine cases:
- allative or directive (debated)
Finno-Ugric languages such as the Veps language (24) or Finnish (15) have quite a few more. Others, e.g. Chinese do and did not show any inflection and hence no cases whatsoever. As a general rule, the less cases a language has, the more it relies on pre- (e.g. English) and postpositions (e.g. Japanese) to convey the same ideas e.g. where to go (Finnish: Helsinkiin, English to Helsinki, Japanese Herushinki he).
However, when languages do have the same cases as other languages, these usually always convey the same or a similar standard meaning. The reason is not copying or parallel evolution but rather labelling similar structures with the same name. Hence also why English’s ’s is labelled the s-genitive.
But just because something is used in the same way, doesn’t mean it’s 100 % equivalent. For example in French, the construction à quelquun can be described to Germans as a ‘dative case’. There are notable words, however, where German requires dative, while French requires a direct object, termed accusative case in German. The most prominent example is probably aider quelquun (to help somebody, direct object) versus jemandem helfen (dative object). Finnish, which doesn’t have a dative case, uses the partitive case instead (auttaa jotakuta), while most datives are rendered using the allative.
tl;dr: Take the number and types of cases a language has for granted. Do not look for similarities or cross-wise consistency. Be wary of thinking ‘oh, that’s just like in <insert your language here>!’, because there will be multiple exceptions to that rule.