본문 바로가기

2021 정보처리기사/3과목: 데이터베이스 구축

[2021 정보처리기사-3과목] 관계의 개념과 표현(종속,배타,재귀)

728x90
반응형
[정보처리기사 3과목 필기 예상 키워드] 목록으로 돌아가기
과목: 3. 데이터베이스 구축
챕터: 1장 논리 DB 설계
키워드: 관계의 개념과 표현
 #관계 표현 (1:0, 1:1, 1:다)
#종속관계
#배타관계
#재귀관계

 

 

 

관계의 개념

관계라는 것은 둘 이상의 개체를 의미 있게 연결한 상태를 뜻한다.

 

 

 

 

관계의 표현 ( 1 : 1 )


관계된 개체의 데이터가 중복없이 1개씩 존재하는 형태

(ex. 주민번호표로 이해하기. 예를 들어 주민번호를 기준으로 왼쪽은 거주지 정보, 오른쪽은 근무지 정보를 나타내는 테이블에서 각 테이블의 주민번호는 1:1의 관계(데이터 갯수가 같음)라고 할 수 있다. 거주지 정보와 근무지 정보 테이블을 합쳐서 표현할 수도 있지만, 특정 속성을 기준으로 분리하게 되면 데이터 보안이 용이해지기 때문에 개체를 분리해서 사용하는 경우가 많다)

 

 

 

 

관계의 표현 ( 1 : 0 )

한 쪽에 비해 다른 한 쪽은 없는 경우
(ex. 코로나검사표 로 이해하기. 주민번호를 기준으로 왼쪽은 지역주민 전체의 정보, 오른쪽은 코로나 검사를 받은 주민의 정보만 기록되는 테이블. 검사를 받지 않는 주민에 대해서는 아직 기록할 데이터가 없으니까 1:0 또는 1:1 관계가 성능에 조금 더 긍정적일 수 있다)

 

 

 

 

관계의 표현 ( 1 : 다 )  = 1:N, 1:M

한 쪽은 1개씩 존재하는데, 다른쪽은 1개 이상 존재하는 형태로 가장 보편적이다.
(ex. 쇼핑몰 주문내역으로 이해하기. 회원 별로 여러번 주문할 수도 있고 같은 품목을 다시 주문할 수도 있기 때문에 1:1은 불가능하며 1:다(또는 1:N, 1:M)가 적절한 표현이 된다. 데이터의 접근 빈도나 성능, 보안 여부에 따라 개체를 나누고 관계를 맺는다)

 

 

 

 

관계의 표현에서 ( 다 : 다 ) 표현이 불가능한 이유

회원목록과 상품목록 두 가지 테이블에서 하나의 상품을 여러 회원이 주문하거나, 하나의 회원이 여러 상품을 주문하는 경우  (다 : 다) 가 되는데, 종속성 판단이나 정규화, 문서화가 불가능해진다. 이럴 때는 새로운 관계 개체를 추가하여 관계 설정시 놓쳤던 규칙을 설정한다.

회원목록와 상품목록 사이에 주문내역 테이블이 추가적으로 존재한다면 회원목록의 회원번호와 주문내역 테이블의 회원번호가 1:다관계로, 상품목록의 상품번호와 상품목록의 상품번호가 1:다 관계로 설정되기 때문에 다:다 관계가 해소된다.

 

 

 


 

 

 

관계의 종류 (종속,  재귀, 배타)

관계는 처리하는 업무 형태에 따라, 어느 개체를 기준으로 잡느냐에 따라 방향과 관계가 파악된다. 학번, 사원 테이블을 상상하면서 아래의 관계를 이해해보자

종속관계(식별관계)
외래 식별자가 주 식별자(이거나 포함)


(ex. 학번 테이블의 주 식별자인 "학번" 속성을 "납부번호"가 주 식별자인 납부테이블에 가져와 "납부번호"와 함께 묶어 주 식별자로 사용할 경우, 외래 식별자를 주 식별자로 사용하거나 주 식별자에 포함한 경우이므로 식별관계라고 할 수 있다.)

종속관계(비식별관계)
외래 식별자가 일반 속성이 된다


(ex. 학과코드 테이블의 주 식별자인 "학과코드"를 "학번"이 주 식별자인 학번테이블의 일반속성으로 사용할 경우, 외래 식별자를 일반속성으로 사용한 관계이기 때문에 비식별관계라고 할 수 있다.)

재귀관계
속성이 자기 자신을 다시 참조하는 관계


(ex. 사원코드 테이블에서 사원코드 A001번인 김철수사원이 사원코드 A002번인 김미현사원의 선임사원이며, 선임사원코드에 사원코드 A001번을 재참조하는 경우 사원코드와 선임사원코드 두 가지 속성은 재귀관계라고 할 수 있다. 데이터가 아닌 속성을 다시 참조한다는 것이 중요한 포인트이다. 같은 개체 안에서 속성을 가져와서 별명을 붙이고 재사용한다고 보면 된다)

배타 관계
배타 관계(Exclusive Relationship)


특정 품목코드를 각각 "제품 테이블-이름,원가,제조시간"/ "상품 테이블-이름,거래처,단가"의 주식별자로 사용하고, "판매 테이블-분류-품목명-판매금액"에서 다시 주식별자로 사용하는 경우, 판매 테이블은 두 테이블의 데이터를 한 그룹으로 통합해서 관리할 수 있게 된다. 이런 형태를 배타적 논리합(개체 중복가능) 관계라고 할 수 있다

 

 

 

 

 

 


 

 

[2021 정보처리기사 필기 총정리] 3과목 (상시업데이트)

목차 2021년 정보처리기사 공부를 위해 각 과목/챕터 별 Best 키워드를 정리해 놓은 글입니다. 시나공 문제집의 기출빈도와 중요도를 기준으로 정리된 키워드들이며, 순서와 관계 없

y-oni.tistory.com

참고: 시나공 정보처리기사 필기 (저자: 강윤석, 김용갑, 김우경, 김정준 | 출판사: 길벗), 유튜브 주간컴공TV

728x90