정규화를 배우고 있습니다. 그리고 이것으로 운동을 찾았습니다 article here1NF 테이블을 3NF로 정규화
다음 표를 3NF로 정규화하도록 요청합니다.
이것은 내가 한 것과 같습니다.
내가 테이블을 구성한 방식이 맞는지는 알고 싶습니다.
정규화를 배우고 있습니다. 그리고 이것으로 운동을 찾았습니다 article here1NF 테이블을 3NF로 정규화
다음 표를 3NF로 정규화하도록 요청합니다.
이것은 내가 한 것과 같습니다.
내가 테이블을 구성한 방식이 맞는지는 알고 싶습니다.
제가 테이블을 구성한 방식이 맞는지는 알고 싶습니다.
아니요.
먼저 BCNF를 통한 정규화는 기능 종속성을 기반으로합니다. 기능 의존성을 확인하지 않았습니다.
두 번째로, 정규화로 시작한 관계에없는 새로운 특성이 도입되지 않습니다. 새 속성 "sFirstName", "sLastName", "dateOfBirth", "tuteId", "tutorName", "bookId"및 "bookName"을 도입했습니다.
마지막으로 링크 된 것과 같은 온라인 연습은 그리 유용하지 않습니다. 필자는 제공된 작은 테이블에서 모든 기능적 종속성을 파생시킬 것을 분명히 예상하지만 데이터가 대표적인 경우가 아니면 신뢰할 수있는 방식으로 수행 할 수는 없습니다. 예를 들어, 검사를 통해 Room-> Date를 결정할 수 있지만 현실 세계에서는별로 의미가 없습니다.
정규화는 의미론을 기반으로합니다. 의 의미는입니까? 여기서 "날짜"는 무엇을 의미합니까? 데이터는 모두 이러한 해석을 지원합니다. (그 이상)
데이터, 당신은 Grade-> Date라고 주장 할 수는 있지만 그건 의미가 없습니다. 말도 안되는 것은 데이터가 대표가 아니며 저자가을 제공하지 않았다는 정보 인 을 사용하여 테이블을 정상화 할 수 있음을 나타냅니다.
정규화에는 "bookId"및 "tuteId"와 같은 * 새 * 열 만들기가 필요하지 않습니다. –