반응형
자격증 준비하면서 내가 이해하기 편하게, 다시 보기 좋게 정리하는 SQLD의 기본 내용 (자격증 상세 내용은 아래)
https://www.dataq.or.kr/www/sub/a_03.do
관계형 데이터베이스 개요
데이터베이스
여러 가지 데이터를 저장하는 공간
- 관계형 데이터베이스(RDB)
- 모든 데이터를 2차원 테이블 형태로 표현 한 뒤 테이블 간 관계를 정의하는 것으로 시작
- Oracle, SQL Server, MySQL, PostgreSQL 등
- 테이블
- 관계형 데이터베이스의 기본 단위
- 일반적으로 데이터베이스는 여러 개의 테이블로 구성
- 세로 열(속성) - 칼럼(Column), 가로 열(인스턴스) - 로우(Row)
SQL
관계형 데이터베이스에서 데이터를 다루기 위해 사용하는 언어
SELECT 문
- 저장되어 있는 데이터를 조회할 때 사용하는 명령어
# 기본형태
SELECT 컬럼1, 컬럼2, ··· From 테이블 WHERE 컬럼1 = ‘이름’;
# 애스터리스크(*)를 활용한 전체 컬럼 조회
SELECT * FROM 테이블;
# 테이블명이 길면 별칭(Alias)를 사용할 수 있음
SELECT SCHOOL.SCHOOL_NAME, STUDENT.STUDENT_NAME
FROM SCHOOL, STUDENT
WHERE SCHOOL.SCHOOL_CODE = STUDENT.SCHOOL_CODE;
↓
SELECT S.SCHOOL_NAME, ST.STUDENT_NAME
FROM SCHOOL S, STUDENT ST
WHERE S.SCHOOL_CODE = ST.SCHOOL_CODE;
# 별칭 사용시 테이블 명 대신 별칭을 사용
산술 연산자
- () (우선순위 1) : 괄호로 우선 순위 지정 가능
- *, / (우선순위 2) : 곱하기와 나누기
- +, - (우선순위 3) : 더하기와 빼기
위 테이블을 SELECT COL1 +CO2 AS RESULT FROM SAMPLE;을 진행 하면 NULL이 포함되어 있으므로 합칠시에 결과 값은 NULL이 되므로 아래와 같이됨
- 합성 연산자 : || (문자와 문자를 연결)
DDL
데이터를 정의하는 명령어
- CREATE : 테이블을 생성하는 명령어
- ALTER : 칼럼의 추가, 변경, 삭제, 제약조건 추가, 삭제 등을 할 수 있게해주는 명령어
- ADD COLUMN : 새로운 컬럼을 추가할 때 사용
- DROP COLUMN : 기존에 있던 컬럼이 필요 없어졌을 때 삭제하기 위해 사용
- MODIFY COLUMN : 기존에 있던 칼럼을 변경할 때 쓰는 명령어
- REANAME COLUMN : 기존에 있던 컬럼의 이름을 변경할 때 쓰는 명령어
- ADD CONSTRAINT : 제약조건을 추가하고 싶을 때 쓰는 명령어
- DROP TABLE : 테이블을 삭제할 때 쓰는 명령어
- TRUNCATE TABLE : 테이블에 저장되어 있는 데이터를 모두 제거하는 명령어
DML
데이터를 입력하고, 입력된 데이터를 수정, 삭제, 조회하는 명령어
- INSERT : 테이블에 데이터를 입력하는 명령어
- UPDATE : 저장된 데이터를 수정하고 싶을 때 사용하는 명령어
- DELETE : 이미 저장된 데이터를 삭제하고 싶을 때 사용하는 명령어
- MERGE : 테이블에 새로운 데이터를 입력하거나 이미 저장되어 있는 데이터에 대한 변경 작업을 한 번에 할 수 있도록 해주는 명령어
TCL
트랙젼을 제어하는 명령어 COMMIT, ROLLBACK, SAVEPOINT
- 원자성 : 트랜잭션으로 묶인 일련의 동작들은 모두 함께 작동해야 함
- 일관성 : 트랜잭션이 완료된 후에도 데이터베이스가 가진 데이터에 일관성이 있어야 함
- 고립성 : 하나의 트랜잭션은 고립되어 수행되어야 함
- 지속성 : 트랜잭션이 성공적으로 수행되었을 경우 트랜잭션이 변경한 데이터가 영구적으로 저장되어야 함을 의미
COMMIT
INSERT, DELETE, UPDATE 후 변경된 내용을 확정, 반영하는 명령어
ROLLBACK
INSERT, DELETE, UPDATE 후 변경된 내용을 취소하는 명령어
SAVEPOINT
전체 작업을 되돌리지 않고 일부만 되돌릴 수 있게 하는 기능을 가진 명령어
반응형
'자격증 > SQLD' 카테고리의 다른 글
SQLD 정리 - 2과목 SQL 활용 (0) | 2023.03.18 |
---|---|
SQLD 정리 - 2과목 SQL 기본 PART 2 (0) | 2023.03.14 |
SQLD 정리 - 1과목 데이터 모델링과 성능 정리 (0) | 2023.03.12 |
SQLD 정리 - 1과목 데이터 모델링의 이해 정리 (0) | 2023.03.12 |
댓글