- 주식별자 도출기준



부서와 사원의 관계에서 보면, 부서가 존재해야 사원이 존재할 수 있기 때문에
부서가 강한 개체, 사원이 약한 개체가 된다.
- 식별관계와 비식별관계


- 2 정규화 설명


완전 함수 종속을 위반하는 key를 찾아서 pk로 부터 분리하는 것이 제 2정규화.
- 제 3 정규화






- 나머지 정규화 ( 보기만 해두기 )


- 반정규화


- 관계

부모 테이블 = 먼저 있어야 하는 데이터
→ 부서가 먼저 있고 그 다음에 사원이 존재
→ 부서가 부모 테이블이 된다.

→ 존재적 관계 와 행위적 관계
- 조인




→ FROM 절에서 조인을 수행할 두 테이블을 적어준다.
테이블에 대한 ALIAS(별칭)을 지정할 수 있다,
오라클에서는 WHERE절에 연결고리 (=)를 작성하고,
일반 조건도 WHERE 절에 작성해준다 ( 2개니까 AND를 사용했음 )
- 셀프조인

자기 자신끼리 관계를 가지고 있는경우, 즉 인스턴스끼리 계층 구조를 가지는 경우에
이걸 연결하는 조인을 셀프조인이라고 한다. ( 계층형 데이터 모델 )

→ 1번 인스턴스와 13번 인스턴스를 보면 같은 엔티티내에서 인스턴스 끼리 관계를 가지고 있다. → 이게 계층형 데이터 모델이다.
각 사원의 정보와 매니저의 이름을 같이 출력하고 싶으면
셀프 조인을 해야함! ( ⇒ 똑같은 테이블을 2번 넣음 )

테이블 명이 같으니까 ALIAS가 필수. ( E1, E2 )
- 상호 배타적 관계

- 트랜잭션

→ 트랜잭션에 의한 관계는 필수적인 관계 형태를 가짐


- NULL



오라클 NULL 치환함수인 NVL을 사용해서 계산하면 합계가 나온다 : )




→ 커미션이 주어진 행에 대해서만 평균을 계산할 거야 ! → AVG(COMM)
→ 전체 수에 대한 평균을 구할거야! → SUM(COMM) / COUNT(*)

- 본질 식별자와 인조식별자



→ 간단히 말해서 하나의 주문에 여러개의 상품을 주문하는게 어렵다는 뜻인거 같음



→ 주문순번을 지정하기 위해서는 몇개의 주문이 들어왔는지 세어서 넣어줘야하는 불편함이 있음


→ 인조식별자 단점 :
실수로 똑같은 데이터를 또 넣었을 때 ( 주문상세번호 1, 2 에 해당 )
중복값이 실수로 들어갔을 때 배제시킬 수 없다!
주문상세번호가 PK이니까 나머지는 중복이 허용되기 때문

reference : https://youtu.be/rdfHFnqVoRw?si=zxa6-u9BWzVp-f0h
Share article