두 번째 정규식이 무엇인지 이해하기 위해 일부 기사를 읽었으며 이해할 수없는 몇 가지 사항이 있습니다. 기사에 두 번째 표준 양식 이해 키
는 그것이 2NF 아닌 말한다 고객 테이블에 here 기본 키에 의해there are several attributes which don’t completely rely on the entire Customer table primary key
라도 좋습니다 때문에 나는 그것이 {고객 ID를, 직원 ID}
우리의 경우 의미가 있다고 생각 {customerId, employeeId}를 후보 키로 선택하면 Customername, customerCity, PostalCode가 후보 키에만 부분적으로 의존하므로 2NF에 종속되지 않습니다. 그러나 후보 키가 단독으로 customerId로 간주되는 경우 Customer 테이블의 모든 열은 customerId 권한에 전적으로 의존합니다 (employeeId는 customerId에 종속되므로).
마찬가지로 고객 번호 만 후보 키가 될 수 있습니다. 후보 키에는 다른 후보 키가 포함될 수 없으므로 {CustomerId, EmployeeId}를 후보 키로 사용할 수 있습니다.
그러므로 우리가 customerId 만 가지고 후보 키를 얻는다면이 테이블은 2NF 형식이 아닙니까?
그러나이 기사에서는 2NF 양식의 표가 한 가지 목적을 달성해야한다고 말하면서이 고객 표는 두 가지 용도로 사용됩니다.
To indicate which customers are called upon by each employee To identify customers and their locations.
그러면이 테이블이 2NF에없는 것 같습니다.
그럼이 테이블의 후보 키는 무엇입니까? this article
이 표는 3NF에에
내 두 번째 질문입니다. TABLE_BOOK 테이블에서 후보 키는 바로 bookId입니까? {bookId, genereId}를 후보 키로 선택할 수 없습니다. 선택하면 genreId에 의존하지 않으므로 가격이 2NF가 아닙니다.
누군가 나를 더 나은
FD는 CK를 결정합니다. 당신은 CK를 "선택"하지 않습니다. CK는 다른 모든 열을 결정하는 열 집합입니다. 표에 행을 넣을 기준을 결정합니다. 그런 다음 열의 각 하위 집합에서 발생할 수있는 모든 상황이 0 개 이상의 열을 결정합니다. 즉 집합에서 열로 FD가 있거나없는 경우입니다. – philipxy
그 기사는 무능력합니다. 어떤 교과서를 사용하고 있습니까? – philipxy