Spring/Spring 이론

Spring 이론 :) Spring Data JPA를 시작하기 전에 간단한 데이터베이스 개념 - DDL, DML, DCL을 이해한다.

euncheol kim 2022. 3. 22. 17:14

 

 

 Goal

DDL, DML, DCL를 이해한다.

 

 Spring JPA인데 갑자기 DBMS 관련 내용을 학습하는 이유

Spring의 JPA를 공부하다보면 application.properties를 설정하는 부분이 나온다.

이곳에 기입하는 부분에 있어서 spring.jpa.hibernate.ddl-auto를 설정하게 되는 경우가 생기는데

알아본 결과 Spring JPA에서 Hibernate를 이용해서 DDL을 생성하여 Data Table을 자동으로 생성하는 것을 돕는다고 한다.

 

뒷부분에서 기록하겠지만 DDL은 Data Defination Language의 약자로써 데이터베이스의 테이블의 생성, 변경, 삭제를 담당하는 명령어이다.

이외에 DML, DCL이 존재하는데 JPA를 다루는데 있어서 중요한 부분임을 직감하였고 현재 개념이 정확하게 확립되지 않아 공부하고자 한다.

 

※ SQL문은 해당 포스팅에서 다루지 않을 것이며 DML, DDL, DCL이 무엇인지만 알아본다.

 

1 ] DML, DCL, DDL

참고자료 : https://brownbears.tistory.com/180

정의 SQL 명령어 내용
데이터 조작어 
DML (Data Manipulation Language)
SELECT Database에 들어 있는 데이터를 조회 및 검색하기 위한 명령어
INSERT
UPDATE
DELETE
Database의 테이블에 들어 있는 데이터에 변형을 가한다.
- INSERT : 데이터 삽입
- UPDATE : 데이터 수정
- DELETE : 데이터 삭제
데이터 정의어
DDL (Data Definition Language)
CREATE
ALTER
DROP
RENAME
TRUNCATE
테이블과 같은 구조를 정의하는데 사용되며 데이터 구조와 관련된 명령어를 말한다.
- CREATE : 생성
- ALTER : 변경
- DROP : 삭제
- RENAME : 이름변경
데이터 제어어
DCL (Data Control Language)
GRANT
REVOKE
Database에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어들을 말한다.

 

SQL 명령어 같은 경우 추후에 공부하며 다시 포스팅할 예정이다.


 

[알고 넘어가면 좋은 내용]

" 실무에서 JPA로 테이블을 생성하고 제약조건을 수정하는가? "

답변받은 오픈 채팅방 : https://open.kakao.com/o/g4WhF3tb

실무자님께 답변받기로는 NO이다.

일반적으로 Database의 테이블과 제약조건의 수정은 DBMS를 통해 이루어진다고 한다.

이유는 Database 무결성과 연관이 되어있다고 하는데 스스로 공부하며 어느 부분과 연관이 있는지 생각해봐야겠다.

 

 


  앞으로 공부할 내용

1. Database의 무결성이 무엇인지 공부한다.

2. SQL 표준 명령어에 대해서 공부한다.