-
[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) (0) 2021.04.26 [SQLD] [SQL 개발자] 국가공인 SQL 개발자 시험과목 및 내용 (0) 2021.04.21 - 데이터베이스 (위키백과 정의)