SportsDB was designed to be an all-purpose repository of sports data as represented by the open source XML format SportsML. Indeed, many of its tables and columns represent a 1:1 relationship with SportsML elements and attributes.
SportsDB shares SportsML's design goal of creating a "core" structure for sports data -- for example, storing in one common location a game score or event data such as game times and participants. For developers creating applications for multiple sports, this creates a certain efficiency.
Just like SportsML, however, SportsDB is an evolving sports data ecosystem. Developers at XML Team Solution continue to expand the schema, not only to adapt it to more sports but also to meet the needs of increasingly extensive sports feeds. For example, the growth of real-time, play-by-play feeds across all sports means events are being described through statistical data in greater detail than ever before.
Here are a few tips and caveats to keep in mind when starting your journey with SportsDB.
- Just because a table or column exists in SportsDB, that doesn't mean it will be automatically populated. It all depends on the data feeding the system; each data vendor has a different content set. As well, it would depend on the business logic employed by the application processing that data into your database.
- Know the data. Many developers make the mistake of ignoring the XML files, so they don't have a true understanding of what content they can expect in their feed. As well, if there are problems, such as data integrity issues, it's important to understand what files you should reference to troubleshoot the problem.
- SportsDB is designed to house data from multiple publishers. Many of the tables reference a publisher table. Even if you are subscribed to only one publisher, it is good practice to specify what publisher's data you want in your queries.
- To help you out, we will highlight in this documentation the most common elements and attributes in the XML data that populate the database fields.
- Keep your schema up to date. It's the only way to take advantage of all the new bells and whistles available for your processing tools.
- Refer to the starter scripts in the SportsDB query library. (And add your own.) The scripts can help to explain the relationships in SportsDB. We may also have collected queries relevant to a sport or league or publisher. Ask us!