[Spring] MySQL Workbench에서 DB 생성

Schema 생성

Schema위키피디아에서 아래와 같이 정의하고 있다.

컴퓨터 과학에서 데이터베이스 스키마(database schema)는 데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조이다. 데이터베이스 관리 시스템(DBMS)이 주어진 설정에 따라 데이터베이스 스키마를 생성하며, 데이터베이스 사용자가 자료를 저장, 조회, 삭제, 변경할 때 DBMS는 자신이 생성한 데이터베이스 스키마를 참조하여 명령을 수행한다.

스키마는 3층 구조로 되어있다.

  • 외부 스키마(External Schema) : 프로그래머나 사용자의 입장에서 데이터베이스의 모습으로 조직의 일부분을 정의한 것
  • 개념 스키마(Conceptual Schema) : 모든 응용 시스템과 사용자들이 필요로하는 데이터를 통합한 조직 전체의 데이터베이스 구조를 논리적으로 정의한 것
  • 내부 스키마(Internal Schema) : 전체 데이터베이스의 물리적 저장 형태를 기술하는 것
  1. MySQL Workbench 실행
  2. 홈의 Local instance MySQL57 을 선택하여 root로 Login
  3. Server Status 를 눌러보고 Stop 상태라면 Startup/Shutdown 메뉴에서 Start server를 선택하여 Server 구동
  4. 상단의 좌측에서 네 번째 아이콘 create a new schema in the connected server을 클릭
  5. 마음에 드는 Schema name을 넣고 Collationutf8 - default collation을 선택 후 apply

사용자 생성

!! 사용자 생성은 반드시 DB 생성 후 진행할 것 !!

  1. 좌측의 Users and Privileges 선택
  2. Add Account
  3. Login Name 설정
  4. Authentication type: standard
  5. Limit to Hosts Matching: %
  6. Apply
  7. Schema Privileges 탭 > Add Entry… > Selected schema에서 아까 생성한 schema를 선택 > OK
  8. 아래쪽의 Object rights를 모두 선택 (SELECT, INSERT, UPDATE, DELETE, EXECUTE, SHOW VIEW)

!! 보통은 사용자가 DB를 날려먹을 위험이 있으므로 DELETE는 주지 않는다고 한다. !!

Limit to Hosts Matching의 의미

  • % : 모든 IP에서 이 계정으로 접속 가능
  • localhost : localhost에서만 접속 가능

Database와 계정 연결

  1. MySQL WorkBench의 홈 화면으로 간 후 + 버튼을 누른다.
  2. Connection Name 설정
  3. Username 넣기
  4. Default Schema에 생성한 Schema명 넣기
  5. Test Connection > “Succesfully made the MySQL connection” 성공 > OK > OK

Table 생성

MySQL Workbench를 사용하여 Table을 생성해본다.

  1. 툴바의 좌측에서 다섯번째 버튼 Create a new table in the active schema in connected server 를 누른다.
  2. Table Name 입력
  3. Column Name 및 Datatype 추가
  4. 정보를 넣고 Apply를 누르면 그에 해당하는 query문이 생성되며, 여기서 Apply를 누르면 Table이 생성된다.

참 좋은 세상이다… 평소에 query문을 쓸 일이 없는 나로서는 굉장히 마음에 든다. 리눅스에 세팅하려면 결국 query를 날려야 하겠지만…

PK: Primary Key
NN: Not Null
UQ: Create/remove Unique Key
B : Binary (값을 Binary string으로 저장한다. sorting, comparing을 할 수 없음.)
UN: Unsigned (원래의 범위가 -500~500 이라면 체크 후 0~1000 사용 가능)
ZF: Zero-Filled (INT(5)의 경우 12=00012, 400=00400 이 된다.)
AI: Auto Increment
G : Generated column (다른 column들의 조합에 의해 생성되는 값)

참조

Share