본문 바로가기
🏆 자격증/⚡ 정처기

[실기 - 중요도 상] 8. SQL 응용

by 엄지잉 2024. 4. 25.

내가 공부하는 방향이 DB와는 거리가 멀어서, SQL을 잠시 공부하거나 썼을 때는 기억에 남지만 금방 잊기 마련이다.

그래서 모든 기억이 리셋된 상태로 정처기 시험 2일 전, 정리 및 공부를 해보려고 한다!


💡 트랜잭션

인가X 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야하는 특성.

하나의 논리적 기능을 정상적으로 수행하기 위한 작업 기본 단위

특성

1) 원자성 : 트랜잭션이 DB에 모두 반영O or 모두 반영X

2) 일관성 : 트랜잭션 수행 전/후 상태가 같아야 함.

3) 격리성 : 동시에 실행되는 트랜잭션들이 서로 영향X

4) 영속성 : 성공O 트랜잭션 결과는 DB에 영속 저장

 

📍 트랜잭션 제어어 (TCL)

- COMMIT : 트랜잭션을 메모리에 영구 저장

- ROLLBACK : 트랜잭션 저장 무효화

- CHECKPOINT : ROLLBACK 시점 지정

 

💡 데이터 정의어 (DDL)

DB 구축 or 수정할 목적으로 사용되는 언어

✔ DDL 대상 : 도메인, 스키마, 테이블, 뷰, 인덱스

 

📍 DDL 명령어 : CREATE / ALTER / DROP

1) CREATE : (도메인, 스키마, 테이블, 뷰, 인덱스) 정의

  • 예시 (인덱스)
  • UNIQUE 사용O (중복값X 속성) / 사용X (중복값O 속성)
CREATE [UNIQUE] INDEX 인덱스명 ON 테이블명(속성명 ASC|DESC);

 

2) ALTER : 테이블 정의 변경

  • ADD : 새로운 속성 추가
ALTER TABLE 테이블명 ADD 속성명 데이터타입;
  •  ALTER : 특정 속성의 Default 값 변경
ALTER TABLE 테이블명 ALTER 속성명;
  • DROP : 특정 속성 삭제
  • CASCADE : 제거할 요소를 참조하는 다른 모든 개체를 함께 제거
ALTER TABLE 테이블명 DROP COLUMN 속성명 [CASCADE];

 

3) DROP : (도메인, 스키마, 테이블, 뷰, 인덱스, 제약조건 등) 제거

DROP SCHEMA 스키마명 [CASCADE | RESTRICT];
DROP DOMAIN 도메인명 [CASCADE | RESTRICT];
DROP TABLE 테이블명 [CASCADE | RESTRICT];
DROP VIEW 뷰명 [CASCADE | RESTRICT];
DROP INDEX 인덱스명 [CASCADE | RESTRICT];
DROP CONSTRAINT 제약조건명;

 

💡 데이터 조작어 (DML)

저장된 데이터를 실질적으로 관리하는 데 사용

 

📍 DML 명령어 : SELECT / INSERT / DELETE / UPDATE

1) SELECT : 튜플 검색

  • GROUP BY에서 사용하는 그룹 함수 : COUNT, SUM, AVG, MAX, MIN, STDDEV 등
  • HAVING은 그룹에 대한 조건
  • 기본 검색, 조건 지정 검색(WHERE절에 연산자 이용해 조건 지정(비교/논리/LIKE/IN)), 정렬 검색(ORDER BY), 하위 질의, 그룹 함수, 집합 연산자(UNION, UNION ALL, INTERSECT(교집합), EXCEPT(차집합))
SELECT 속성명 FROM 테이블명 [WHERE 조건][GROUP BY 속성명][HAVING 조건][ORDER BY 속성명 ASC|DESC];

 

2) INSERT : 새 튜플 삽입

  • 모든 속성에 값을 추가할 경우, 속성명 생략 가능
INSERT INTO 테이블명([속성명1, 속성명2, ...)] VALUES (데이터1, 데이터2, ...);

 

3) DELETE : 특정 튜플 삭제

  • DROP 과의 차이점 : DELETE는 테이블 구조가 남아있음.
DELETE FROM 테이블명 [WHERE 조건];

 

4) UPDATE : 특정 튜플 내용 변경

UPDATE 테이블명 SET 속성명=데이터 [WHERE 조건];

 

💡 데이터 제어어 (DCL)

데이터 보안, 무결성, 회복, 병행제어 등 정의하는 데 사용하는 언어

 

📍 DCL 명령어 : COMMIMT / REVOKE / GRANT / ROLLBACK

1) COMMIT : 명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고, DB 조작 작업이 정상적으로 완료되었음을 관리자에게 알려줌

 

2) REVOKE : DB 사용자에게 사용 권한 취소

REVOKE 권한 ON 테이블명 FROM 사용자

 

3) GRANT : DB 사용자에게 사용 권한 부여

GRANT 권한 ON 테이블명 TO 사용자

 

4) ROLLBACK : 변경O, 아직 COMMIT X 모든 내용 취소 → DB를 이전 상태로 되돌리는 명령어

 


아래의 블로그에 더 자세한 설명, 예제가 많아서 참고하면 좋을 듯 하다.

 

https://velog.io/@ocy7111/%EC%A0%95%EC%B2%98%EA%B8%B0-%EC%8B%A4%EA%B8%B0-%EC%95%94%EA%B8%B07.-SQL-%EC%9D%91%EC%9A%A9#%E2%97%86-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%A0%9C%EC%96%B4%EC%96%B4dcl-data-control-language

 

정처기 실기 암기(7. SQL 응용)

정보처리기사 실기 정리 - 7. SQL 응용 Chapter01 데이터베이스 기본 (중요도: ★★★) ◆ 트랜잭션(Transaction): 인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야 하는 특성, 하나의

velog.io