-
[SQLD 요약] II. SQL 기본 및 활용 - 01. SQL 기본 (1) - 관계형 데이터베이스와 SQL자격증/SQLD (SQL 개발자) 2021. 4. 28. 15:45728x90반응형
SQLD 요약 / SQL Developer 요약
🔑 관계형데이터베이스/ 데이터베이스관리시스템(DBMS)/ 릴레이션/ 테이블/ 기본키/ 외래키/
집합연산/ 합집합/ 차집합/ 교집합/ 곱집합/ 관계연산/ 선택/ 투영/ 결합/ 나누기/
SQL/ DDL, DML, DCL, TCL/ 트랜잭션/ 원자성/ 일관성/ 고립성/ 영속성
II. SQL 기본 및 활용
01. SQL 기본
[1] 관계형 데이터베이스
[2] SQL 종류
01. SQL 기본
[1] 관계형 데이터베이스 (Relation Database)
(1) 데이터베이스와 데이터베이스 관리 시스템
- 데이터베이스 (위키백과 정의)
- 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합
- 작성된 목록으로써, 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음 - 데이터를 어떤 형태의 자료구조로 사용하는가에 따라서 데이터베이스를 나눔 ⇒ 계층형/ 네트워크/ 관계형
계층형 데이터베이스 네트워크 데이터베이스 관계형 데이터베이스 - 자료구조: 트리형태 (Tree)
- 표현관계: 1대N 관계- 자료구조: 오너-멤버 형태
- 표현관계: 1대N, M대N- 자료구조: 릴레이션 (Relation)
- 릴레이션으로 집합 연산, 관계 연산


- 데이터베이스 관리 시스템 (DBMS; Database Management System)
- 계층형/ 네트워트/ 관계형 데이터베이스 등을 관리하기 위한 소프트웨어
- 종류: 현업에서 가장 많이 사용되는 DBMS는 Oracle, MS-SQL, MySQL, Sybase 등
(2) 관계형 데이터베이스 | 릴레이션에 데이터를 저장하고 관리하는 데이터베이스
- 릴레이션(Relation) → 테이블(Table)
- 릴레이션의 조인연산(Join)을 통해 → 합집합, 교집합, 차집합 등 생성 가능
- 릴레이션을 사용하여 집합 연산, 관계 연산 가능 → 다양한 형태로 데이터를 조회함
- 관계형 데이터베이스는 DB를 연결하고, SQL문을 사용 → 누구나 쉽게 DB를 사용할 수 있도록 함
- 관계형 데이터베이스의 집합연산: 합집합/ 차집합/ 교집합/ 곱집합
합집합 Union 차집합 Difference 교집합 Intersection 곱집합 Catesian product - 릴레이션 2개→1개로 합침
- 중복 행은 1번만 조회됨본래 릴레이션에는 있고,
다른 릴레이션에는 없는 것 조회릴레이션 2개 간에
공통된 것을 조회함각 릴레이션의 모든 데이터를
조합하여 연산함



- 관계형 데이터베이스의 관계연산: 선택/ 투영/ 결합/ 나누기
선택 연산 Selection 투영 연산 Projection 결합 연산 Join 릴레이션에서 조건에 맞는 행만 조회함 릴레이션에서 조건에 맞는 속성만 조회함 여러 릴레이션의 공통된 속성을 사용하여
새로운 릴레이션을 생성함


나누기 연산 (Division): 나누는 릴레이션의 모든 속성과 관련있는 기준 릴레이션의 속성들을 반환 - 기준 릴레이션에 속한 튜플(행)들 중에서,
- 나누는 릴레이션이 가지고 있는 속성과 같은 값을 가지는 튜플을 추출하고,
- 나누는 릴레이션의 속성을 삭제한 후에,
- 중복된 행을 제거하는 연산이다!
(3) 테이블 | 릴레이션은 최종적은 DBMS에서 테이블로 생성됨
- 관계형 데이터베이스는 릴레이션에 데이터를 저장함 → 관리시스템에서 테이블로 만들어짐
- 테이블 구조: 기본키/ 행(튜플)/ 열(속성)/ 외래키
- 외래키: 관계연산 중 결합연산(Join)을 하기 위해 사용하는 키
기본키 Primary Key 행 Row = 튜플 Tuple 열 Column = 속성 외래키 Foreign Key - 테이블을 대표하는 키
- 유일성, 최소성, Not Null 만족- 하나의 테이블에
저장되는 값- 어떤 데이터를
저장하기 위한 필드- 다른 테이블의 기본키를
참조(조인)하는 칼럼
[2] SQL 종류
(1) SQL (Structured Query Language)
- 관계형 데이터베이스에 대해서, 데이터 구조 정의/ 데이터 조작/ 데이터 제어 등을 할 수 있는 절차형 언어
- ANSI/ISO 표준 준수 → DBMS가 달라도 SQL은 그대로 사용 가능
(2) SQL 종류 | DDL, DML, DCL, TCL
- SQL이 지원하는 기능: 데이터 정의/ 조작/ 제어 등
- 작업 순서: 권한 - 정의 - 입력 - 조회
① 데이터베이스 사용자에게 권한 부여
② DDL로 데이터 구조 정의
③ 데이터 입력
④ 개발자/사용자가 데이터 조회
DDL DML DCL TCL 관계형 데이터베이스의
구조를 정의함테이블에서 데이터를
입력, 수정, 삭제, 조회함데이터베이스 사용자에게
권한을 부여, 회수함트랜잭션을 제어하는 명령어 - CREATE
- ALTER
- DROP
- RENAME- INSERT
- UPDATE
- DELETE
- SELECT- GRANT
- REVOKE
- TRUNCATE- COMMIT
- ROLLBACK
- SAVEPOINT- 트랜잭션(Transaction): 데이터베이스 작업을 처리하는 단위
- 트랜잭션의 특성: 원자성/ 일관성/ 고립성/ 영속성 (ACID)
원자성 Atomicity 일관성 Consistency 고립성 Isolation 영속성 Durability - 연산 전부가 실행되거나,
전혀 실행되지 않아야 함
- 트랜잭션 처리가 완전히
끝나지 않은 상태는
실행되지 않은 상태와 같음- 트랜잭션 실행 결과로
DB상태가 모순되지 않아야 함
- 실행 후에도 일관성 유지- 트랜잭션 실행 중에
생성되는 연산 중간결과는
다른 트랜잭션이 접근 불가능
- 부분적인 실행결과는
다른 트랜잭션이 볼 수 없음- 트랜잭션 실행 완료 후
그 결과는 영구적으로 보장됨(3) SQL문의 실행순서 | 파싱-실행-인출
- 작성한 SQL문은 3단계에 걸쳐서 실행됨
(SQL문은 DDL, DML, DCL 등을 의미함)
파싱 Parsing 실행 Execution 인출 Fetch - SQL문의 문법확인 및 구문분석
- 분석된 SQL문은 캐시에 저장함- 옵티마이저가 수립한
실행계획에 따라서 SQL 실행데이터를 읽어서 전송함
참고도서: SQL 개발자 이론서+기출문제_이기적, 2020
참고링크: chartworld.tistory.com/12
728x90반응형'자격증 > SQLD (SQL 개발자)' 카테고리의 다른 글
[SQLD 요약] II. SQL 기본 및 활용 - 01. SQL 기본 (3) - DML (0) 2021.05.01 [SQLD 요약] II. SQL 기본 및 활용 - 01. SQL 기본 (2) - DDL (0) 2021.04.30 [SQLD 요약] I. 데이터 모델링의 이해 (2) (0) 2021.04.27 [SQLD 요약] I. 데이터 모델링의 이해 (1) (1) 2021.04.26 [SQLD] [SQL 개발자] 국가공인 SQL 개발자 시험과목 및 내용 (0) 2021.04.21 - 데이터베이스 (위키백과 정의)