본문 바로가기
[자격증] SQLD(SQL개발자)/↘ SQL 기본 및 활용

[ SQLD ] SQL 기본 - 1. 관계형 데이터베이스 개요

by 승큐리티 2020. 5. 22.


[ 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) 관계 연산

관계 연산 설명
선택 연산 조건에 맞는 행 조회
투영 연산 조건에 맞는 속성 조회
결합 연산 공통된 속성 이용 새로운 관계 생성
나누기 연산 중복된 행 제거

 

 

댓글