함수 종속 문서 원본 보기
←
함수 종속
둘러보기로 이동
검색으로 이동
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
{{위키데이터 속성 추적}} '''함수 종속'''({{lang|en|functional dependency}})이란 [[데이터베이스]]의 [[관계형 모델|릴레이션]]({{lang|en|relation}})에서 두 개의 애트리뷰트({{lang|en|attribute}}) 집합 간 제약의 일종이다. 어떤 릴레이션 '''R'''에서, '''X'''와 '''Y'''를 각각 '''R'''의 애트리뷰트 집합의 부분 집합이라 하자. 애트리뷰트 '''X'''의 값 각각에 대해 시간에 관계없이 항상 애트리뷰트 '''Y'''의 값이 오직 하나만 연관되어 있을 때 '''Y'''는 '''X'''에 '''함수 종속'''이라 하고, '''X''' → '''Y'''라고 표기한다. <ref name="Lee1"> {{서적 인용 |저자=이석호 |제목=데이터베이스 시스템 |출판사=정익사 |날짜=2005-08-15 |확인날짜=2007-06-01 |페이지=218,219}} </ref> 다시 말해, '''R''' 내의 애트리뷰트의 집합 '''X'''와 역시 '''R''' 내에 있는 또 다른 애트리뷰트의 집합 '''Y'''에 대해, 각각의 '''X''' 값에 대해 최대 한 개의 '''Y''' 값에 연관되어 있을 때, 애트리뷰트의 집합 '''X'''를 '''함수 결정'''({{lang|en|to functionally determine}})하다고 한다. '''X'''를 '''결정자'''({{lang|en|determinant set}})이라 하고, '''Y'''를 '''종속자'''({{lang|en|dependent attribute}})라고 한다.<ref name="Lee1" /> == 더 자세한 설명 == [[튜플]]이 주어지고, X 애트리뷰트의 값이 주어지면, Y 애트리뷰트의 값을 구할 수 있다. 간단히 적어서, X 와 Y가 R의 애트리뷰트 집합의 부분 집합이면, X → Y 라는 표기는, X가 각각의 Y 멤버를 '''함수적으로 결정'''한다는 뜻이다. (함수 종속에서 "함수"라는 것은 [[식별 (정보학)|식별]] 함수를 말한다.) [[후보 키]]는 릴레이션 내의 모든 애트리뷰트를 함수적으로 결정하는 최소한의 집합이다. 만약 Y 가 X의 [[부분 집합]]이면, 함수 종속 FD:<math>X\to Y</math>는, "자명하다"고 일컫는다. 함수 종속을 찾아내는 것은, [[관계형 모델]] 하의 데이터베이스를 설계한다든지, [[데이터베이스 정규화]], [[데이터베이스 비정규화]]를 한다든지 할 때, 수행하는 매우 중요한 과정 중 하나이다. 함수 종속은 [[유저 도메인]]에 맞지 않은 가능한 한 많은 데이터를 제거 하기 위한 제약을 생성하기 위해 [[애트리뷰트 도메인]]과 함께 선택된다. 예를 들어 보자. 차량과 엔진 배기량을 추적 관리하는 시스템을 설계한다고 가정하자. 각 차량에는 차량별 고유한 [[차량 식별 번호]](VIN)을 부여한다. 그러면, "VIN → 배기량" 이라고 적을 수 있다. 차량 한 대에는 배기량 하나만 있는 것이 맞는 말이기 때문이다. (이 예제에서는 차량에 엔진이 하나만 달려 있다고 가정한다.) 그러나, "배기량 → VIN"이라고 적는 것은 틀린 것이다. 같은 배기량을 가진 여러 대의 차가 있을 수 있기 때문이다. 함수 종속은 애트리뷰 "배기량"이 [[후보 키]] "VIN"과 함께 하나의 릴레이션 안에 배치될 수 있다는 가능성을 말해 주고 있다. 그러나 이러한 하나의 릴레이션 안에 배치되는 것이 항상 알맞은 일은 아니다. 예를 들어 함수 종속은 [[이행 (수학)|이행적]](transitive) 함수 종속의 결과로 나타날 수도 있다. VIN → 차량모델, 차량모델→차량배기량 위와 같은 경우 이행적(Transitivity) 함수 종속이다.<ref name="Lee1"/>의 경우 보통의 정규화된 관계가 성립되지 않는다. == 축약 불가의 함수 종속 집합 == 어떤 함수 종속 집합 S가 다음 세 가지 조건을 만족하면 축약 불가하다고 일컫는다. # 함수 종속 집합 S의 우항 애트리뷰트 집합이 각각 오직 하나의 애트리뷰트만 가진다. # 함수 종속 집합 S의 좌항 애트리뷰트 집합이 축약 불가하다. 이 말은, 좌항의 집합에서 어느 하나의 애트리뷰트라도 빼 버리면 S의 내용이 바뀔 것이라는 것을 의미한다. (S가 가지고 있는 정보가 손실될 것이라는 뜻이다.). # 함수 종속을 하나라도 삭제하면 S 의 내용이 바뀐다. 위와 같은 성질을 갖는 함수 종속들의 집합을 일컬어 연쇄적(canonical)이라고 한다. == 함수 종속의 성질 == 릴레이션 R에 대해 X,Y,Z라는 애트리뷰트의 집합이 주어졌다고 가정하자. 우리는 여러 가지 함수종속의 성질을 유도해 낼 수 있다. 그 중 유명한 것은 [[암스트롱의 공리]]이다. 이것은 데이터베이스 정규화에 쓰인다: * 부분집합의 성질(Subset Property) (반사의 공리): Y가 X의 부분 집합이면, X → Y이다. * 확대(Augmentation) (확대의 공리): 만약 X → Y이면, XZ → YZ이다. * 이행성(Transitivity) (이행의 공리): 만약 X → Y이고 Y → Z이면 X → Z이다. 이 공리에 의해 다음과 같은 부수적 법칙을 유도해 낼 수 있다. * 합집합의 성질(Union): If X → Y이고 X → Z이면 X → YZ이다. * 분해의 성질(Decomposition): X → YZ이면 X → Y이고 X → Z이다. * 유사 이행적 성질(Pseudotransivity): 만약 X → Y이고 YZ → W이면, XZ → W이다. == 암스트롱 공리의 특징 == 1) 암스트롱의 공리는 정당(sound)하며, 완전(complete)하다. 즉, 주어진 FD들의 집합 F로부터 반드시 F+에 속하는 FD들만 생성할 수 있기 때문에 정당하다. 또한 위의 세가지 법칙을 반복해서 적용하면 폐포(closure) F+에 속하는 모든 FD들을 생성할 수 있으므로 완전하다. 2) 이 법칙은 다음과 같은 성질을 갖는다. * 건전하다(sound) : 이 규칙들을 잘못된 함수 종속을 생성하지 않는다. * 완전하다(complete) : 이 규칙은 주어진 함수 종속의 집합 F에 대해서 모든 F+를 생성할 수 있다. == 같이 보기 == * [[다치 종속]] (MVD) * [[관계형 데이터베이스]] (Relational Database) * [[데이터 모델링]] == 각주 == {{각주}} {{전거 통제}} [[분류:데이터 모델링]]
이 문서에서 사용한 틀:
틀:Lang
(
원본 보기
)
틀:각주
(
원본 보기
)
틀:서적 인용
(
원본 보기
)
틀:위키데이터 속성 추적
(
원본 보기
)
틀:전거 통제
(
원본 보기
)
함수 종속
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
한국어
보기
읽기
원본 보기
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보