DDL(Data Definition Language)
- create : 데이터베이스 객체를 생성
- drop : 데이터베이스 객체를 삭제
- alter : 기존에 존재하는 데이터베이스 객체를 수정
// 데이터베이스 생성
create database 데이터베이스명;
// 데이터베이스 변경
alter database 데이터베이스명 default character set 값 collate 값;
// 데이터베이스 삭제
drop database 데이터베이스명;
// 데이터베이스 사용
drop database 데이터베이스명;
DML(Data Manipulation Language)
- insert(C) : 데이터베이스 객체에 데이터를 입력
- select(R) : 데이터베이스 객체에서 데이터를 조회
- update(U) : 데이터베이스 객체에 데이터를 수정
- delete(D) : 데이터베이스 객체에 데이터를 삭제
INSERT INTO table_name VALUES (col_val1, col_val2, col_val3, …)
SELECT *
FROM table_name
WHERE conditions
GROUP BY
HAVING
ORDER BY
UPDATE table_name SET col_name1=col_val1 WHERE conditions;
DELETE FROM table_name WHERE conditions;
DCL(Data Control Language)
- grant : 데이터베이스 객체에 권한을 부여
- revoke : 데이터베이스 객체 권한 취소
TCL(Transaction Control Language)
- commit : 실행한 Query를 최종적으로 적용
- rollback : 실행한 Query를 마지막으로 commit 전으로 취소시켜 데이터를 복구
내장 함수
숫자 관련 함수 : CEILING, ROUND
문자 관련 함수 : CONCATE, REPLACE, INSTR, TRIM
날짜 관련 함수 : NOW, SYSDATE
논리 관련 함수 : IFNULL
집계 함수 : COUNT, SUM, AVG, MAX, MIN
index
view
JOIN
- INNER JOIN
- OUTER JOIN
- LEFT OUTER JOIN
- NATURAL JOIN
- CROSS JOIN
SubQuery
모델링
- 개념적 데이터베이스 모델링
- 논리적 데이터베이스 모델링
-> 정규화
- 물리적 데이터베이스 모델링
정규화
제 1 정규화
반복되는 그룹 속성을 제거한 뒤 기본 테이블의 기본 키를 추가해 새로운 테이블을 생성하고 기존의 테이블과 1:N의 관계를 형성하는 과정
제 2 정규화
- 복합키에 전체적으로 의존하지 않는 속성 제거
- 부분적 함수 종속관계
제 3 정규화
- 기본키에 의존하지 않고 일반 컬럼에 의존하는 컬럼들을 제거한다
- 이행적 함수 종속관계