스키마 정의 테이블을 수정할시 데이터에는 어떤 영향이 있을까요?

스키마 정의 테이블의 컬럼정보를 수정할 경우 기존 데이터에는 어떤 영향이 있는지 궁금합니다.

  1. 컬럼 추가시 → 기존 row들에 기본 값으로 컬럼이 추가되는지 아닌지 궁금합니다.

  2. 컬럼 삭제시 → 기존 row들에서 컬럼에 해당되는 데이터가 바로 삭제되는지 아니면 남아 있는지 궁금합니다.

  3. 컬럼 삭제 후 동일한 이름으로 재 추가시 → 기존 row들에서 컬럼에 해당되는 데이터가 그대로 연결이 되는지 궁금합니다.

  4. 3번이 될 경우 map(10개의 key) 컬럼을 삭제 후, 동일한 이름으로 컬럼 재추가 map(15개의 key) →
    map(10개의 key)일 때의 데이터가 그대로 map(15개의 key)로 이어지는지 궁금합니다.

안녕하세요 개발자님

  1. 컬럼추가시에는 기존 row에 영향을 끼치지 않습니다. 해당 row들은 컬럼의 기본값을 가지고 있지는 않지만, 추가한 컬럼을 update를 통해 해당 row에 추가할 수 있습니다.

  2. 컬럼 삭제의 경우 테이블에 데이터가 존재할 때 (row가 존재할 때)는 사용할 수 없습니다.

  3. 2번과 동일하게 데이터가 존재하지 않을 때만 삭제할 수 있고, 데이터는 그대로 연결되지 않습니다.

  4. 3번 질문과 동일합니다.

추가로 스키마 테이블의 경우 스키마가 정해진 테이블, 테이블 삽입과 동시에 초기화가 필요한 테이블에서의 사용을 권장하고 있습니다.

만약 테이블의 스키마 설계를 아직 하지 않으셨거나 혹은 테이블의 구조가 계속 변하는 것이 필요하실 경우에는

NoSql 기반의 비스키마 테이블의 사용을 권장드리겠습니다.

감사합니다.