생활
SQL 차수와 카디날러티 이해가 안갑니다...
SELECT * FROM Student s, Department d WHERE
s.dept > 100
s dept는 d dno참조
차수 8 카디널리티 9 인데
조인하면 차수 8 카디널리티 3아닌가요?

55글자 더 채워주세요.
2개의 답변이 있어요!
안녕하세요.
관계 데이터베이스의 쿼리 조인에 대해 질문주셨는데요.
위의 문제의 경우 조건중 s.dept> 100 외의 외래키를 잡는 조건이 없습니다.
이 경우 s.dept > 100의 조건에 만족하는 student의 김철수, 이원영, 홍남순의 행과 department의 3개의 행이 조인되어
김철수 - (sno)100, 200, 300
이원영 - (sno)100, 200, 300
홍남순 - (sno)100, 200, 300
이렇게 student의 소속(dept)과 department의 코드(sno)의 관계없이 조건에 맞는 조인을 하게됩니다.
하여 카티널리티는 9가 되겠습니다.
혹 s.dept = d.dno의 조건이 있을 경우엔 카디널리티가 3이 됩니다.
s.dept > 100
여기서 3건
s dept는 d dno참조 <= 조인을 말씀하시는거 맞으시면
카디날리티는 3 이 맞습니다.
문제에서 요구하는 답이 카디날리티가 9 라면 문제를 다시한번 정확하게 올려주셔야 할듯 합니다.
컬럼의 타입이 있다면 그것 까지요