DevBlackCat
정보처리기사 : SQL 작성 (2) 완전정복!! 본문
728x90
DML
①UPDATE
- 모든 직원의 나이를 1씩 증가
UPDATE 사원정보
SET
나이 = 나이 + 1
- 개발팀 부서명을 개발지원팀으로 변경
UPDATE 사원정보
SET
부서 = '개발지원팀'
WHERE 부서 = '개발팀'
- DROP: 테이블 삭제
-- 회원 테이블 삭제
DROP TABLE 회원;
② DELETE
- 개발팀 직원만 삭제
DELETE FROM 사원정보
WHERE 부서 = '개발팀'
- 디자인팀 이창훈만 삭제
DELETE FROM 사원정보
WHERE 부서 = '디자인팀'
AND 이름='이창훈'
DCL
- 데이터베이스에 접근하거나 객체에 대한 권한을 주고 빼는 역활을 한다.
①GRANT
- 기본형태
:GRANT [권한] ON [객체명] TO [계정]
[WITH GRANT OPTION];
( WITH GRANT OPTION = 지정된 권한을 다른 유저에게 부여할수있도록함 )
- HUNGJLK 사용자에게 사원정보 SELECT 권한 부여
GRANT SELECT ON 사원정보 TO HUNGJLK
- HUNGJLK 사용자에게 사원정보 SELECT 권한 부여 하고 다른사용자에게 부여 할수있게함
GRANT SELECT ON 사원정보 TO HUNGJLK
WITH GRANT OPTION;
② REVOKE
- 권한을 회수 하는 명령
:REVOKE [권한] ON [객체명] FROM [계정]
[CASCADE];
( CASCADE = 사용자가 부여한 모든 사용자 권한을 같이 회수 )
- HUNGJLK 사용자에게 사원정보 SELECT 권한 회수
REVOKE SELECT ON 사원정보 FROM HUNGJLK
- HUNGJLK 사용자에게 사원정보 SELECT 권한 회수 [사용자가 부여한 모든 권한을 같이 회수]
REVOKE SELECT ON 사원정보 FROM HUNGJLK
CASCADE;
TCL
- 트랜잭션을 제어하는데 사용하는 명령어로 COMMIT 과 ROLLBACK 이 있다.
COMMIT: 트랜잭션에서 수행된 변경 사항을 데이터베이스에 영구적으로 저장.
ROLLBACK: 트랜잭션 중 수행된 변경 사항을 취소하고 이전 상태로 복원.
ROLLBACK: 트랜잭션 중 저장점 지
트랜잭션 ★★
- 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하는 작업 단위이다.
- 하나의 일처리 단위로 묶음
원자성★ (Atomicity) |
- 트랜잭션 내의 모든 연산은 모두 반영되거나 전혀 반영되자않아야 한다. - 오류 발생시 트랜잭션 전체가 취소되며 COMMIT 과 ROLLBACK 명령에 의해 이 성질이 보장 된다. |
일관성 (Consistency) |
- 트랜잭션의 완료후에는 데이터베이스가 일관된 상태를 유지해야한다. |
독립성, 격리성 (Isolation) | - 동시에 실행되는 여러 트랜잭션들은 서로 간섭할 수 없으며, 각각 독립적으로 실행되어야 한다. - 한 트랜잭션이 완료될 때까지 다른 트랜잭션은 그 결과를 볼 수 없다. |
영속성 (Durability) |
- 트랜잭션이 한번 COMMIT되면, 그 결과는 시스템에 고장이 발생해도 영구적으로 반영되어야 한다. |
철회 (Aborted)
- 트랜잭션이 비정상적으로 종료되어 Rollback 연산을 수행한 상태
부분 완료 (Partially Committed)
- 트랜잭션의 마지막 연산까지 실행했지만, Commit 연산이 실행되기 직전의 상태
728x90
'정보처리기사 > 데이터베이스 구축' 카테고리의 다른 글
정보처리기사 필수 학습: 병행제어와회복 완전정복!! (0) | 2024.12.13 |
---|---|
정보처리기사 : 절차형 SQL 작성 (1) | 2024.12.13 |
정보처리기사 : SQL 작성 (1) 완전정복!! (1) | 2024.12.07 |
정보처리기사 : 물리데이터모델 품질검토 완전정복!! (0) | 2024.12.07 |
정보처리기사: 물리 데이터 베이스 모델링 (1) | 2024.12.06 |