GalaXQL은 기초적인 SQL 명령들을 소개하는 어플리케이션으로, 가상 선생님이 내주는 숙제를 따라하면서 자연스럽게 SQL(정확히 말하면, SQLite) 명령어들을 익힐 수 있도록 되어 있는 교육용 프로그램.

GalaXQL's main window

Tiger에서부터 어플리케이션 속에 SQL 데이타베이스 엔진을 심어넣고 데이타를 쉽게 관리할 수 있게된 덕분에, 이런 기특한 생각들도 쉽게 구현될 수 있었으리라 얼핏 짐작해 본다.

흥미로운 것은, 창 옆에 OpenGL로 구현된 은하수는 SQL 명령으로 은하수 속 별들의 위치를 재배열 해서 은하수의 전체 모양을 바꿀 수도 있다는 것.

Altered galaxy

이것은 당연, 모든 별들의 좌표 정보가 저장되어 있는 SQLite 데이타베이스 파일(galaxql.db)의 정보를 갱신해 주어야 한다.

이쯤에서, 저장되어 있는 별들의 숫자가 과연 얼마나 되는지 궁금해 하지 않을 수 없지.

답은 어플리케이션의 query 창에서 물어볼 수도 있지만, Tiger에서부터 포함된 sqlite3 명령 덕분에 터미널에서도 가능하다.

$ sqlite3 /galaxql.app/Contents/Resources/galaxql.db 
SQLite version 3.1.3
Enter ".help" for instructions
sqlite> SELECT COUNT() FROM (SELECT starid FROM stars UNION SELECT starid FROM planets);
25000

거대 은하수? 천만에!

지구가 속한 Milky Way 은하수에 있는 별들의 갯수.

관련된 주제의 글

댓글을 남겨 주세요