이 문서의 중심 내용을 집약적으로 설명해주실 수 있나요?
관계 정의는 사실 속성 정의의 한 단계이다. 물리데이터 모델링 단계에서 어느 속성은 관계로 표시된다. 속성들 간은 서로 독립적이다. 이는 식별자에 직접 종속되어야 한다는 의미이다. 만약 속성들 간에 종속성이 존재한다면 이들은 별도 엔티티로 분리해내야 한다. 이것이 제3정규화 과정이다. 각 엔티티 간에는 업무적 관계에 의해 연결되는데 특허청의 예를 들면 출원인과 출원이라는 엔티티 간에는 ‘출원 신청’이라는 업무적 행위가 존재한다. 출원인 엔티티를 기준으로 출원 엔티티 간의 관계 문장을 작성해보면 ‘각 출원인은 하나 이상의 출원 신청을 할 수도 있고 안 할 수도 있다.’, 반대의 경우에는 ‘하나의 출원(예를 들어 출원서)에는 반드시 하나의 출원인이 출원 신청이 되어 있어야 한다.’가 된다. 출원인 엔티티를 기준으로 하나 이상의 출원 관계를 발생빈도(Cardinality)라고 하고, 반대로 출원을 기준으로 출원인은 반드시 하나의 출원인이 존재해야 하는 관계를 선택성(Optionality)이라고 한다. 이때 출원인 엔티티를 부모(Parent) 엔티티라고 하고, 출원 엔티티를 자식(Child) 엔티티라고 부른다. 관계가 맺어지면 자동으로 부모 엔티티인 출원인의 주식별자(출원인번호)가 자식 엔티티인 출원에 자동으로 위치한다. 이런 업무적인 관계는 향후 물리적인 DB에 직접 적용되며, 응용프로그램에도 반영된다. 엔티티 상세화에서 보았던 다대다(多對多) 관계를 해소하는 작업이 이 관계정의에서도 적용된다.
만약 속성들 간에 종속성이 존재한다면 이들은 별도 엔티티로 분리해내야 한다. 이것이 제3정규화 과정이다. 각 엔티티는 업무적 관계에 의해 연결되는데 발생빈도와 선택성에 따라 부모 엔티티와 자식 엔티티로 관계가 맺어지면 물리적인 DB에 직접 적용되며, 응용프로그램에도 반영된다. 엔티티 상세화에서 보았던 다대다(多對多) 관계를 해소하는 작업이 이 관계정의에서도 적용된다.