私のプロジェクトには、クラスのソフトウェアと別のクラスの OS があります。ソフトウェアは複数のオペレーティング システムをサポートする場合があります (私の実際の問題はもっと複雑です)。
データベースに最も効果的に保存する方法がわかりません。私のテーブル構造は次のとおりです。
表:OS
id name platform
=================================
winxp Windows XP windows
win7 Windows 7 windows
...
表: ソフトウェア
id name publisher os
====================================================
chrome Google Chrome google winxp,win7,...
ccleaner Ccleaner piriform winxp,win7,...
...
これが最善の方法ですか?これにより、OOP でプログラミングするときに問題が発生しますか (私は DAO アプローチを使用します)、または次のように変更する必要がありますか:
表:OS
id name platform
=================================
winxp Windows XP windows
win7 Windows 7 windows
...
表: ソフトウェア
id name publisher
=====================================
chrome Google Chrome google
ccleaner Ccleaner piriform
...
表: os_support
softwareid os
======================
chrome winxp
chrome win7
ccleaner winxp
ccleaner win7
ccleaner win8
...