외래키 제약조건-참조동작 질문

이부분에서 노액션은 참조무결성을 위반하는 경우에 지우지 못하는거라서 만일 부모테이블에서 특정 PK값을 지우는데 자식테이블에 그 PK값이 없다면 부모테이블에서 지울수 있지 않나요? RESTRICT과 동일하게 작용하는거 아닌가 싶어서요..
답변 1
0
안녕하세요!
좋은 질문 감사합니다!
NO ACTION은 RESTRICT와 유사하지만 제약조건 검사 시점이 다릅니다.
SQL 표준에서는
NO ACTION : 참조 무결성을 트랜잭션 종료 시점(COMMIT시)에서 확인
RESTRICT: 참조 무결성을 즉시 검사(DELETE/UPDATE 실행 시)
외래키 제약조건을 검사할 때 즉시 위반 여부를 확인하지 않고, 트랜잭션이 끝날 때(즉 COMMIT 시점)에 검사합니다.
그러나, SQL Server 에서는 NO ACTION이 즉시 검사되고 (RESTRICT와 동일)
Oracle에서도 NO ACTION이 즉시 검사되고, RESTRICT가 지원되지 않아 말씀하신 것과 같이 NO ACTION이 RESTRICT와 동일하게 처리됩니다.
실무에서는 "둘이 같다"라고 이해하면 되고, 시험이나 자격증 공부할 때 SQL 표준이론에서만 "SQL 표준에서는 검사 시점 차이가 있다"를 기억하면 안전합니다.
^^ 감사합니다!
3-13 리텐션 과제 제출합니다!
0
33
1
실행 통계2 explain analyze 조인 쿼리
0
36
1
3강 인덱스 구조 강의 자료 문의
1
47
1
68강 문제 풀이
0
42
1
현대 쿼리 복잡성에 관한 질문
0
82
3
key_length 가 사용되는곳
0
43
1
[과제]1-9 피벗 테이블 만들어보기
0
63
2
cnt수를 구할 때 왜 user_pseudo_id 를 사용하나요?
0
59
2
아래 글들에서 적혀있는 노션 페이지를 찾을수 없다는데요..
0
49
1
공통 코드 VS Enum 클래스
1
46
1
강의 DB데이터 질문
0
58
1
극단적으로 from-to가 12일 이고, valid_to가 13일이면?
0
42
1
선생님 샤딩에 대한 강의도 좀 해주세요
0
50
1
몽고DB CAP 이론 관련
0
57
2
아니 이거 갑자기 데이터베이스가 사라졌어요
0
66
1
기타 영역 중 언두로그
0
82
1
최종 과제 제출합니다.
0
87
2
실전튜닝 4 질문 - group by 순서와 index 순서
0
65
1
3-13 과제
0
86
3
가중이동평균매출 lag함수 활용
0
78
2
battle 테이블 오류
0
75
2
DB 쿼리 최적화 시 DB 처리와 애플리케이션 처리의 기준이 궁금합니다
0
63
1
실무에서의 인덱스 관리 방법이 궁금합니다
0
75
1
교안 파일 문제
0
186
1





