데이터 구조로 함수 종속성을 나타내는 방법을 생각하고 있습니다.함수 종속성을 나타내는 데이터 구조
기능적 종속성 (데이터베이스의 관계 스키마)은 속성 세트를 속성 세트로 맵핑합니다. 예 : -에서 {A, B}> {C, D} 속성 C와 D는 가
내가 여기 네 가지 경우를 생각할 수 A와 B
에 기능 의존 :- {A} -> {A} -> {B, C} (단일 속성은 하나의 속성을 의미 함) {B} (단일 속성 두 개)
- {A, B} {A, B} -> {C, D} (속성 집합은 속성 집합을 의미 함)
class attribute
{
string name;
set<attribute*> dependent_on;
}
이 (1)가 아니라 (2)와 같은 함수 종속과 함께 작동합니다 :
내 첫 번째 방법은 간단한 두 멤버 클래스이었다. 저는 (3)을 분해 할 수는 있지만 실제로 그러한 분류로 (2)와 (4)를 표현할 방법이 없습니다.
나는 C 및 D는 및 B에 따라 작동하는지 정보를 유지하기 위해, 그래서는 속성 세트가 속성 세트에 매핑되는 경우 attributegroup
같은 클래스를 만들어야 할 것입니다. 예컨대 :
class attributegroup
{
set<attribute*> members;
set<attribute*> dependent_on;
}
그래서 실제로 나는 단지 하나 개의 구성원이있는 attributegroup
단순히 하나의 속성을 나타낼 수 있습니다. 그러나 이것이 이것이 최선의 방법이라고 생각하지 않습니다.
어떤 도움/생각에 감사드립니다 :) 내가 속성에 종속성을 저장하지 않을
당신이 제안한 접근법에 대한 구체적인 관심사는 무엇입니까? –
나는 특별한 걱정거리가 없습니다. 어쩌면 아마도 더 좋은 것이 있다고 생각합니다. 필자의 접근 방식으로 모든'attributegroup'을 반복해야하는 알고리즘을 구현할 때 @Dieter Lücking의 접근 방식과 마찬가지로'set '이된다. –
OK - 다음 질문 : 모든 '속박 집단'을 조사 할 필요없이 우리가 무엇을하려 하는가? 나중에 사용할 알고리즘이 무엇인지 알아야합니다.이를 통해 사용할 수있는 데이터 구조가 어떻게 생겼는지 말할 수 있습니다. –