대상 사용자: 프로그래머. 앱의 SQLite 데이터베이스를 열어 테이블과 샘플 값을 확인하고, 읽기 전용 SELECT로 문제를 재현하려는 개발자를 위한 한국어 안내입니다. 첨부 ZIP에는 가상의 센서 기록 5건으로 만든 practice/sensors.sqlite, 연습 SQL·CSV, 이 설명서가 들어 있습니다.
1. 공식 설치와 파일 안전
- DB Browser for SQLite 공식 다운로드에서 운영체제와 CPU에 맞는 안정판을 받습니다. Windows 64비트라면 Standard installer for 64-bit Windows 또는 설치가 필요 없는 공식 ZIP을 고르세요. 내려받는 날 공식 페이지의 버전과 파일명을 다시 확인합니다.
- 설치 프로그램을 쓰면 실행하여 안내를 따릅니다. 공식 ZIP을 고르면 별도 폴더에 압축을 풀어 실행합니다. Windows가 파일을 차단한다면 출처가 공식 URL인지 다시 확인하고, 보안 경고의 원인을 검토하세요.
- 실제 서비스 DB는 먼저 복사본을 만드세요. SQLite의 WAL 모드를 쓰는 실행 중 DB는 본 파일과
-wal,-shm파일의 관계를 고려해야 합니다. 안전한 백업은 앱의 백업 절차나 SQLite 백업 API로 만듭니다. 이 실습에서는 첨부된 가상 DB의 복사본만 사용합니다.
첨부 ZIP에는 DB Browser 설치 파일·실행 파일이나 공식 문서 원문이 없습니다. 프로그램은 위 공식 다운로드 페이지에서 직접 받으세요. 첨부물은 직접 작성한 한국어 설명서와 가상 실습 자료입니다.
2. 샘플 데이터 열기와 조회
- ZIP을 풀고
practice/sensors.sqlite를 다른 이름으로 복사합니다. DB Browser에서 Open Database로 그 복사본을 여세요. - Database Structure에서
readings테이블을 확인합니다. Browse Data를 누르고 테이블readings를 선택하면 가상의 온도 기록 5건을 볼 수 있습니다. - Execute SQL에 아래 쿼리를 붙여 넣어 실행하거나 첨부
practice/queries.sql을 여세요. A 장치의 평균은22.7, B 장치의 평균은20.0이어야 합니다.
SELECT device, COUNT(*) AS samples, ROUND(AVG(temp_c), 1) AS avg_c
FROM readings
GROUP BY device
ORDER BY device;
| device | samples | avg_c |
|---|---|---|
| A | 3 | 22.7 |
| B | 2 | 20.0 |
- 두 번째 쿼리
SELECT id, device, temp_c FROM readings WHERE temp_c >= 23.0 ORDER BY id;는id=2, device=A, temp_c=23.0한 행만 반환합니다. 원본 실습 DB를 수정하지 않으려면SELECT만 실행하세요. 편집한 경우 Write Changes를 누르기 전 내용을 확인하고, 잘못 바꿨다면 저장 전에 Revert Changes를 사용합니다. 화면 이름은 설치 버전이나 언어에 따라 조금 다를 수 있습니다.
3. 문제 해결
- 파일이 열리지 않음: ZIP 안에서 바로 열지 말고 압축을 완전히 푼 뒤 복사본을 선택합니다. SQLite 형식이 아닌 파일인지도 확인하세요.
no such table: readings: 다른 DB를 연 경우가 많습니다. Database Structure에readings가 있는지 확인하고practice/sensors.sqlite의 복사본을 다시 엽니다.- 수정 내용이 보이지 않음: DB Browser의 Write Changes 여부와 다른 프로세스의 잠금 상태를 확인하세요. 운영 DB는 앱과 동시에 임의 편집하지 않습니다.
- 한글이 깨짐: 이 ZIP의 설명서·CSV는 UTF-8입니다. CSV를 다른 프로그램으로 열 때 UTF-8 인코딩을 선택합니다. 샘플 DB의 문자열은 ASCII 가상 값입니다.
기능 및 사용 흐름 참고: 공식 프로젝트 소개, 공식 Wiki. SQLite SELECT, AVG 동작은 SQLite 공식 문서를 참고하세요.