[SQLD 자격검정 실전문제] Part 1-2. 42번 관계와 조인
정답 : 2번
부모의 식별자를 자식의 식별자에 포함하면 식별관계, 일반속성에 포함하면 비식별관계임
1) 조인(Join)은 식별자를 상속하고, 상속된 속성을 매핑키로 활용하여 데이터를 결합하는 것을 의미한다. (O)
2) 부모의 식별자를 자식의 일반속성으로 상속하면 비식별관계 식별관계, 부모의 식별자를 자식의 식별자에 포함하면 식별관계 비식별관계 라고 할 수 있다. (X)
3) 관계를 맺는다는 것은 식별자를 상속시키고 해당 식별자를 매핑키로 활용해 데이터를 결합해보겠다는 것을 의미한다. (O)
4) "SELECT B.고객명 FROM 주문A, 고객B WHERE A.고객번호=B.고객번호" 쿼리에서 조인키(Join Key)는 "고객번호"이다. (O)
[요약 설명]
이 문제는 데이터베이스에서 관계(Relationship)와 조인(Join)의 개념, 식별자 상속, 그리고 조인키의 역할을 이해하고 있는지 평가함. 식별 관계와 비식별 관계의 차이, 조인과 동작방식 및 SQL에서 조인키의 사용방법에 대한 정확한 이해가 요구됨.
[이론적 내용]
1. 관계 (Relationship)
- 두 엔터티 간의 연관성을 의미하며, 식별자 상속 여부에 따라 식별 관계와 비식별 관계로 나뉨
- 식별 관계 : 부모 엔터티의 식별자가 자식 엔터티의 식별자(PK)에 포함되는 경우 - 실선으로 표현
- 비식별 관계 : 부모 엔터티의 식별자가 자식 엔터티의 일반속성(FK)으로 상속되는 경우 - 점선으로 표현
2. 조인 (Join)
- 두 개 이상의 테이블을 특정 조건에 따라 결합하여 데이터를 조회하는 SQL 연산
- 테이블 간의 조인을 수행할 때 기준이 되는 속성을 조인키(Join Key)라고 함
- ex) SELECT B.고객명 FROM 주문A, 고객B WHERE A.고객번호 = B.고객번호 -> 여기서 조인키는 고객번호임
3. 조인의 동작
- 조인 연산은 관계형 데이터베이스에서 테이블 간의 관계를 기반으로 데이터를 결합함
- 조인 조건이 올바르지 않으면 결과가 정확하지 않거나 성능 문제가 발생할 수 있음
4. 식별자 상속과 조인의 차이
- 관계에서는 식별자를 상속하여 엔터티 간의 참조 무결성을 유지함
- 조인은 단순히 테이블 간의 데이터를 결합하는 SQL 연산으로, 상속 개념과는 구별됨