Hızlanma, motor deplasman, kapılar, vb. Gibi araçlarla ilgili statik bir telefon veritabanından çeşitli istatistikleri sorgular bir Android uygulaması geliştiriyorum. istemcisi. Kullanıcı Arayüzü, motor yer değiştirme ya da maliyet gibi birden çok otomobilden belirli bir özellik için sıralanmış bir bilgi listesi ve belirli bir araca ait tüm özellikleri gösteren başka bir görünüm gösterebilmelidir.Android uygulaması için Sqlite şeması
Benim ilk düşünce, daha doğrusu her özellik için bir sütun içeren bir tablo oluşturmak yerine: (? Ne olduğunu, 1. Normal form)
Cars:
ID - integer primary key
Make - text
Model - text
HorsePower - Real
Acceleration - Real
Doors - INteger
etc..
yerine bunu yapın:
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
Bu veriyor Görünüm, CarID ve AttributeID'nin bir çift sorgulama yapması ve sonuçları göstermesi için verilmiştir. İlk formda, görünüm bir şekilde hangi birimlerin/görünen adın hangi sütunlarla gittiğini bilmek zorunda kalacaktı.
Şema göndermelerini istemenin makul bir yolu mu? Diğer bir deyişle, bu şemadaki verileri sağlama isteğiniz varsa, "ooh brüt!" Diyecek misiniz?
Düzenleme: İlk şema örneği eklendi ve daha fazla açıklık sağladı.
İlgili olmayan bir soru: Çevrimiçi bir veritabanına sahip olmak ve onu sorgulayan bir uygulama yapmak daha iyi olmaz mıydı? Bu şekilde, uygulamayı güncellemeden verileri güncelleyebilirsiniz? – nbarraille
@nbarraille - Bu benim ilk öneriydi, ancak uygulama ile birlikte paketlenmesini istiyorlar, böylece bir veri bağlantısına güvenmek gerekmeyecek. –
Anlam verir. Daha sonra gitmek için en iyi yol (IMO) hem çevrimiçi hem de yerel veri tabanlarıdır ve uygulama ağda kullanılabilirken yerel olanı günceller. – nbarraille