1

설정 :혼란에 대한 함수 종속이 다음 테이블 정의 감안할 때

트럭을 (TruckNum, TruckType, TypeDesc, TruckMiles, DatePurchased, TruckSerialNum, BaseCity,은 BaseState, BaseNum, BaseManagerName, ManagerPhone, BasePhone)

I 기능적 종속성의 목록을 설정해야합니다.

지금까지 내가 가진 :

FDs = {TruckNum -> TruckType, TypeDesc, TruckMiles, DatePurchased, TruckSerialNum, BaseNum 

    BaseNum -> BaseCity, BaseState, BasePhone 

    BaseManagerName -> ManagerPhone} 

나는 또한 다음과 같은주의 사항/제한 주어진 해요 :

  1. 트럭은 하나의 기초에 근거한다.

  2. 많은 트럭의 기본이 될 수 있습니다.

어쨌든, 내가 가지고있는 문제는 실제로 매우 간단하고 (아마) 완전 초보자 틱. 저를 혼란스럽게하는 것은 BaseNum입니다.

공지 사항 난이 있습니다

TruckNum -> (...) BaseNum

다음

BaseNum -> (...)

내가 BaseNum을 사용하고 방법을 참조하십시오 두번? 허용됩니까?

1NF에 대한 정의는 테이블에 반복 그룹이 없어야한다는 것입니다. 그러나 FD 정의가 아닌 테이블 정의만을위한 것이 아닙니까? 나는 혼란스러워.

답변

0

귀하의 상황을보고 이해 한 바로부터 올바른 방향으로 가고 있습니다.

당신은 속성 목록을 가지고 있으며 정규화 중에 (실제로는 1NF보다 훨씬 앞선 것입니다.), 그것은 당신이 BaseNum을 Trucks tbl의 속성으로 사용한다는 것을 완벽하게 잘 보여줍니다.

기능 의존성을 PK/FK 쌍으로 쉽게 변환 할 수 있습니다. 그런 관점에서, 당신은 또한 올바른 방향으로 가고 있습니다.

+0

감사합니다. 나는 단지 확신 할 필요가 있었다. 내 대학 과정의 강사가 1NF가 무엇인지에 대해 다소 모호한 정의를 썼기 때문에 나는 실망했다고 생각합니다. 물론 다른 곳 (Google 등)의 내용을 읽었지 만 강사가 작성한 내용을 읽으면 다시 올라갔습니다. – user1725926

0

나는 컴퓨터 과학 과목으로 공식적인 데이터베이스 과정을 본 적이 없지만 1NF의 실질적인 정의는 테이블의 셀에서 쉼표로 구분 된 값 목록을 가질 수 없다는 것입니다. 그게 다야.

따라서 OP에 설명 된대로 기능 종속성을 가질 수 있습니다. 오랫동안 trackNum (또는 다른 엔티티)을 쉼표로 구분 된 목록이 아닌 테이블의 별도 행에 저장하면 1NF를 준수하게됩니다.