부모테이블의 기본키는 자식테이블에 외래키로 전이 되어짐
-> 식별관계와 비식별관계로 나눌 수 있음
식별관계란 부모 테이블의 기본키나 유니크키를 자식 테이블이 자신의 기본키로 사용하는 관계
비식별관계란 부모 테이블의 기본키나 유니크키를 자신의 기본키로 사용하지 않고, 외래키로 사용하는 관계
두 테이블간에 외래키에 의한 참조관계에 있을 때 두 테이블간 데이터 불일치가 발생하는 상황이 되면 DBMS는 다음과 같은 조치를 취할 수 있음
-> 제한(restrict), 연쇄(cascade), 널 값으로 대체(nullify)
ex)부서테이블의 첫 번째 튜플을 삭제할 때
->제한(restrict): 삭제하려는 튜플의 부서번호 값을 사원테이블에서 가지고 있는 튜플이 있으므로 삭제연산을 거절
->연쇄(cascade): Delete cascade ↔ Update cascadem, 삭제된 부서번호 값을 갖는 사원테이블의 튜플도 함께 삭제
->널 값으로 대체(nullify): 삭제연산을 수행한 뒤 삭제된 부서번호 값을 갖는 사원테이블의 튜플에서 부서번호를 null값으로 대체
CREATE VIEW VIEW_EMP2
AS
SELECT EMPID, NAME, DEPT, JOB
FROM EMP;
SELECT NAME AS 사원명, SALARY AS 급여, HIRE_DATE AS 고용일
FROM VIEW_EMP1
WHERE SALARY > 350 AND HIRE_DATE > '00/01/01';
SELECT NAME AS 사원명, JOB AS 업무내용
FROM VIEW_EMP2
WHERE JOB = '특수영업';
SELECT NAME AS 사원명, BIRTHDAY AS 생일
FROM VIEW_EMP3
WHERE BIRTHDAY LIKE '1999%';
SELECT NAME AS 사원명, BIRTHDAY AS 생일
FROM VIEW_EMP3
WHERE SUBSTR(BIRTHDAY,1,4) = '1999';
SELECT COUNT(*) 고용인원수, AVG(SALARY) 평균급여, MAX(SALARY) 최고급여, MIN(SALARY) 최저급여
FROM VIEW_EMP1;
SELECT NAME AS 사원명, JOB 업무명
FROM VIEW_EMP2
WHERE JOB LIKE '%품%';
SELECT COUNT(*) 사원수, COUNT(*) * 100 총예산
FROM EMP
WHERE SUBSTR(BIRTHDAY,1,4) > '1994' AND SUBSTR(BIRTHDAY,1,4) < '2000';