학부 데이터베이스 수업을 수강하게 되었다.
이번 학기에 데이터베이스 수업을 듣는다. 전공필수라서 안 들을 수도 없지만 데이터베이스를 막상 짜보니 은근히 짜는 재미도 있..는 것 같다.
이번 학기 수업에서는..
postgresql
사용psql
이라는 command prompt 환경을 사용하여 데이터베이스를 관리
위 조건에서 진행되는 것 같은데, 나한테는 psql
환경이 너무 어려웠다.
왜냐하면 psql
환경이 CUI
환경이기 때문이다. (character user interface)
즉, 우리가 익숙한 GUI
환경이 아니란 것이다. git
으로 예를 들자면 git bash
를 쓴다는 느낌이랄까.. 한번 커맨드를 잘못 치면 수정도 힘들고 한꺼번에 잘못 친 걸 지울 수도 없다. 한 글자씩 정성스럽게 지워야 한다(..)
그래서 짜라는 데이터베이스는 안 짜고 구글링을 해보다가 좋은 GUI 툴을 발견하였다.
이름하여 tableplus
!
tableplus 공식 홈페이지
tableplus documentation
쓴지 하루밖에 되지 않았지만 좋다.
GUI도 깔끔하고 CUI의 불편했던 대부분의 점들을 해소해 준다. 데이터베이스에 tuple
을 집어 넣을 때 엑셀에서 데이터를 채우듯이 그냥 tableplus
가 보여주는 표에 내용을 채워서
commit
하면 된다.
무료 버전과 유료 버전이 나누어져 있는데 나는 무료 버전을 사용중이다. 가장 눈에 띄는 무료 버전 제약 중 하나는 창을 동시에 최대 3개까지밖에 못 띄운다.
3개가 넘어갈라하면 바로 유료 버전을 쓰시겠냐는 지겨운 팝업이 뜬다.
일단 설명은 여기까지 하고 포스팅 목적인 local database를 tableplus
를 이용해서 연결하고 다루는 법을 소개하겠다.
처음 설치를 하면 window
기준 이런 창이 나온다.
아 물론 pg
라는 아이콘들은 내가 연결한 database이므로 처음에는 저 부분에 아무것도 없을 것이다.
여기서 아래의 create a new connection
을 눌러주자. 그 다음 자신이 다룰 database의 종류를 정해주자. 나는 postgresql
이므로 눌러주면,
자신이 연결한 database의 정보를 기입하는 창이 나온다.
아닌 사람도 있겠지만 나는 어차피 로컬에서만 실습용으로 주구장창 돌릴 것이기 때문에 대부분의 정보를 default
로 설정했다.
port
가 5432인 것과 user password
만 빼고 username이나 기타 등등은 다 default
상태이다.
이러한 경우에 정보를 어떻게 써 넣느냐? default라 해 놓았다고 해서 절대 빈칸으로 기입하면 안 된다. 연결이 안된다(..)
정보를 default
로 했을 때,
- username :
postgres
(psql
에서\du
명령어로 등록된 user들 확인가능) - name : 자신이 연결 후에 붙일 database 별칭(Alias)
- post : 자신이 설정한 포트 번호
- password : 자신이
psql
세팅 시 설정한 password - Tag : local로 설정하면 됨.(local로 돌릴 때)
- database :
postgres
(이거psql
에서 확인하는 방법이 있었는데 까먹었네)
이 정도만 채우고 나머지는 건드리지 않아도 된다. 물론 server로 remote로 돌릴 경우는
over ssh
체크박스 아래 내용도 기입해야 할듯.
그리고 connect
를 누르면 이제 데이터베이스를 다룰 수 있는 화면이 나오게 된다.
이 layout
에서 특히 아래 data
버튼을 누르면 ctrl
+i
로 새로운 tuple을 만들 수 있다. 근데 내용을 기입한다고 해서 저장이 되는 건 아니다. commit
을 하기 전까지 사용자가 변경한 내용을 tableplus
가 set of query 상태로 변환하여 갖고 있다가 commit
을 하게 되면 그제서야 sql
에게 query문을 보내게 된다.
이 쿼리문들은 ctrl
+ shift
+ p
로 미리 볼 수 있다.
그리고 여러 항목을 수정하다 보면 순서가 중요한 query문들이 생기게 마련이다.
가령 foreign key
제약이 있는데 referenced되는 table에 해당 값이 없는데 referencing하는 table에 먼저 tuple을 생성하고 referenced되는 table에 해당 값을 가진 tuple을 생성한다든가 하면 큰 문제가 된다.
이걸 tableplus
는 어느 정도 알아서 순서를 맞춰줘서 sql
에게 보내는 것 같다.
또, commit
을 하기 전에 잘못된 수정 사항을 발견했다면 이걸 discard
할 수 있어야 한다.
이 단축키는 ctrl
+ shift
+ delete
이다. 대신 지금까지 수정한 commit
되지 않은 수정 사항을 한번에 다 버려버리므로 주의하자.
query editor
를 불러내는 키는 ctrl
+ E
이다. 근데 이 창도 최대 허용 수인 3개 안에 들어가므로 주의한다. 쓰면 알겠지만 여간 불편한 게 아니다ㅋㅋ
댓글남기기