Choosing Which Information Belongs in the Repository
You do not need to store all of the information for your tool in a Microsoft® SQL Server™ 2000 Meta Data Services repository. For example, suppose your tool helps application developers and systems engineers keep track of the bugs on their software systems. Your tool maintains modules, bug reports, and test suites. Each module has a name, an author, source code, and one or more bugs reported on it. Each bug can have a description, a module on which it is reported, and a test suite used to reproduce the bug. Each test suite can have one or more bugs that it can reproduce. Because your tool maintains each test suite in a file format, you decide not to explicitly insert each test suite into a repository. Instead, you store in the repository only the name of a file containing the test suite.
To decide which information belongs in the repository, consider the following questions:
- Do you want to perform impact analysis on the data?
The more information you store in the repository, the more impact analysis questions you can answer. Consider the example described previously. Because the information model includes a class describing test suites, you can learn which test suite generates the most bugs.
Conversely, because the information model does not include a class accommodating individual tests or the persons responsible for them, you cannot use the repository to learn which person discovers the most bugs.
- Is there another file format that is more appropriate for the fine details of the definitions that describe your tool?
There are two aspects to consider:
- If a tool manipulates objects whose fundamental units of storage and manipulation are large, a file format can be more efficient than the repository. In this case, it is probably more effective to store the data objects in their native file format, and to store in the repository a description of each data object.
- If an existing tool already stores its data in a file format, switching to Meta Data Services would require rewriting the tool. To save time, you can choose to retain the existing file format and replicate some subset of the tool data in the repository.
- If a tool manipulates objects whose fundamental units of storage and manipulation are large, a file format can be more efficient than the repository. In this case, it is probably more effective to store the data objects in their native file format, and to store in the repository a description of each data object.