ํ๋ฌ๊ทธ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ค๊ณ๋ ๊ฒฝ๋ DBMS์ธ SQLite 3.37์ด ์ถ์๋์์ต๋๋ค. SQLite ์ฝ๋๋ ๊ณต๊ฐ ๋๋ฉ์ธ์ ๋ฐฐํฌ๋ฉ๋๋ค. ์ด๋ค ๋ชฉ์ ์ผ๋ก๋ ์ ํ ์์ด ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. SQLite ๊ฐ๋ฐ์๋ฅผ ์ํ ์ฌ์ ์ ์ง์์ Adobe, Oracle, Mozilla, Bentley ๋ฐ Bloomberg์ ๊ฐ์ ํ์ฌ๋ฅผ ํฌํจํ๋ ํน๋ณํ ๊ตฌ์ฑ๋ ์ปจ์์์์์ ์ ๊ณตํฉ๋๋ค.
์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ :
- "STRICT" ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ์ ์์ฑํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด ํ๋๊ทธ๋ ์ด ์ ์ธ ์ ๋ฐ์ดํฐ ํ์์ ํ์์ ์ผ๋ก ์ง์ ํ๋๋ก ์๊ตฌํ๋ฉฐ, ์ด์ ์ถ๊ฐ๋๋ ๋ฐ์ดํฐ ํ์์ ์ ํฉ์ฑ์ ์๊ฒฉํ๊ฒ ๊ฒ์ฌํฉ๋๋ค. ์ด ํ๋๊ทธ๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ, SQLite๋ ์ง์ ๋ ๋ฐ์ดํฐ๋ฅผ ์ด ํ์์ผ๋ก ๋ณํํ ์ ์๋ ๊ฒฝ์ฐ ์ค๋ฅ๋ฅผ ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ด์ด "INTEGER"๋ก ์์ฑ๋ ๊ฒฝ์ฐ ๋ฌธ์์ด ๊ฐ '123'์ ์ ๋ฌํ๋ฉด ์ซ์ 123์ด ์ถ๊ฐ๋์ง๋ง, 'xyz'๋ฅผ ์ง์ ํ๋ ค๊ณ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
- "ALTER TABLE ADD COLUMN" ์์ ์์ "CHECK" ํํ์์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ฒ์ฌ๋ "NOT NULL" ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ์ด์ ์ถ๊ฐํ ๋ ํ ์กด์ฌ ์กฐ๊ฑด์ ๋ํ ๊ฒ์ฌ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ํ ์ด๋ธ๊ณผ ๋ทฐ์ ๋ํ ์ ๋ณด๋ฅผ ํ์ํ๊ธฐ ์ํด "PRAGMA table_list" ํํ์์ ๊ตฌํํ์ต๋๋ค.
- ๋ช ๋ น์ค ์ธํฐํ์ด์ค๋ ".connection" ๋ช ๋ น์ ๊ตฌํํ๋๋ฐ, ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ฌ๋ฌ ์ฐ๊ฒฐ์ ๋์์ ์ง์ํ ์ ์์ต๋๋ค.
- ๋ช ๋ น์ค์ ์ง์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ์ ๋ํ ์์ ์ ํ์ฉํ๋ CLI ๋ช ๋ น๊ณผ SQL ํํ์์ ๋นํ์ฑํํ๋ "--safe" ๋งค๊ฐ๋ณ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- CLI๋ ์ฌ๋ฌ ์ค๋ก ๋๋ SQL ๋ฌธ์ ์ฝ์ ๋์ ์ฑ๋ฅ์ ์ต์ ํํ์ต๋๋ค.
- sqlite3_autovacuum_pages(), sqlite3_changes64() ๋ฐ sqlite3_total_changes64() ํจ์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ์ด์ ์ฟผ๋ฆฌ ํ๋๋๋ ํํ์์ ์ ๊ฑฐํด๋ ์ฟผ๋ฆฌ์ ์๋ฏธ๊ฐ ๋ณ๊ฒฝ๋์ง ์์ผ๋ฉด ํ์ ์ฟผ๋ฆฌ์ ๋ทฐ์์ ORDER BY ํํ์์ ๋ฌด์ํฉ๋๋ค.
- generate_series(START,END,STEP) ํ์ฅ ๊ธฐ๋ฅ์ด ๋ณ๊ฒฝ๋์ด ์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์("START")๊ฐ ์ด์ ํ์ ๋งค๊ฐ๋ณ์๊ฐ ๋์์ต๋๋ค. ์ด์ ๋์์ผ๋ก ๋์๊ฐ๋ ค๋ฉด "-DZERO_ARGUMENT_GENERATE_SERIES" ์ต์ ์ ์ฌ์ฉํ์ฌ ๋ค์ ๋น๋ํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ ์๋น๊ฐ ๊ฐ์ํ์ต๋๋ค.
์ถ์ฒ : opennet.ru
