프로젝트를 하면서 가장 구글링을 많이했던 부분이 바로 데이터베이스였다. 개발할 때에는 자바 코드에 공부를 하느라 데이터베이스를 세심히 공부하지 못했지만 노션을 정리하면서 깊게 공부해보고자 한다.

자세한 사항
DBMS
옵티마이저
DBMS Join 원리 종류
트랜잭션 특징 ACID
NOSQL
파티셔닝, 샤딩
참고자료: https://velog.io/@min9288/백엔드-기술-면접-질문데이터베이스
- DBMS란? : 데이터베이스 내 데이터에 접근하도록 도와주는 시스템
- DBMS 구조 : 크게 질의처리기와 저장 시스템으로 이루어짐.
- 질의처리기 작동 순서
- 옵티마이저 : 사용자가 원하는 작업을 가장 효과적으로 실행 할 수 있는 최적의 경로를 선택해서 자동으로 프로시저를 생성해주는 DBMS의 핵심엔진. 종류로는 비용기반 옵티마이저와 규칙기반 옵티마이저가 있다.
- DB 저장 공간
- DBMS Join : 두 개 이상의 테이블을 하나의 집합으로 만드는 연산
- NL join(Nested Loop Join):
- Sort Merge join
- Hash join
- JDBC, ODBC차이 : Java가 Database를 사용할 수 있도록 연결해주는 응용프로그램 인터페이스인 JAVA API 입니다. API는 동적으로 올바른 Java 패키지를 로드하고, JDBC 드라이버 매니저에 등록하기 위한 메커니즘을 제공합니다. 드라이버 매니저가, JDBC connection을 생성하기 위한 connection factory로서 사용됩니다. ODBC는, 데이터베이스를 액세스하기 위한 표준 개방형 응용 프로그램 인터페이스를 말합니다. 마이크로소프트사에 의해 만들어진, 데이터베이스에 접근하기 위한 소프트웨어의 표준 규격으로, 프로그램 내에 ODBC 문장을 사용하면 MS-Access, dBase, DB2, Excel, Text 등의 여러 종류의 데이터베이스에 접근 할 수 있습니다.
- DDL, DML, DCL
- 데이터 정의어 (DDL) : 데이터베이스를 정의하는 용도
- 데이터 조작어 (DML) : 데이터의 추가/조회/갱신/삭제 용도
- 데이터 제어어 (DCL) : 데이터의 보안, 무결성, 병행제어, 회복을 위한 언어
- Key