본문 바로가기
데일리 회고록 (2022.04.25 ~ 10.19)/6월

2022.06.13

by jphwany 2022. 6. 13.

● 계획

 

  •     오늘 나의 학습 목표

SQL 로 ERD 설계하기

 


● 점검 및 평가

 

  •     새롭게 학습한 내용은
  •     이해되지 않은 부분은
  •     보완하기 위해 무엇을

 

주어진 describe, 테이블 구조를 보고 SQL문을 작성해서 ERD 개체 관계 모델을 만들었다

 

CLI와 워크벤치(GUI) 둘다 해볼 필요가 있어서 진행했다

 

직관적으로 마우스 클릭을 하며 금방 금방 할 수 있던 워크벤치와는 다르게

CLI는 전부 직접 명령어를 입력하면서 확인해야 해서 많이 불편했지만

 

언젠가 CLI를 써야하는 상황을 대비해서 연습했다

 

기본적으로는 사용할 데이터베이스, 스키마를 설정부터 한 뒤에

접근해서 명령어를 입력, 수행하는 것이 공통적이었다

 

CLI는 use 명령어를 써야하고

워크벤치는 sql문서에 use를 쓰거나

좌측에 있는 스키마 우클릭에 Set as Default Schema 를 클릭하면 된다

 

그렇게 CREATE 문과 ALTER문을 사용해서 제작을 했고

 

그 과정에서 많은 에러를 만났다

 

나는 바보같이 describe 테이블 구조에 default null을 보고

그대로 쿼리로 작성을 해서 invalid default value for 에러가 뜬 것이다

 

무슨 에러인가 찾아보는데 명확하게 어떤 이유로 에러가 난다 라는건 찾지 못했고

 

공통점으로는 default 값을 지정하는데 있어서 중복, 모순 정도가 있었다

 

내 쿼리문의 경우,

 

not null을 설정해놨기 때문에 필수로 값이 들어가야 했었지만?

default null을 뒤에 써버리는 바람에 그게 모순이 되어버렸다

 

왜냐면 default null은 비어있어도 어떤 값을 넣어서 작동이 되게끔 지정해주는 코드라서

모순이 일어난 것 같다고 생각한다

 

그 외에 쿼리문 작성할 때 쉼표를 제대로 안써서 문제가 되는 일도 있었다

익숙해지면 나아질 거라고 생각한다

맨 처음 자바 배웠을 때 세미 콜론 안 붙여서 에러났던 것과 비슷한 예시

 

그리고 ALTER 문을 사용해서 테이블을 수정할 때에

다시 그 ALTER문을 Execute(실행) 하는게 아니고

 

실행된 결과에 대해 수동으로 전부 처리를 해줘야 했다

 

예를 들어, 어떤 테이블에 새로운 컬럼 값을 지정해주고

외래키를 지정을 했는데

 

제약조건 같은 것을 추가로 부여를 하고 싶을 때 (constraint, on update cascade 등)

 

  1. 외래키 제약조건을 확인
  1. 외래키 제약조건과 외래키를 삭제
  1. 컬럼을 삭제

 

이렇게 한 뒤에 다시 ALTER문으로 새로운 수정문을 작성해야 한다

 

자세한건 블로깅으로 복습하면서 올려야겠다

 

 

 

 

'데일리 회고록 (2022.04.25 ~ 10.19) > 6월' 카테고리의 다른 글

2022.06.15  (0) 2022.06.15
2022.06.14  (0) 2022.06.14
2022.06.10  (0) 2022.06.11
2022.06.09  (0) 2022.06.11
2022.06.08  (0) 2022.06.11

댓글