본문 바로가기

함수종속

24. DB 정규화(normalization) - Part 2 3Normal Form(3NF) EMPLOYEE_ACCOUNT Table의 FD를 시각화한 것이다. 그런데 테이블의 {empl_id,empl_name}을 보면 중복된 데이터가 너무 많은 것을 알 수가 있다. 왜 저 부분에서 중복된 데이터가 발생할 수밖에 없는지, 원인을 살펴보자. 우선, empl_id -> empl_name이라는 FD 관계에 있다. 그리고 account_id(key) -> empl_id이다. 위 2가지 FD를 좀 더 그림으로 이해해 보자. Key가 {bank_name.account_num}일 때에도 위와 같은 이유로 중복이 발생을 한다. 모든 non prime attribute는 여기서는 {class,ratio, empl_id, empl_name}에 해당 key는 {bank_name,ac.. 더보기
22.함수 종속(Functional Dependency) 위의 정의를 따라도 되지만, 나는 x의 값에 대응하는 y의 값이 오로지 1개만 있을 때, y는 x에 종속된다 or x는 y를 결정한다 라고 정의를 하겠다. 종속 관계를 위 그림의 기호로 나타낼 수가 있다. (x에 대한 y값이 오로지 1개만 존재하는 관계) Jinho라는 x값에 대해 y값이 2개가 존재하므로, 위 경우는 FD가 존재하지 않는다. 위와 같이, 테이블의 특정 부분과 특정 시점의 테이블을 보고 FD를 생각해서는 안된다. 테이블의 스키마(Schema)를 보고 의미적으로 FD가 존재하는지 파악해야 한다. (아래 참조) 위 경우는 FD이다. 위 경우는 FD가 아니다. 왜냐하면 empl_id에 대해서 dept_id가 2개 이상 존재할 수가 있기 때문이다. 1. x->y라고 해서, 반드시 y->x가 존재.. 더보기