전이적 종속성
Transitive dependency전이적 의존성은 다양한 소프트웨어 요소들 사이의 전이성에 의해 유지되는 기능적 의존성이다.
컴퓨터 프로그램
컴퓨터 프로그램에서 직접 종속성은 라이브러리, API 또는 프로그램 자체에서 직접 참조하는 소프트웨어 구성요소에 의해 내보내는 기능이다.전이적 의존성은 프로그램이 직접 참조하는 구성요소에 의해 유도되는 모든 의존성을 의미한다.예: 로그() 함수에 대한 호출은 일반적으로 I/O를 관리하는 라이브러리에 대한 전이적 종속성을 유도하여 로그 메시지를 파일에 기록한다.
컴퓨터 프로그램이 어떻게 조립되고/또는 어떻게 실행되느냐에 따라 의존성과 전이적 의존성은 서로 다른 시간에 해결될 수 있다. 예를 들어 컴파일러는 의존성이 해결되는 링크 단계를 가질 수 있다.때때로 빌드 시스템은 심지어 전이적 의존성의 관리를 허용하기도 한다.[citation needed]
마찬가지로, 컴퓨터가 서비스를 사용할 때, 컴퓨터 프로그램은 프로그램을 실행하기 전에 시작해야 하는 서비스에 의존할 수 있다.이러한 경우에 타전적 종속성은 우리가 직접 의존하는 서비스가 의존하는 다른 서비스다. 예를 들어 웹 브라우저가 IP 주소의 웹 URL을 변환하기 위해 도메인 이름 확인 서비스에 의존한다. DNS는 원격 이름 서버에 접속하기 위해 네트워킹 서비스에 의존한다.리눅스 부트 시스템 systemd는 시작할 모듈의 종속성을 선언하는 일련의 구성을 기반으로 한다. 부팅 시 systemd는 시작할 각 모듈의 실행 순서를 결정하기 위해 모든 전이적 종속성을 분석한다.
데이터베이스 관리 시스템
A, B, C가 관계의 세 가지 특성(필수적으로 분리된 것은 아님)을 지정하도록 한다.다음 세 가지 조건이 모두 유지된다고 가정하십시오.
- A → B
- B → A의 경우는 아니다.
- B → C
그러면 기능 의존성 A → C (transitity의 공리에 의해 1과 3에서 뒤따르는 것)는 전이적 의존성이다.
데이터베이스 정규화에서, 제3의 정규 형태의 중요한 특징 중 하나는 특정 유형의 전이적 의존성을 배제한다는 것이다.관계형 모델의 창안자인 E.F. Codd는 1971년에 타전적 의존성과 세 번째 정상적인 형태의 개념을 도입했다.[1]
예
전이적 의존성은 다음과 같은 관계에서 발생한다.
| 책 | 장르. | 작가 | 저자 국적 |
|---|---|---|---|
| 해저 2만 리그 | SF | 쥘 베른 | 프랑스어 |
| 지구의 중심으로의 여행 | SF | 쥘 베른 | 프랑스어 |
| 풀잎 | 시 | 월트 휘트먼 | 미국인의 |
| 안나 카레리나 | 문학 소설 | 레오 톨스토이 | 러시아어 |
| 고백 | 자전적 이야기 | 레오 톨스토이 | 러시아어 |
기능적 종속성 {Book} → {Author g국적}이(가) 적용됨, 즉 책을 알면 저자의 국적을 알 수 있다.게다가:
- {Book} → {Author}
- {Author}이(가) → {Book}
- {작성자} → {작성자 국적자}
따라서 {Book} → {Author countrial}은(는) 전이적 종속성이다.
비키 속성(Author)이 다른 비키 속성(Author temperity)을 결정 중이었기 때문에(Author transitive dependency)이 발생했다.
메모들
- ^ Codd, E.F. "데이터베이스 관계 모델의 더 큰 표준화" (Courant Computer Science Sympositia Series 6, "데이터베이스 시스템", 1971년 5월 24일부터 25일까지 뉴욕시에서 발표)IBM Research Report RJ909 (1971년 8월 31일)Randall J. Rustin (ed.), Data Base Systems: Courant Computer Science Sospositia Series 6. 프렌티스 홀, 1972.제3의 정상적인 형태와 전이적 의존성에 관한 45-51페이지를 참조하라.