사용자 계정 정보를 저장하는 SQLite 데이터베이스가있는 앱이 있습니다. 나는 응용 프로그램이 오직 한 명의 사용자 만 가질 것이라는 가정하에 데이터베이스를 설계했습니다. 따라서 사용자 ID는 데이터베이스에 저장되지 않지만 서버의 중앙 데이터베이스에 저장됩니다. 그러나 앱을 로그 아웃하고 다른 사용자가 로그인 할 수는 있지만 현재이 문제는 데이터가 다운로드 된 후 다른 사용자의 데이터에 추가됩니다. 이것은 내가 원하는 일이 아니지만 이것을 해결하기 위해 데이터베이스 디자인을 어떻게 바꾸는 것이 최선인지 모르겠습니다. 나는 대략 생각했다 :여러 사용자가있을 가능성이있는 Android 앱용 SQLite 데이터베이스
- 사용자 당 하나의 데이터베이스. 사용자가 친구의 휴대 전화에 한 번만 로그인하고 다시는 로그인하지 않으면 불필요한 데이터 저장이 발생할 수 있습니다. 또한 나는 이것이 관리하기 어려울 것이라고 짐작한다.
- 모든 테이블에 사용자 ID 열을 추가하므로 추가로 문제가 발생하지 않습니다. 여전히 (1)이 가지고 있고 1의 모듈성을 잃어 버리는 불필요한 데이터 문제가 있습니다.
- 사용자가 로그 아웃 할 때 데이터베이스를 지 웁니다. 사용자가 서버에 많은 양의 데이터를 가지고있는 경우 응용 프로그램이 시작될 때 데이터를 동기화하는 데 시간이 오래 걸립니다 (다른 스레드에서 수행되지만 여전히 고통 스럽습니다).
이러한 접근 방법 중 하나가 좋습니까? 아니면 이것을 할 수있는 더 좋은 방법이 있습니까?
저는 LRU 접근법을 좋아합니다. 언제 수정되었는지 추적 할 생각 이었지만 두 가지 제안은 모두 구현하기가 더 쉬울 것입니다. 그리고 나는 1 명 이상의 사용자가 동일한 장치에서이 앱을 사용할 것이란 것을 정말로 의심하지만 결코 알지 못합니다! 감사합니다 :) – Pikaling
제안 2보다 실제로 제안 1의 장점은 무엇입니까? 어떤 "모듈화"가 손실됩니까? "성능에 미치는 영향"은 무엇입니까? 정규화와 관계 데이터베이스 원칙에 대해 듣는 사람이 있습니까? 장치에 저장된 둘 이상의 데이터베이스에 대해 데이터베이스 구조를 업그레이드/변경하는 방법은 무엇입니까? – Ewoks