Certification/SQLD 개발자

[SQLD] 1단원 21-30문제

개발자하소서 2023. 11. 13. 06:54
728x90
반응형
SMALL

 

 

더보기

정답 : ②

 

-관계 표기법은 관계명/관계차수/선택성 3개지 개념으로 표현한다.

 

관계의 분류

관계는 존재에 의한관계 행위에 의한 관계로 분류된다.

  • 존재에 의한 관계
    - 예) "컴퓨터학과에 홍길동이라는 사람이 있다." 와 같이 어떠한 행위로 인한 것이 아니라 존재 여부로 인한 관계

 

  • 행위에 의한 관계
    - 예) "홍길동 학생이 SQLD 기초 과목을 수강 신청한다." '신청한다'라는 행위에 의해 발생한 관계

 

 

 

 

 

 

 

더보기

정답 : ② 관계차수

 

관계란?

  • 상호 연관성이 있는 상태(사전적 정의)
  • 엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태

 

관계차수(Degree/Cardinality)

 

두 개의 엔터티간 관계에서 참여자의 수를 표현하는 것을 관계차수(Cardinality)라고 한다.

가장 일반적인 관계차수 표현방법은 1:M, 1:1, M:N이다.

가장 중요하게 고려해야 할 사항은 한 개의 관계가 존재하느냐 아니면

두 개 이상의 멤버쉽이 존재하느냐를 파악하는 것이 중요하다.

 

관계차수를 표시하는 방법은 여러 가지 방법이 있지만 Crow's Foot 모델에서는 선을 이용하여 표현한다.

한 개가 참여하는 경우는 실선을 그대로 유지하고 다수가 참여한 경우는 까마귀발 모양으로 그려준다.

 

 

 

 

 

더보기

정답 : ③

 

3. 업무기술서, 장표에 관계연결을 가능하게 하는 명사(Noun)가 있는가?

-> 업무기술서, 장표에 관계연결을 가능하게 하는 동사(Verb)가 있는가?

 

- 동사는 관계를 서술하는 업무 기술서의 가장 중요 사항이다.

 

 

 

 

 

 

 

더보기

 정답 : ④ 가, 나 , 다, 라

 

[관계 정의와 읽기]

* 관계 체크사항

 - 두 개의 엔티티 사이에 관심있는 연관 규칙이 존재하는가

 - 두 개의 엔티티 사이에 정보의 조합이 발생되는가

 - 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가

 - 업무기술서, 장표에 관계연결을 가능하게 하는 동사가 있는가

 

* 관계 읽기

 - 기준 엔티티source를 한 개one 또는 각each으로 읽음

 - 대상 엔티티target의 관계참여도 (개수)를 읽음

 - 관계선택사양과 관계명을 읽음

 

 

 

 

더보기

정답 : ④ 가,나,다,라

 

Q. 주식별자를 지정할 때 고려해야 할 사항은?

 

1) 주식별자에 의해 엔터티 내의 모든 인스턴스들이 유일하게 구분되어야 한다.

 

2) 주식별자를 구성하는 속성의 수유일성을 만족하는 최소의 수가 되어야 한다.

 

3) 지정된 주식별자의 값은 자주 변하지 않는 것이어야 한다.

 

4) 주식별자가 지정되면 반드시 값이 들어와야 한다.

 

 

 

 

 

더보기

정답 : ④

 

4. 인조식별자

-> 사원의 식별자인 사번은 대표성이 있는 주식별자이고, 하나의 속성으로만 이루어진 단일식별자이고,

엔터티 내부에서 스스로 만들어진 내부식별자이고, 업무에 의해 만들어진 본질식별자이다

 

 

대체 여부

본질식별자 / 인조식별자인데

 

본질식별자업무에 의해 만들어지는 식별자입니다.

 

인조식별자는 업무적으로 만들어진건 아니고 인위적으로 만든 것입니다.

 

 

 

 

 

더보기

정답 ②

 

-> 이름: VARCHAR2(20) 

=> 식별자는 이름으로 적히는 것은 사용을 지양한다.

     또한 이름의 경우 동명이인이 있을 수 있기에 유일성을 가지지 못할 가능성이 있어서

     식별자로 사용하기에 부적절하다.

 

 

 

주식별자의 특징?

유일성 : 주식별자에 의해 엔터티내에 모든 인스턴스들을 유일하게 구분할 수 있다.

최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함.

불변성 : 주식별자가 한 번 특정 엔터티에 지정되면 그 식별자의 값은 변하지 않아야 함. 

존재성 : 주식별자가 지정되면 반드시 데이터 값이 존재해야한다. Null은 허용되지 않는다.

 

 

 

 

 

 

더보기

정답 : ② >가,다 

 

=> 명칭, 내역 등과 같이 이름으로 기술 되는 것을은 주식별자로 지정하지 않는다.

 

자주 수정되지 않는 속성을 주식별자로 지정한다.

 

해당 업무에서 자주 이용되는 속성을 주식별자로 지정한다.

 

복합으로 주식별자를 구성할 경우 너무 많은 속성을 포함하지 않도록 한다.

 

 

 

 

 

 

 

 

 

더보기

정답 : ④

 

4.부모엔터티의 주식별자를 자식엔터티에서 받아 손자엔터티까지 계속 흘려보내기 위해 비식별자관계를 고려한다.

 

-> 부모엔터티의 주식별자를 자식엔터티 이후에 다른 엔터티까지 전달하기 위해서는 식별자 관계를 사용하는 것이 더 적합하다.

 

=> 비식별자 관계를 고려하는 상황

- 약한 연결관계 표현

- 자식테이블의 독립적인 Primary Key 필요

- SQL복잡도가 증가하여 개발생산성이 저하

 

비식별자?

식별자관계는 주식별자에 종속되는 것이었다면 비식별자는 그렇지 않습니다.

 

비식별자는 '약한 연결관계이고, 부모엔터티와 자식엔터티 간에 상호작용이 의무가 아닌 선택사항이다'

 

 

  • 1번부터 봅시다. '연관성이 약할 경우' 라는 말이 나왔네요? 그럼 비식별자입니다.
  • 2번 봅시다. 자식테이블에서 독립적인 PK구조 라는 말이 나왔습니다. 부모와 자식 사이가 종속적인게 아니라 독립적이므로 약한 연결관계입니다. 비식별자입니다.
  • 3번 봅시다. 제가 설명했던 특징은 아니지만, 여기서 중요한 키워드는 '복잡성이 증가되는 것을 방지' 입니다. 이것 역시 비식별자의 중요한 특징입니다. 외웁시다.
  • 4번은 부모엔터티의 주식별자 -> 자식 -> 손자엔터티와 같은 유대관계를 보이고 있습니다. 이런 연결관계는 비식별자보단 상대적으로 강한 식별자관계의 특징에 해당합니다.

 

 

 

 

 

더보기

정답 : ②

 

2. 부모엔터티의 인스턴스가 자식엔터티와 같이 소멸되는 경우

-> 부모엔터티가 사라져도 자식엔터티가 남아있어야 할 때 비식별자 관계를 고려한다.

728x90
반응형
LIST

'Certification > SQLD 개발자' 카테고리의 다른 글

[SQLD] 1단원 41-52문제  (0) 2023.11.13
[SQLD] 1단원 31-40문제  (0) 2023.11.13
[SQLD] 1단원 11-20 문제  (0) 2023.11.13
[SQLD] 1단원 1-10문제  (0) 2023.11.13
[SQLD] SQLD 문제 풀이 41-50  (1) 2023.10.14