[SQLD 공부] 2과목_관계형 데이터베이스 개요
SQL/SQLD 공부

[SQLD 공부] 2과목_관계형 데이터베이스 개요

by Jongg 2024. 8. 1.
728x90

1. 관계형 데이터베이스
- 관계와 조인연산을 통해 합집합, 교집합, 차집합 등을 만들 수 있음
- Oracle, MS-SQL, MySQL 등

2. DB와 DBMS의 차이
- DB: 데이터를 어떤 형태의 자료구조로 사용하느냐에 따라 나눠짐
- 계층형, 네트워크형, 관계형 DB 등이 있음
- 계층형: 트리 자료 구조. 확장성 떨어짐. 1:N 관계
- 네트워크형: 1:N, N:M 표현 가능
- 관계형은 릴레이션에 데이터 저장. 집합연산 및 관계 연산 가능
- DBMS는 DB를 관리하기 위한 소프트웨어

3. 집합연산
- 합집합: 두개의 릴레이션을 합을 의미
- 차집합: 특정 릴레이션에만 존재
- 교집합: 두 릴레이션에 함께 존재
- 곱집합: 각 릴레이션에 존재하는 모든 데이터를 조합

4. 관계연산
- 선택연산: 릴레이션에서 특정 조건에 해당하는 행을 조회
- 투영연산: 특정 조건에 맞는 속성만 조회
- 결합연산: 여러 릴레이션에서 공통된 속성을 통해 새로운 릴레이션 만들기
- 나누기 연산: 동일한 값을 가지는 행만 추출, 중복된 행 제거

5. 테이블과 컬럼
- 릴레이션 = 테이블
- 테이블은 하나의 기본키를 가짐
- 컬럼 = 데이터를 저장하기 위한 필드, 속성이라고도 함
- 외래키는 다른테이블의 기본키를 참조하는 컬럼

6. SQL
- 관계형 DB에서 데이터 정의(저장), 조작, 제어하는 언어
- 개발언어임
- 관계형 DB에 대한 전담 접속용도로 사용되며 독립되어 있음

 

728x90


7. SQL 문장 종류 
- DDL(데이터 정의어): CREATE, DROP, RENAME, ALTER, TRUNCATE(DROP & CREATE)
→ 데이터 구조를 정의하는데 사용하는 명령어
→ 구조 생성/변경/삭제
- DML(데이터 조작어): SELECT, INSERT, DELETE, UPDATE
→ 데이터 조회 및 검색
→ 데이터의 추가/삭제/수정
- DCL(데이터 제어어): GRANT, REVOKE
→ 접근 권한 부여/회수
- TCL(트랜잭션 제어어): COMMIT, ROLLBACK, SAVEPOINT
→ 트랜잭션 별로 제어하는 명령어 (데이터 변동 저장/반영 등)

8. 트랜잭션
- DB작업을 처리하는 단위
→ 원자성: 연산의 전부가 실행되거나 실행되지 않아야 함
→ 일관성: 실행 결과로 DB 상태가 모순되지 않아야 함
→ 고립성: 부분적인 실행결과를 다른 트랜잭션이 볼 수 없음. 중간 결과는 다른 트랜잭션이 접근 못함 
→ 영속성: 실행을 성공적으로 완료하면 그 결과는 영구적 보장이 되어야 함

9. SQL 실행 순서(3단계)
- 파싱(Parsing)
→ 문법 확인 및 구문분석
→ 분석한 SQL을 Library Cache에 저장
- 실행(Execution)
→ 옵티마이저가 생성한 실행 계획에 따라 SQL 실행
- 인출(Fetch)
→ 데이터 전송

728x90

댓글