[codeface] Data model

  • From: Claus Hunsen <hunsen@xxxxxxxxxxxxxxxxx>
  • To: codeface <codeface@xxxxxxxxxxxxx>
  • Date: Mon, 08 Jun 2015 13:30:31 +0200

Hi everybody,

we had a short look on the data model of Codeface and now have some
questions, which somebody on this list might be able to answer. This
would help us to understand the model better and make our extensions
regarding software metrics properly.

- Does the data of the 'commit' table come solely from the blame analysis?
- What is the column 'commit_dependency.impl'?
- What is the 'author_commit_stats' table that seems to be more a view?
- The same question for 'commit_communication'?
- Can someone explain the idea of the "time series and plots"
submodule? This seems quite confusing to us.


Furthermore, we identified some smaller issues that might hinder
extension of the Codeface model and the linking of several related
projects. Hopefully, you can share your opinion on our observations.

- One author (table 'person') cannot be part of several projects. At
least, the author occurs several times in the database, once for each
project.
~> A 'person--project' table would help, while removing the FK from
the 'person' table.
- Additionally, the email addresses should also be moved to a mapping
table 'person--email'.
- The 'release_timeline' table is lacking the commit hashes the
releases refer to. This way, we cannot identify the right commit in
the 'commit' table that corresponds to a 'release_timeline' object.
~> Adding the hash to the 'release_timeline' table and also adding a
mapping table 'commit--tag' would enable us to get the right commit
for a release tag.


Best regards,
Claus

Other related posts: