1. 데이터베이스 언어
DDL(정의어) : DB 구조를 정의, 수정, 삭제하는 언어 (create, alter, drop)
DML(조작어) : DB 내 자료의 검색, 삽입, 갱신, 삭제를 위한 언어 (select, create, update, delete)
DCL(제어어) : 데이터의 무결성 유지, 병행 수행 제어, 보호와 관리를 위한 언어 (commit, rollback, grant, revoke)
2. select 쿼리 수행 순서
from, on, join -> where, group by, having -> select -> distinct -> order by -> limit
(limit : limit에서 벗어나는 행은 제외하고 출력)
3. join에서 on과 where의 차이 : on 조건으로 필터링 된 데이터간 join이 이루어지고 이후 where 조건절로 필터링된다.
4. 데이터베이스에서 table이란? : 특정한 종류의 데이터를 구조적으로 묶은 목록으로 실제 데이터가 저장되는 곳이다.
5. Index란? : 테이블에 대한 검색 속도를 높여주는 자료구조 -> 인덱스를 검색하여 풀스캔 대신 해당 데이터에 바로 엑세스 하는 방법
장점 : 정렬된 상태를 유지하므로 원하는 값을 검색하는데 빠르다
단점 : 새로운 값을 추가, 삭제, 수정하는 경우 실행속도가 느리다 /
6. 이상 현상의 종류
삽입 이상 : 자료를 삽일할 때 해당하는 값이 없어 null을 입력해야 하는 현상
갱신 이상 : 중복된 데이터 중 일부만 수정되어 데이터 모순이 일어나는 현상
삭제 이상 : 어떤 데이터를 삭제하면 의도하지 않은 다른 데이터까지 삭제되는 현상
7. RDBMS vs NoSQL(비관계형데이터베이스)
RDBMS : 2차원 형테의 데이터 테이블
NoSQL : 데이터의 관계를 정의하지 않고 컬렉션 형태로 데이터 관리
8. 트랜잭션이란?
쪼갤 수 없는 업무 처리의 최소단위로 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위입니다.
-> 작업을 모두 처리하거나 처리하지 못할 경우 이전 상태로 복구하여 작업의 일부만 적용되는 현상이 발생하지 않게 해 주는 기능
9. inner join vs outer join
inner join: 교집합만 출력하는 조인 방법
outer join : 합집합 출력하는 조인 방법 --> Left면 좌측거만 전부 Right면 우측것만 전부
10. Group by vs Having
Group by : 명령어를 통해 특정 컬럼을 기준으로 그룹화 --> 집계함수 사용에 용이 (count, avg, sum, max, min)
Having : group by절의 조건문
>> select name, count(name) from student group by name having count(name)=1
11. Drop vs Truncate vs Delete 차이
delete: 원하는 데이터만 골라서 지울 수 있지만 테이블 용량은 줄어들지 않는다
truncate: 전체 데이터를 한번에 삭제하고 테이블 용량이 줄어들지만 테이블은 삭제할 수 없다
drop: 테이블 자체를 완전히 삭제
12. on delete cascade
데이터 무결성을 위해 사용하는 문법으로 부모데이터 삭제 시 자식데이터의 튜플도 삭제되는 것을 의미한다.
'면접준비' 카테고리의 다른 글
[면접후기] 웹 에이전시 면접 후기 (0) | 2023.07.22 |
---|---|
[기술면접 정리] 백엔드 (0) | 2023.07.19 |
[기술면접 정리] 운영체제 (0) | 2023.07.19 |
[기술면접 정리] 네트워크 (0) | 2023.07.19 |
[기술면접 정리] 자바 (0) | 2023.07.19 |