What about adding all of the Ellipse programatically instead of in a xaml file? Then you can just fill in the details from the database.
var tool = new StackPanel();
tool.Children.Add(new TextBlock() { Text = "Proxima Centauri" });
tool.Children.Add(new TextBlock() { Text = "-1,538676906;-1,178494413;-3,752088504" });
var star = new Ellipse
{
Height = 5,
Width = 5,
Fill = Brushes.Red,
RenderTransform = new TranslateTransform(-2, -2),
ToolTip = tool,
Cursor = Cursors.Hand
};
star.SetValue(Canvas.LeftProperty, 15.38676905655);
star.SetValue(Canvas.TopProperty, 11.784944134632);
star.SetValue(Canvas.ZIndexProperty, -800);
parentCanvas.Children.Add(star);