내가 공부하는 방향이 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를 이전 상태로 되돌리는 명령어
아래의 블로그에 더 자세한 설명, 예제가 많아서 참고하면 좋을 듯 하다.
'🏆 자격증 > ⚡ 정처기' 카테고리의 다른 글
[실기 - 중요도 중] 6. 화면 설계 (UML 다이어그램 파트) (0) | 2024.04.25 |
---|---|
[실기 - 중요도 상] 11. 응용 SW 기술 활용 (1) | 2024.04.25 |
[실기 - 중요도 상] 10. 프로그래밍 언어 활용 (0) | 2024.04.25 |
[필기] 정보처리기사 2023년 3회차 후기 🔥(전공자, 벼락치기) (0) | 2023.07.10 |
[필기] 또 틀린 문제 정리 ⭐ (0) | 2023.07.10 |