私はデータベース プログラミングに比較的慣れていないので、Android で自分の仕事用にデータベースを作成するタスクを与えられました。いくつかの基本的な SQL ステートメントを使用して単純なものを作成できました。しかし、まったくの初心者である私は、DB アーキテクチャについてあまり知らないので、スプレッドシートの内容をデータベースに押し込みました (文字通り直接マッピング)。デバイスからデスクトップに DB を抽出し、SQLiteBrowser ツールを調べたところ、データのクエリで問題が発生することがわかりました (以下を参照)。グーグルを行った後、DB正規化と呼ばれるものに出くわし、この特定の状況にどのように適用できるか疑問に思っていました:
次の列を含む Excel スプレッドシートがあります。
Region Sku Language App1 App2 App3 App4 ...
US AAA EN x x
CAN BBB EN x x
FR CCC FR x x
...
これは基本的に、(アプリケーションのパッケージ名に基づいて) デバイスで非表示にするアプリを決定するために使用されるデータです。「x」は、特定の地域、SKU、および言語のアプリが非表示にならないことを示し、空白は非表示になることを示します。
私は Web でいくつかの記事を読みましたが、ほとんどが NF3 形式に移行することを提案していますが、このデータ セットについては、NF1 形式に変換するのに苦労しています。助言がありますか?