나는 가속, 엔진 변위, 문 등과 같은 자동차에 관한 정적 온 - 폰 데이터베이스로부터 다양한 통계를 쿼리하는 안드로이드 애플리케이션을 개발 중이다. 고객. UI는 엔진 변위 또는 비용과 같은 여러 속성의 특정 속성에 대한 정렬 된 정보 목록과 특정 자동차의 모든 속성을 보여주는 다른보기를 표시 할 수 있어야합니다.안드로이드 애플리케이션을위한 Sqlite 스키마
내 첫번째 생각, 오히려 각 속성에 대한 열이있는 테이블을 만드는 대신 (? 무엇이며, 1 정규형)
Cars:
ID - integer primary key
Make - text
Model - text
HorsePower - Real
Acceleration - Real
Doors - INteger
etc..
대신이 작업을 수행 :
Cars
ID - integer primary key
Make - text
Model - text
CarAttributes:
ID - integer primary key
DisplayName - Text (that gets shown as a column header, or for a line)
Unit - Text (a short unit suffix that gets appended to the value such as mph)
Values:
ID - integer primary key
CarID - foreign key
CarAttributeID - foreign key
Value - Real
이 허용 보기, CarID 및 AttributeID 주어진 몇 가지 쿼리를 수행하고 결과를 표시합니다. 첫 번째 양식에서 뷰는 어떻게하면 단위/표시 이름이 어떤 열과 연결되는지 알 수 있습니다.
스키마를 보내달라고 요청하는 것이 합당한 방법일까요? 즉, 해당 스키마에서 데이터를 제공하라는 요청을받은 경우 "ooh gross!"라고 말하면됩니까?
편집 : 첫 번째 스키마의 예가 추가되었으며 더 명확하게 제공되었습니다.
관련없는 질문 : 온라인 데이터베이스를 가지고 쿼리하는 응용 프로그램을 만드는 것이 더 좋지 않습니까? 그렇게하면 앱을 업데이트하지 않고 데이터를 업데이트 할 수 있습니까? – nbarraille
@nbarraille - 실제로 이것은 내 첫 번째 제안 이었지만 데이터 연결에 의존 할 필요가 없도록 응용 프로그램과 함께 번들로 제공되기를 바랍니다. –
의미가 있습니다. 가장 좋은 방법은 온라인 (IMO)이며 온라인 데이터베이스와 로컬 데이터베이스를 모두 사용할 수 있으며 네트워크를 통해 앱을 실행할 때 로컬 데이터베이스를 업데이트 할 수 있습니다. – nbarraille