뷰 쿼리의 WHERE 절을 만족하지 않는 삽입 및 업데이트를 거부하는 데 사용되는 선택 절은 무엇입니까?
정답: A
SQL에서 VIEW가 생성되면 사용자는 해당 VIEW를 통해 데이터를 삽입하거나 업데이트할 수 있습니다. 그러나 VIEW의 WHERE 절의 조건을 위반하는 방식으로 행이 삽입되거나 업데이트되면 불일치가 발생할 수 있습니다. 이러한 원치 않는 수정을 방지하기 위해 SQL은 WITH CHECK OPTION 절을 제공합니다. WITH CHECK OPTION 작동 방식: * 모든 새 데이터(INSERT/UPDATE)가 VIEW의 정의된 제약 조건 내에 들어가는지 확인합니다. * 사용자가 VIEW에 나타나지 않는 행을 삽입하거나 업데이트하려고 하면 작업이 거부됩니다. 예: SQL을 CREATE VIEW HighSalaryEmployees AS SELECT * FROM 직원 WHERE 급여 > 50000 체크 옵션 포함; 이제 누군가가 시도한다면: SQL을 INSERT INTO HighSalaryEmployees(ID, 이름, 급여) 값(101, '앨리스', 30000); 이 문제는 30000이 급여 > 50000을 만족하지 못하기 때문에 실패합니다. 다른 옵션이 틀린 이유: * 옵션 B(잘못된 답변): JOIN VIEWS는 유효한 SQL 절이 아닙니다. * 옵션 C(잘못된 답변): MATERIALIZED VIEW는 일부 데이터베이스의 저장된 뷰를 참조하지만 잘못된 삽입/업데이트를 거부하지 않습니다. * 옵션 D(잘못된 답변): BASE TABLE은 VIEW가 생성된 원래 테이블을 참조합니다. 따라서 정답은 WITH CHECK OPTION이며, 이를 사용하면 유효한 데이터 수정만 발생합니다.
Data-Management-Foundations 문제 22
두 개의 별개의 개체와 연관된 진술은 무엇입니까?
정답: C
ER 모델에서의 관계는 두 개의 개별 엔터티가 상호 작용하는 방식을 정의합니다. 사용 예: 컴퓨터 AI가 생성한 콘텐츠의 스크린샷은 부정확할 수 있습니다. CREATE TABLE 고객 ( 고객ID INT 기본 키, 이름 VARCHAR(50) ); 테이블 생성 주문 ( OrderID INT 기본 키, 고객ID INT, 외래 키(CustomerID) 참조 고객(CustomerID) ); * 고객과 주문은 별도의 개체이며, CustomerID를 통해 관련되어 있습니다. 다른 옵션이 틀린 이유: * 옵션 A(반사 관계)(잘못된 표현): 두 개의 서로 다른 엔터티가 아닌 자기 참조 엔터티에 사용됩니다. * 옵션 B(엔터티 유형)(잘못된 답변): 객체 클래스를 정의하지만 관계를 설정하지 않습니다. * 옵션 D(속성)(잘못된 표현): 속성은 엔터티를 설명하지만 연결하지는 않습니다. 따라서 정답은 '관계'입니다. 이는 두 개의 별개의 개체를 연결하기 때문입니다.