해결된 질문
작성
·
34
1
안녕하세요, 좋은 강의 감사드리며 단원 정리 문제 (ch1, part2) 중 일부 선지에 대한 이해를 위해 질문드립니다.
6번 'relation'의 참여도에 관한 설명으로 옳지 않은 것을 고르는 문제에서, 1번 선지 '관계는 최소 한 개 이상의 엔터티와 연결된다.'라는 표현이 불명확하게 느껴졌습니다. 관계는 최소 두 개 이상의 엔터티들간의 관계로 이해하였기 때문입니다. 해당 선지는 한 엔터티에서 그것과 다른 엔터티를 가정했을 때의 경우일까요? 혹은, 제가 선지를 다르게 이해했어야 한 부분이 있을까요?
7번 1:m의 관계를 고르는 문제에서, 정답에 의하면 학생-강의, 강사-과목, 주문-주문 상세가 모두 1:m의 관계였습니다. 그러나 학생과 강의를 생각하면 현실 세계에서 한 강의에서도 학생이 여러 명일 수 있고 한 과목을 가르치는 강사가 여러 명일 가능성으로 m:n 관계로 볼 순 없을까요? 기출문제 등지에서 유사한 문제가 자주 출제되던데, 이렇게 현실의 예외를 하나하나 생각하면서 접근하는 것이 맞는 방법일까요?
8번의 Join의 목적과 관련하여, 테이블 간의 관계를 명확히 정의하는 것과 Join이 어떻게 연결되는지 이해가 잘 가지 않습니다. (선지 2번)
12번 '본질 식별자를 사용하는 경우의 장점'으로 선지 1번은 적절한 경우에 해당했습니다만, '데이터의 의미를 쉽게 유추할 수 있다'라는 것이 보안이 중요한 상황에서는 단점으로 생각되었습니다. 식별자의 보안을 고려하기보다는 그 명료성에 초점을 맞춰야 하겠지요?
12번의 2번 선지, '데이터의 일관성을 높일 수 있다.'의 이유를 본질식별자를 사용할 경우 본질식별자 자체의 데이터가 변경될 확률이 낮기 때문으로 이해하면 될까요? 다소 결과적으로 느껴졌습니다.
감사합니다!
답변 1
1
안녕하세요. 엄청 덥네요. 더운데 공부 하느라, 수고가 많으세요. 🙂
아래와 같이 질문에 답변드립니다. 그럼 수고하시구요. 감사합니다.
6번 'relation'의 참여도에 관한 설명으로 옳지 않은 것을 고르는 문제에서, 1번 선지 '관계는 최소 한 개 이상의 엔터티와 연결된다.'라는 표현이 불명확하게 느껴졌습니다. 관계는 최소 두 개 이상의 엔터티들간의 관계로 이해하였기 때문입니다. 해당 선지는 한 엔터티에서 그것과 다른 엔터티를 가정했을 때의 경우일까요? 혹은, 제가 선지를 다르게 이해했어야 한 부분이 있을까요?
문제의 보기가 생각하기에 따라 애매하게 느껴질 수 있겠네요. 하나의 엔터티는 다른 엔터티와 관계를 가져야 한다는 면에서 보면, 하나 이상이라는 표현이 적절 할 것입니다. 하지만 관계 입장에서 보면 참여하는 엔터티가 두 개 이상이어야 관계가 맺어지겠죠.
참고로, 실제 현업에서는 관계를 가지지 않은 엔터티도 있습니다. 예를 들어, 코드 테이블 같은 것은 굉장히 많은 엔터티들이 참조를 해서 사용합니다. 이런 경우 모델링의 편의상 관계를 끊어 놓기도 합니다.
모든 출제 문제들의 문장이 항상 명확하지는 않습니다. 출제자에 따라서 문장이 불명확 한 것들이 꽤나 많습니다. 그래서 '가장 적절한 것' 혹은 '가장 부적절한 것'을 찾아서 정답으로 선택하시는 게 좋습니다.
7번 1:m의 관계를 고르는 문제에서, 정답에 의하면 학생-강의, 강사-과목, 주문-주문 상세가 모두 1:m의 관계였습니다. 그러나 학생과 강의를 생각하면 현실 세계에서 한 강의에서도 학생이 여러 명일 수 있고 한 과목을 가르치는 강사가 여러 명일 가능성으로 m:n 관계로 볼 순 없을까요? 기출문제 등지에서 유사한 문제가 자주 출제되던데, 이렇게 현실의 예외를 하나하나 생각하면서 접근하는 것이 맞는 방법일까요?
현실의 예외를 하나하나 생각하는 것 보다는 문제와 보기에 한정해서 가장 적절한 것을 찾는 것이 좋을 거 같네요. 왜냐하면 현실은 매우 복잡하기 때문에, 요구사항에 따라 1:m의 관계가 될 수도 있고 m:n 의 관계가 될 수도 있기 때문입니다.
8번의 Join의 목적과 관련하여, 테이블 간의 관계를 명확히 정의하는 것과 Join이 어떻게 연결되는지 이해가 잘 가지 않습니다. (선지 2번)
우선 주요 목적이 아닌 것을 선택하는 문제이기 때문에 정답은 4번이 됩니다.
보기 2번 같은 경우는 'SQL 문장에서' 라는 말을 앞에 붙이면 이해하기가 쉽습니다. 보기 2번은 SQL 문장에서라는 말이 생략된 것이라고 보는 게 좋겠습니다.
12번 '본질 식별자를 사용하는 경우의 장점'으로 선지 1번은 적절한 경우에 해당했습니다만, '데이터의 의미를 쉽게 유추할 수 있다'라는 것이 보안이 중요한 상황에서는 단점으로 생각되었습니다. 식별자의
보안을 고려하기보다는 그 명료성에 초점을 맞춰야 하겠지요?
식별자를 보안과 연결하기에는 좀 무리가 있어 보입니다. 보안은 데이터 침해, 유출 등과 연결시켜 생각하는 게 좋겠어요.
12번의 2번 선지, '데이터의 일관성을 높일 수 있다.'의 이유를 본질식별자를 사용할 경우 본질식별자 자체의 데이터가 변경될 확률이 낮기 때문으로 이해하면 될까요? 다소 결과적으로 느껴졌습니다.
본질식별자 자체의 데이터가 변경될 확률이 낮기 때문으로 이해하기는 어려울 거 같고요. 인조식별자는 데이터의 의미와 관계없이 생성되기 때문에, 본질 식별자가 상대적으로 데이터의 일관성이 높다라고 이해하는 게 좋겠어요.
다소 결과적으로 느낄 수 있겠네요. 문제에 한정해서 생각하는 게 좋겠습니다. 가장 절절하지 않은 것을 찾으면 문제를 보다 쉽게 풀 수 있습니다.