용어 정리
- IP
- 브라우저
- 컨텐츠를 송수신하고 표현해주는 소프트웨어
- OSI 7계층을 거쳐 데이터를 표현해주는 응용 프로그램
- DNS(Domain Name System)
- 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행하는 서버
- HTTP
Presentation 계층
- 사용자와 상호 작용 처리 계층
- CLI, HTTP 요청, HTML 처리 등을 담당
- HTTP 요청 처리 및 HTML 렌더링에 대해 알고 있는 웹 계층
- MVC도 이 계층에 속함(@Controller)
Domain(Business or Service) 계층
- 서비스/시스템의 핵심 로직
- 유효성 검사 및 계산을 포함하는 Business 논리 계층
- 애플리케이션이 수행해야하는 도메인과 관련된 작업들을 담당
- 입력/저장된 데이터를 기반으로 계산
- Presentation 계층에서 받은 데이터의 유효성 검사
- 어떤 Data Access를 선택할지 결정
- @Service
Data Access(Persistence) 계층
- 데이터베이스/ 메시지 큐 / 외부 API와의 통신 등 처리
- 데이터베이스 또는 원격 서비스에서 영구 데이터를 관리하는 방법을 분류하는 데이터 접근 계층
- @Repository
DCL
- GRANT: 사용자 또는 ROLE에 대해 권한을 부여
GRANT SELECT, INSERT
ON emp
TO scott
WITH GRANT OPTION;
- REVOKE: 사용자 또는 ROLE에 대해 권한을 회수
REVOKE SELECT, INSERT
ON emp
TO scott
[CASCADE CONSTRAINTS];
외래키
- 데이터의 무결성을 보장해주는 역할
- 참조 테이블의 열은 반드시 PK 또는 UNIQUE 제약조건이 설정되어야 함
CASCADE
- 외래키로 연관된 데이터를 삭제, 변경할 수 있음
H2 DBMS
MODE
옵션을 통해 문법을 정해줄 수도 있음
jdbc:h2:mem:test;MODE=MYSQL;OLD_INFORMATION_SCHEMA=TRUE;
jdbc:h2:mem:test;MODE=MYSQL;
Intellij의 Database 탭
- ERD를 표시할 수도 있음