책 내용 질문하기
356
도서
2020 시나공 정보처리기사 필기 : NCS 기반 전면 개편 [기본서]
페이지
356
조회수
343
작성일
2020-03-06
작성자
탈퇴*원
첨부파일
문제 28번에 보기1,3 번 하고 문제 29번에 ㄴ좀 이해되게 설명해주세요. 예제를 들면서 설명해주세요. 글로만 되있으니까 이해가 하나도 안되네요. 아무리 인터넷 뒤져봐도 이런말은 없는데요
답변
2020-03-09 14:14:37

안녕하세요 길벗수험서 운영팀입니다.

 

해당 문구들과 설명들은 기존 기사시험의 DB파트에서 나온 문제들의 문구들을 인용한 것입니다.

 

[28-1]

무손실 조인은 무손실 조인 분해를 의미하는 것으로 나뉘어진 2개의 관계를 합쳤을 때, 원래 가지고 있던 테이블에서 어떠한 데이터 손실이 없다는 것을 의미합니다. '정규화'의 기본 원칙 상 데이터 손실이 존재하면 안되기에 어떤 정규형에도 적용되야합니다.

종속성 보존은 속성 간 종속성이 분해로 인해 손실되지 않는다는 의미인데, 3정규화의 원칙인 이행적 함수적 종속 제거는 {A, B, C} 릴레이션에서 A->B->C 라는 경우를 없애는 것입니다.

이 경우 릴레이션으로 {A, B}, {B, C}로 분할하여 구성이 가능하니, 종속성이 손실될 여지가 존재하지 않죠.

(A->B, B->C라는 종속성은 유지되나 릴레이션이 나누어져 있어 하나의 릴레이션에 A->B->C가 발생할 수 없습니다.)

 

[28-3]

ABC 릴레이션에서 (A, B)->C, (A,C)->B, C->B 와 같은 종속성을 가지고 있을 때, 릴레이션이 { (A', B'), C } 형태를 가지고 있다면 { A', C' }, { C', B } 형태로 분할합니다. 

( ' 는 키속성을 의미합니다. C가 결정자이면서 키가 아니기 때문에 정규화를 수행하죠. ) 

이 때 릴레이션을 보면 (A, B)->C, (A,C)->B라는 종속성이 손실된 것을 알 수 있습니다. 복합 속성이 분할되면서 복합 속성과 연관된 종속성이 사라진 셈이죠.

 

[29-ㄴ]

각 정규형은 반드시 선행 정규형이 준수되어야 합니다.

정규형의 순서를 기억하세요.

비정규 - 1NF - 2NF - 3NF - BCNF - 4NF - 5NF

3정규형을 만족하면서 BCNF가 아닌 건 있을 수 있지만, BCNF를 만족하면서 3정규형이 아닌건 있을 수 없습니다.

 

행복한 하루되세요 :)

  • 관리자
    2020-03-09 14:14:37

    안녕하세요 길벗수험서 운영팀입니다.

     

    해당 문구들과 설명들은 기존 기사시험의 DB파트에서 나온 문제들의 문구들을 인용한 것입니다.

     

    [28-1]

    무손실 조인은 무손실 조인 분해를 의미하는 것으로 나뉘어진 2개의 관계를 합쳤을 때, 원래 가지고 있던 테이블에서 어떠한 데이터 손실이 없다는 것을 의미합니다. '정규화'의 기본 원칙 상 데이터 손실이 존재하면 안되기에 어떤 정규형에도 적용되야합니다.

    종속성 보존은 속성 간 종속성이 분해로 인해 손실되지 않는다는 의미인데, 3정규화의 원칙인 이행적 함수적 종속 제거는 {A, B, C} 릴레이션에서 A->B->C 라는 경우를 없애는 것입니다.

    이 경우 릴레이션으로 {A, B}, {B, C}로 분할하여 구성이 가능하니, 종속성이 손실될 여지가 존재하지 않죠.

    (A->B, B->C라는 종속성은 유지되나 릴레이션이 나누어져 있어 하나의 릴레이션에 A->B->C가 발생할 수 없습니다.)

     

    [28-3]

    ABC 릴레이션에서 (A, B)->C, (A,C)->B, C->B 와 같은 종속성을 가지고 있을 때, 릴레이션이 { (A', B'), C } 형태를 가지고 있다면 { A', C' }, { C', B } 형태로 분할합니다. 

    ( ' 는 키속성을 의미합니다. C가 결정자이면서 키가 아니기 때문에 정규화를 수행하죠. ) 

    이 때 릴레이션을 보면 (A, B)->C, (A,C)->B라는 종속성이 손실된 것을 알 수 있습니다. 복합 속성이 분할되면서 복합 속성과 연관된 종속성이 사라진 셈이죠.

     

    [29-ㄴ]

    각 정규형은 반드시 선행 정규형이 준수되어야 합니다.

    정규형의 순서를 기억하세요.

    비정규 - 1NF - 2NF - 3NF - BCNF - 4NF - 5NF

    3정규형을 만족하면서 BCNF가 아닌 건 있을 수 있지만, BCNF를 만족하면서 3정규형이 아닌건 있을 수 없습니다.

     

    행복한 하루되세요 :)

  • 관리자
    2020-04-07 10:17:46

    안녕하세요 길벗수험서 운영팀입니다.

     

    정규화에 대해서는 기사 필기 수준에서는 실제 테이블을 분해하거나 각 속성 간의 종속성을 추적하는 등의 심화문제는 나오지 않습니다.

    교재에 나온 정도의 개념만을 확실히 숙지하면 된다는 점 염두에 두시기 바랍니다.

    (섹션에 별도의 설명을 두지 않고, 문제의 보기로만 넘어간 것은 그만큼 중요도가 떨어지기 때문입니다.)

     

    다음은 기존의 출제기준에 따른 2019 기사 교재의 BCNF 설명과 예제 입니다.

     

    • BCNF

    - BCNF는 테이블 R에서 모든 결정자*가 후보키(Candidate Key)인 정규형이다.

    - 일반적으로 제 3정규형에 후보키가 여러 개 존재하고, 이러한 후보키들이 서로 중첩되어 나타나는 경우에 적용 가능하다.

    - 아래의 <수강_교수> 테이블(제 3정규형)은 함수적 종속{(학번, 과목명) → 담당교수, (학번, 담당교수) → 과목명, 담당교수 → 과목명}을 만족하고 있다. <수강_교수> 테이블의 후보키는 (학번, 과목명)과 (학번, 담당교수)이다.

     

    - <수강_교수> 테이블에서 결정자 중 후보키가 아닌 속성이 존재한다. 즉 함수적 종속 담당교수 → 과목명이 존재하는데, 담당교수가 <수강_교수> 테이블에서 후보키가 아니기 때문에 <수강_교수> 테이블은 BCNF가 아니다.

     

    <수강_교수> 테이블에서 결정자가 후보키가 아닌 속성을 분리하여 만든 BCNF


     

    -----------

    BCNF를 강한 제3정규형이라고도 부릅니다.

    BCNF 정규화를 수행하면서 후보키가 제거될 때 기존의 함수적 종속이 보존되지 않을 수 있습니다. (위의 예제에서는 (학번, 과목명) -> 담당교수  라는 종속 상실)

    제약조건은 BCNF의 일종의 특징입니다. 문구 그대로밖에 해석할 수 밖에 없는데, '왜' 라고 하신다면 그러한 특징을 가져야 BCNF라고 부르기 때문입니다.

     

    정규화는 중복을 제거하는 것이 맞습니다.

    종속성은 전혀 다른 문제입니다.

    'A의 값을 B가 결정한다'가 종속성인데, 각 정규화에서 종속성의 여부는 해당 정규화의 특징에 따라 특정 종속성을 제거하거나 이용하는 것이죠.

     

    각 정규화는 말만 어려울뿐 기존의 데이터를 정해진 기준으로 얼마나 잘게 쪼개냐의 문제입니다. 기사 시험에서는 교재에서 제시한 내용들 외에는 더 심화한 문제는 나오지 않는다는 점 염두에 두시기 바랍니다.

     

    행복한 하루되세요 :)

  • *
    2020-04-06 22:58:35

    343쪽에 bcnf 정규형 설명을 예를 들어서 설명해주세요

    예시가 없으니까 모르겠어요.

    강한 3정규형은 뭔지, 또 왜 모든 bcnf가 종속성을 보존하지 않는지,

    그리고 bcnf제약조건도 다 설명해주세요

     

     

    정규화는 이상을 제거하기위해서 중복성하고 종속성도 없애야하나요?

    그럼 종속성 제거도 맞는건가요?

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.