1 つは、多くの場合、次のような主キーを持っていますが、非正規化されたテーブルに反対します。
| RowID | Column1 | Column2 | Column3 | Column4 | ...
| 'Row1' | 'a1' | 'a2' | 'a3' | 'a4' |
| 'Row2' | 'b1' | 'b2' | 'b3' | 'b4' |
| 'Row3' | 'c1' | 'c2' | 'c3' | 'c4' |
...
問題は、データを格納する 3nf に効率的に変換する方法です。(理想的には、列の数とその名前が不明であると仮定しましょう)
| RowID | ColumnID | Value |
| 1 | 1 | 'a1' |
| 1 | 2 | 'a2' |
...
または、理想的には、
| RowID | ColumnID | Value |
| 'Row1' | 'Column1' | 'a1' |
| 'Row1' | 'Column2' | 'a2' |
...
私が知っている 1 つの解決策は、いくつかの UNION を使用して列を次々と選択することですが、列が多い場合、スクリプトは見栄えが悪くなります。
どんな助けでも大歓迎です!
よろしく、コンスタンティン。