2013-05-20 2 views
-2

Я относительно новичок в программировании базы данных, и мне была поручена задача создать его для моей работы на Android. Я смог создать простой, используя некоторые базовые инструкции SQL. Однако, будучи полным noob, я мало знаю о архитектуре БД, поэтому я запустил содержимое электронной таблицы в базу данных (буквально прямое сопоставление). Я извлек БД из своего устройства на рабочий стол и посмотрел в инструменте SQLiteBrowser, и я понял, что возникнет проблема с запросом на данные (см. Ниже). После выполнения некоторых Googling, я наткнулся на что-то под названием DB Нормализация и мне было интересно, как это можно было бы применить к этой конкретной ситуации:SQLite как сделать нормализацию?

У меня есть электронная таблица 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 и языком не будет скрыто, а пустой указывает, что это будет.

Я прочитал несколько статей в Интернете, и большинство из них предложили перейти к форме NF3, но для этого набора данных я изо всех сил пытаюсь преобразовать его в форму NF1. Какие-либо предложения?

ответ

0

Добавить новую таблицу для поддерживаемых приложений. Сделайте Первичный ключ в новой таблице внешним ключом в исходной таблице в отношениях от одного до многих. Удалите поля APP1, App2 и т. Д. Из исходной таблицы. Добавьте новую запись в таблицу поддерживаемых приложений для каждого приложения, которое поддерживает конкретная запись в первой таблице.

Смежные вопросы