면접! 기술 질문 - DataBase

jiji·2023년 10월 31일
0

CS 전공지식 노트

목록 보기
3/12

🌱 DataBase

RDB?
관계형 데이터베이스 <-> NoSQL
테이블(컬럼(column)과 로우(row)로 이루어진)관의 관계

  • RDBMS(Relational Database Management System)란 RDB를 관리하는 소프트웨어를 말한다.
    ORACLE, MySQL, SQL Server, Maria DB 등

1. DDL, DML, DCL, TCL

1. DDL : Data Definition Language, 데이터 정의어

CREATE, ALTER, DROP, RENAME, TRUNCATE
테이블 생성, 변경, 삭제, 이름 변, 테이블 내 데이터만 삭제

2. DML : Data Manipulation Language, 데이터 조작어

SELECT, INSERT, UPDATE, DELETE
데이터 조회, 삽입, 수정, 삭제

3. DCL : Data Control Language, 데이터 제어어

GRANT, REVOKE
권한 부여, 회수

4. TCL : Transaction Control Language,트랜잭션 제어어

COMMIT, ROLLBACK, SAVE, POINT
논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어

Join

1) Inner Join

  • 두 테이블 간에 공통된 행만을 반환

2) Left Join

  • 왼쪽 (첫 번째) 테이블의 모든 행과 오른쪽 (두 번째) 테이블에서 일치하는 행을 반환

2. 트랜잭션

트랜잭션이란? 여러개의 작업을 하나로 묶은 것으로, 데이터베이스의 상태를 변화시키는 기능을 수행하기 위해 하나 이상의 쿼리를 모아놓은 하나의 작업 단위이다.

* 프로시저 : 일련의 쿼리를 하나의 함수처럼 실행하기 위한 쿼리의 집합

3. 인덱스

  1. 값이 중복 되지 않는지(카디널리티)
    ex. 이름 - 동명이인 / 학번 - 중복 X
  2. 선택도가 낮은 것
    ex. 학번 - 모두 고유하므로 특정 값 : 1 / 성별 50%
  3. 활용도가 높은 것, 쿼리문에서 얼마나 자주 활용 되는지

기타

정적 쿼리와 동적 쿼리

  • 정적 쿼리란 미리 정의된 SQL 또는 JPQL 쿼리
  • 동적 쿼리란 런타임 중에 조건에 따라 쿼리를 생성하고 실행되기 때문에 상황에 따라 다른 문법의 SQL을 적용됩니다.

즉, 동적 쿼리를 사용하면 사용자의 입력이나 프로그램의 상황에 따라 쿼리가 동적으로 변할 수 있습니다. MyBatis에서는 <if>, <choose>, <where>, <set>과 같은 동적 SQL요소를 사용해 동적 쿼리를 작성 할 수있습니다.

0개의 댓글

관련 채용 정보