TSELab / guac-alytics

A series of tools and resources to better understand the risk profile of open source software ecosystems
Apache License 2.0
2 stars 0 forks source link

ER Diagram #11

Closed SahithiKasim closed 1 year ago

SahithiKasim commented 1 year ago

Create ER diagram of the database schema and do the documentation for the whole database.

SahithiKasim commented 1 year ago

Please check this ER diagram @SantiagoTorres @sbrunswi and tell me the required changes.

ER diagram

SantiagoTorres commented 1 year ago

I think we should split/explode buildinfo_data into different tables:

  1. Package table:

    • PackageID (PK)
    • BuildinfoID (i.e., created by)
    • Arch (from buildinfo)
    • Name (from buildinfo)
    • Version (from buildinfo)
    • Type (source/binary)
      1. Source table:
        • SourceID (PK)
        • Name (from Buildinfo, later to cross-check)
        • Version (from buildinfo, later to cross-check)
        • location (where is the source coming from, TBD)
      2. buildinfoTable:
        • BuildinfoID (PK)
        • SourceID (EK, what source was used)
        • deps (list of PackageIDs)

    Does this make sense?

SahithiKasim commented 1 year ago

I didn't understand about BuildinfoID and Type from the Package table. Is PackageID an integer that automatically increments? \ What is SourceID in the Source table?\ Are the BuildinfoID and SourceID in the buildinfo table foreign keys from other tables?

SantiagoTorres commented 1 year ago

Pretty much, the ones labeled as PK are primary keys on each table

SahithiKasim commented 1 year ago

The Updated ER diagram

ER diagram

SahithiKasim commented 1 year ago

Updated in the readme