[ SQLD ]
1. SQL 기본
1-1. 관계형 데이터베이스 개요
1. 관계형 데이터베이스 (Relation Database)
1970년 영국의 수학자 E.F. Codd 박사의 논문에서 처음으로 관계형 데이터베이스 소개
후 기존의 파일시스템과 계층형, 망형 데이터베이스를 대부분 대체하면서 현재 주력 데이터베이스
SQL을 사용하여 관리함으로 관계형 데이터베이스와 SQL의 중요성 높아짐
계층형 DB (트리구조, 1:N구조, 부모자식구조)
망형 DB (1:N, M:N 구조)
관계형 DB (테이블 구조)
2. SQL (Structured Query Language)
관계형DB에서 데이터 정의, 조작, 제어를 하기 위해 사용하는 언어
SQL 종류
DDL로 테이블을 생성 DML로 테이블 안 데이터를 생성
DCL은 만든 테이블 권한부여 TCL은 이런 명령어 결과를 최종 저장하는 트랜잭션 명령어
TCL이 어렵다면 한글파일로 보고서를 다 만들고 저장버튼을 누를지 안누를지를 결정하는 명령어라고 생각하면된다.
DDL (데이터 정의어) - 테이블 구조정의 명령어
CREATE : 테이블 생성
ALTER : 테이블 변경
DROP : 테이블 삭제
RENAME : 테이블 이름 변경
DML (데이터 조작어) - 테이블 안 데이터 입력,수정,삭제, 조회 명령어
SELECT : 데이터 조회
INSERT : 데이터 삽입
UPDATE : 데이터 수정
DELETE : 데이터 삭제
DCL (데이터 제어어) - 테이블 사용자 권한 부여 명령어
GRANT : 권한부여
REVOKE : 권한회수
TCL (트랜잭션 제어어) - 트랙잭션 제어 명령어
COMMIT : 작업 완료 처리
ROLLBACK : 작업 취소 처리
트랜잭션 ?
데이터베이스의 작업처리를 결정하는 단위
트랜잭션 특징
1. 원자성 - 중간 단계까지 실행되고 실패하는 일이 없도록 하는 것이 ( ALL OR NOTING : 모두 완료 or 아예 실행 X )
ex) 영화 예매 후 지불 시 : 지불했지만 예매가 안되는일, 예매는 했지만 지불이 안되는 일을 방지하는것
2. 일관성 - 트랜잭션 전이나 후나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미
3. 고립성 - 트랜잭션 실행 중 다른 트랜잭션 접근금지
4. 지속성 - 트랜잭션 실행 성공 후 결과 영구적으로 저장
3. SQL 실행 순서
Parse(구문분석) –> Bind(값 치환) –> Excute(실행) –> Fetch(인출)
1. 구문분석 - SQL문의 문법확인
2. 값 치환 - SLQ 테이블의 값만 바꿔서 계획을 실행
ex) 학번을 이용하여 50명의 학생정보를 출력하는 상황
학번을 입력받아 50개의 학생정보를 50번 실행하는게 아니라
1개의 실행계획 세우고 값만 바꾸며 여러번 실행하는 것
3. 실행 - SQL을 실행
4. 인출 - 데이터 블록 중 데이터만 인출
4. 관계형DB의 연산
1) 집합 연산
집합 연산 | 설명 |
합집합 (Uion) | 두 개의 관계를 합친다 |
차집합 (Difference) | 두 개 의 관계중 겹치지 않는 것 조회 |
곱집합 (Cartesian product) 카디션 프로덕트 |
두 개의 관계 모든 데이터를 조합해서 조회 |
교집합 (Intersection) | 두 개의 관계중 겹치는 것 조회 |
2) 관계 연산
관계 연산 | 설명 |
선택 연산 | 조건에 맞는 행 조회 |
투영 연산 | 조건에 맞는 속성 조회 |
결합 연산 | 공통된 속성 이용 새로운 관계 생성 |
나누기 연산 | 중복된 행 제거 |
'[자격증] SQLD(SQL개발자) > ↘ SQL 기본 및 활용' 카테고리의 다른 글
[ SQLD ] SQL 기본 - 6. FUNCTION (함수) (0) | 2020.05.27 |
---|---|
[ SQLD ] SQL 기본 - 5. WHERE 절 (0) | 2020.05.26 |
[ SQLD ] SQL 기본 - 4. TCL (Transaction Control Language) (트랙잭션 제어 명령어) (0) | 2020.05.26 |
[ SQLD ] SQL 기본 - 3. DML (Data Manipulation Language) (데이터 조작어) (0) | 2020.05.26 |
[ SQLD ] SQL 기본 - 2. DDL (Data Definition Language) (데이터 정의어) (0) | 2020.05.22 |
댓글