列が30個くらいあるテーブルがあると仮定して、レコードは膨大に日々増えるとします。
列は30個を当初固定しますが、35個等に増やす可能性があります。

AAA,BBB,FFF

AAA,CCC,DDD

BBB,CCC,EEE

というようなデータが入っている場合、

AAAが組み合わせにある他の関連するデータを探すために、入力フォームに入力すると、
BBB,CCC,DDD,FFF
が関連するデータとして表示され、

CCCが組み合わせにある他の関連するデータを探すために、入力フォームに入力すると、
AAA,BBB,DDD,EEEが
関連するデータとして表示される

という仕組みを作る場合は、
データの保存、検索の考え方、
RDBでのテーブルの設計の考え方は、
どのようにするのが定石でしょうか?

よろしくお願いいたします。