The expression "da sind / da ist" is usually only used if you can replace "da" with "dort", meaning an actual location.
In some cases the location is in sight (or at least in the room that we want to describe). That's when we actually use "Da".
As indicated in the other answer before, you can of course use this construction if you're talking about an actual object close to you.
Example, you're at your grannies' and tell her that some coins are on her table.
"Da ist Geld auf dem Tisch" - meaning right there on the table in this room.
"Es gibt Geld auf dem Tisch" would be wrong - because it would be a general statement, obviously not referring to the desk in the room.
If you talk to a friend about your grannies house, you'd say:
"Da war Geld auf ihrem Tisch". (Past of "Da ist")
again, you could NOT USE "Es gab Geld auf ihrem Tisch", since the table is an actual location in the room you describe.
This was the part where the use of "da ist" is mandatory. The following examples are optional.
If you wonder why the "Da ist" sometimes is used in other situations, you can basically always ask yourself the question: Can the "da" be replaced ẃith "dort" (at that place)? Try to ask yourself questions like:
There is a good school in Berlin.
Would it also work with:
At that place there is a good school in Berlin.
No. Would sound rather redundant, therefore we use "Es gibt eine gute Schule in Berlin" rather not "Da ist eine gute Schule in Berlin" (it's not grammatically wrong though)
But in other cases:
Go to Berlin! There are many good schools (in Berlin).
Now try to add "at that place"
Go to Berlin! At that place there are many good schools.
This would work.
So the German sentence would be:
Geh nach Berlin! Da sind viele gute Schulen.
or
Geh nach Berlin! Dort sind viele gute Schulen.
If you'd rather want to stick to the "Es gibt" construction, you'd now have
to add the "da" or "dort" somewhere else in the sentence, because the
description of the location is definitely needed:
Geh nach Berlin! Es gibt viele gute Schulen da/dort.
or (a little more sophisticated)
Geh nach Berlin! Es gibt dort viele gute Schulen.
Also, if you talk about cities and large locations outside, you can use
"Es gibt" most times, even if things are in sight like:
"es gibt eine U-Bahn Station hier" (there's a subway stop here)
but also "da ist eine U-Bahnstation" (there's a subway stop)
or if it's a little further away "dort ist eine U-Bahnstation" (over there, there is a subway stop)
same with things that are gone
"Da war mal eine U-Bahnstation" (There once was a subway station there)
"Es gab mal eine U-Bahnstation hier/dort" (There once was a subway station here/over there)
"Dort/Hier war mal eine U-Bahnstation" (There once was a subway station over there)
So I guess this is the basic rule.
With abstract things or objects that are not in sight (or that would not be in sight if you were standing at the location that you talk about) you always stick to "Es gibt", even if you have sth. to refer to.
"Wie kann man ein altes Auto verkaufen" "Oh, da gibt es viele Wege"
or "Oh, es gibt da viele Wege"
"How to sell an old car?" "Oh, there are many ways"
Of course, you'll always find some German who says "Oh, da sind viele Wege" but that's really rather uncommon, and there is no real need in learning this.
Just stick to "Es gibt" unless you're talking about objects in (your imaginary) sight. Outdoors however, you can mostly stick to "Es gibt" too because "Da ist" is only really required if it's some non-permanent thing like "da ist ein Auto" but with fixed object like traffic lights it can be chosen betwwen "da ist eine Ampel" and "es gibt da eine Ampel"