식별자
엔터티의 각 개체들은 인스턴스라고 하는데, 인스턴스는 그들을 지칭하거나 식별해 주는 속성인 식별자(Unique Identifier)를 가지고 있다. 예를 들어 직원 인스턴스는 직원번호, 주민번호, 직원명 으로 식별될 수 있다. 이들 중 직원명은 실세계에서는 직원 각각을 식별하는데 이용될 수 있으나 데 이터 측면에서는 동명이인의 문제 때문에 식별성이 미약한 편이다. 봉급이나 입사일 같은 속성으로 는 각각의 인스턴스를 유일하게 식별할 수 없다. 이와 마찬가지로 고객은 고객번호나 고객이름으로 식별될 수 있고, SALES-ORDER은 OrderNumber(주문번호)에 의해서 구별될 수 있다.
식별자는 하나 또는 그 이상의 속성으로 구성된다. 특별히 두 개나 그 이상의 속성으로 이루어진 식별자를 복합 식별자(Composite Identifier)라고 부른다. 그 예로는 (Area Code, Local Number), (Project Name, Task Name), (First Name, Last Name, Date Of Hire) 등이 있다.
식별자와 키는 구별하여 사용되어야 하며, 이 둘은 서로 일치할 수도 있고 그렇지 않을 수도 있다. 즉 식별자는 논리적인 관점에서 사용되고 키(Key)는 물리적인 관점에서 사용된 키를 가진다고 할 수 있다. 이러한 이유로서 식별자가 엔터티에 대해 하는 역할은 키가 테이블에 대해 하는 역할과 동일하다.
데이터 모델링의 초기 단계에서부터 모델을 지나치게 상세히 표현하면 개체-관계 다이어그램을 이해하고 다루기가 힘들어질 수도 있기 때문에 간단하게 식별자만 보이거나 직사각형 안에 개체 이름만 간결하게 보임으로써 많은 모델들 중에서 사용자가 필요한 것들을 손쉽게 사용되어질 수 있다.
관계(Relationship)
관계는 엔터티와 엔터티간 연관성을 표현하는 것으로, 엔터티의 정의에 따라 영향을 받기도 하고, 속성 정의 및 관계 정의에 따라서도 다양하게 변할 수 있다. 엔터티간에 논리적으로 존재할 수 있는 수 많은 관계들 중에서 정말로 의미가 있고 관리할 가치가 있는 관계를 식별해 낸다는 것이 쉬운일은 아니다. 최초의 개체-관계 다이어그램에서 관계는 속성을 가질 수 있었으나 현재에는 그렇지 않다.
관계의 표현에는 이항 관계(Binary Relationship), 삼항 관계(Ternary Relationship), n항 관계 가 존재할 수 있는데 실제에 있어서 삼항 관계 이상은 잘 사용되지 않는다. [그림 1] 참조 매핑 카디날리티(Mapping Cadinality)는 개체-관계 다이어그램에서 개체와 연결될 때 나타나는 대응(Mapping)되는 수로 대응수라고도 한다. 대응수는 최대 대응수(Maximum Cadinality)와 최 소 대응수(Minimum Cadinality)로 구분된다. 매핑 카디날리티가 포함된 개체-관계 다이어그램에 대하여 예제를 통해서 설명하고자 한다. [그림 1] 참조 다음과 같은 조건 하에서 교수 개체와 학생 개체 간에 성립하는 지도 관계의 매핑 카디날리티를 결 정하고, 개체-관계 다이어그램을 작성하면 [그림 5-1-13]과 같은 이항 관계 구조의 다이어그램을 완성할 수 있다.
- 조건 1 : 교수는 꼭 학생에 대한 지도를 해야 한다.
Min-Card(교수, 지도) = 1
- 조건 2 : 교수는 여러 명의 학생을 지도할 수 있다.
Max-Card(교수, 지도) = n
- 조건 3 : 학생은 꼭 교수에게 지도를 받아야 한다.
Min-Card(교수, 지도) = 1
- 조건 4 : 학생은 여러 명의 교수에게 지도를 받을 수 없다.
Max-Card(교수, 지도) = 1
[그림 1]