Che cos'è un modo pulito per archiviare elementi che fanno riferimento a più altri articoli dello stesso tipo in un database relazionale?
Supponiamo di avere un elenco di file jar e delle relative dipendenze:
package1 depends on package2,package3
package2 depends on package3
package2 depends on nothing
Ora posso memorizzarlo in un database come segue
CREATE TABLE packages (
pid STRING NOT NULL PRIMARY KEY,
name STRING NOT NULL,
dependencies INTEGER NOT NULL -- foreign key
)
CREATE TABLE dependencies (
did STRING NOT NULL PRIMARY KEY,
dependent INTEGER NOT NULL, -- foreign key
dependentOn ???
)
Ma ciò non sarebbe normalizzato e cambiare una relazione significa toccarle tutte. Come potrei farlo meglio?