오늘은 개발과 커밋 자세히보기

프로그래밍 공부/DataBase (DB)

[ 데이터베이스 이론 ] 공부 정리 - 4강. SQL INSERT, DELETE, UPDATE문

호크테마 2023. 5. 19. 17:04

* 공부 정리일자 (2022년 8월 ~ 12월) 
- 책 : 데이터베이스 배움터 (ORACLE을 기반으로 하는), 데이터베이스 개론 (2판), 데이터베이스 시스템 (해외서적 6판)  
- 개인적으로 공부 및 복습하면서 정리한 내용입니다. (사진 제외) 


* 목차
SQL INSERT, DELETE, UPDATE문 

1)  INSERT 문
(1) INSERT 문
(2) INSERT 문 – 여러 개의 투플을 삽입

2) DELETE문 
3) UPDATE문

4) 트리거
5) 주장 


1. 복습 (중요 키워드 위주)
* 복습 파트 : 4강. SQL INSERT, DELETE, UPDATE문 

1)  INSERT 문
(1) INSERT 문
기존의 릴레이션에 투플을 삽입
- 참조되는 릴레이션에 투플이 삽입되는 경우에는 - 참조 무결성 제약조건의 위배가 발생하지 않으나 
  참조하는 릴레이션에 투플이 삽입되는 경우에는 - 참조 무결성 제약조건을 위배할 수 있음

- 릴레이션에 한 번에 한 투플씩 삽입하는 것과 한 번에 여러 개의 투플들을 삽입할 수 있는 것으로 구분

릴레이션에 한 번에 한 투플씩 삽입하는 INSERT문

INSERT 
INTO    릴레이션(애트리뷰트1, ..., 애트리뷰트n)
VALUES (값1, ..., 값n);

INSERT 절 - 한 개의 투플을 삽입

(2) INSERT 문 – 여러 개의 투플을 삽입
- 릴레이션에 한 번에 여러 개의 투플들을 삽입하는 INSERT문

INSERT 
INTO    릴레이션(애트리뷰트1, ..., 애트리뷰트n)
SELECT   ...  FROM   ... WHERE  ...;

INSERT 절 - 여러 개의 투플을 삽입

 

2) DELETE문 
* DELETE문
- 한 릴레이션으로부터 한 개 이상의 투플들을 삭제
- 참조되는 릴레이션의 삭제 연산의 결과로 참조 무결성 제약조건이 위배될 수 있으나, 
  참조하는 릴레이션에서 투플을 삭제하면 참조 무결성 제약조건을 위배하지 않음

* DELETE문의 구문
DELETE
FROM    릴레이션
WHERE  조건;

DELETE 문


3) UPDATE문
* UPDATE문
- 한 릴레이션에 들어 있는 투플들의 애트리뷰트 값들을 수정
- 기본 키나 외래 키에 속하는 애트리뷰트의 값이 수정되면 참조 무결성 제약조건을 위배할 수 있음

* UPDATE문의 구문
UPDATE  릴레이션
SET     애트리뷰트 = 값 또는 식[, …]
WHERE   조건;

UPDATE 문

 

4) 트리거
- 명시된 이벤트(데이터베이스의 수정)가 발생할 때마다 DBMS가 자동적으로 수행하는, 사용자가 정의하는 문(프로시저)
- 데이터베이스의 무결성을 유지하기 위한 일반적이고 강력한 도구
- 테이블 정의시 표현할 수 없는 기업의 비즈니스 규칙들을 시행하는 역할

- 트리거를 이벤트-조건-동작(ECA) 규칙이라고도 부름
   E는 Event, C는 Condition, A는 Action을 의미

 

5) 주장
- 트리거는 제약조건을 위반했을 때 수행할 동작을 명시하는 것이고, 
  주장은 제약조건을 위반하는 연산이 수행되지 않도록 함 

- 주장의 구문
CREATE ASSERTION 이름
CHECK  조건;