아하
생활

생활꿀팁

힘찬닭191
힘찬닭191

SQL 차수와 카디날러티 이해가 안갑니다...

SELECT * FROM Student s, Department d WHERE

s.dept > 100

s dept는 d dno참조

차수 8 카디널리티 9 인데

조인하면 차수 8 카디널리티 3아닌가요?

55글자 더 채워주세요.
2개의 답변이 있어요!
  • Tov
    Tov

    안녕하세요.

    관계 데이터베이스의 쿼리 조인에 대해 질문주셨는데요.

    위의 문제의 경우 조건중 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 라면 문제를 다시한번 정확하게 올려주셔야 할듯 합니다.

    컬럼의 타입이 있다면 그것 까지요