728x90

 

 

53P 28번

SQL SERVER에서는 DML문이 Auto Commit이 디폴트로 설정되어있음

 


 

51P 23,26번

DROP

DELETE

TRUCATE

 

DELETE

테이블 안의 데이터 삭제

아스트로(*) 사용불가

Manual Commit

 

TRUNCATE

테이블 자체삭제 X

해당 테이블에 들어있는 모든 행 제거

(=테이블 초기화함)

저장 공간 재사용 가능하도록 해제함

UNDO를 위한 데이터 생성X이기 때문에 DLELETE보다 빠름

Auto Commit

 

DROP

테이블 자체 삭제

(=테이블 정의 자체를 삭제)

Auto Commit

 


 

48p 17,19번

Delete(/Modify) Action

Cascade : Master 삭제 시 Child 같이 삭제

Set Null : Master 삭제 시, Child 해당 필드 Null

Set Default : Master 삭제 시, Child 해당 필드 Default

Restrict : Child 테이블에 PK값이 없는 경우만 Master 삭제 허용

No Action : 참조무결성을 위반하는 삭제/수정 액션을 취하지 않음

 

Insert Action

Automatic : Master 테이블에 PK가 없는 경우, Master PK를 생성 후 Child입력

Set Null : Master 테이블에 PK가 없는 경우, Child 외부키를 Null 값으로 처리

Set Default : Master 테이블에 PK가 없는 경우, Child 외부키를 지정된 기본값으로 입력

Depenent : Master 테이블에 PK가 존재할 때만 Child 입력 허용

No Action : 참조무결성을 위반하는 입력 액션을 취하지 않음

 


 

47p 14번

무결성 제약조건 (Integrity Constraint)

**무결성 제약조건**이란 데이터베이스의 정확성, 일관성을 보장하기 위해 저장, 삭제, 수정 등을 제약하기 위한 조건을 뜻합니다.

주요 목적은 데이터베이스에 저장된 데이터의 무결성을 보장하고 데이터베이스의 상태를 일관되게 유지하는 것입니다.

1. 개체 무결성

각 릴레이션의 기본키를 구성하는 속성은 널(NULL) 값이나 중복된 값을 가질 수 없습니다.

[학생] 릴레이션에서 ‘학번’을 기본키로 지정했다면 ‘학번’ 속성은 NULL이 되어서는 안된다.

2. 참조 무결성

외래키 값은 NULL이거나 참조하는 릴레이션의 기본키 값과 동일해야 합니다.

즉, 각 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없습니다.

[수강] 릴레이션에서 ‘학번’ 속성에는 [학생] 릴레이션의 ‘학번’ 속성에 없는 값은 입력할 수 없다.

3. 도메인 무결성

속성들의 값은 정의된 도메인에 속한 값이어야 합니다.

‘성별’이라는 속성에서 ‘남’, ‘여’를 제외한 데이터는 제한되어야 한다.

4. 고유 무결성

특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 릴레이션의 각 튜플이 가지는 속성 값들은 서로 달라야 합니다.

[학생] 릴레이션에서 ‘이름’, ‘나이’는 서로 같은 값을 가질 수 있지만 ‘학번’의 경우, 각 튜플은 서로 다른 값을 가져야 한다.

5. NULL 무결성

릴레이션의 특정 속성 값은 NULL 될 수 없습니다.

[학생] 릴레이션 정의 시 ‘과목’ 속성에 NULL 값이 올 수 없도록 제한했다면 ‘과목’ 속성에 NULL이 있어서는 안된다.

6. 키 무결성

각 릴레이션은 최소한 한 개 이상의 키가 존재해야 합니다.

 


 

44p 9번

제약조건이 걸려있어도 삭제할 수 있는 방법

ON DELETE SET NULL

삭제 옵션

부모 키 삭제 시 자식 키를 NULL로 변경

ON DELETE CASCADE

부모 키 삭제 시, 자식 키도 함께 삭제

728x90
반응형

+ Recent posts