[데이터베이스] 개체관계 모델:개념적 설계
개체집합과 속성
개체: 현실 세계에서 물리적 혹은 추상적으로 존재하는 실체
동일한 특성을 갖는 개체들은 하나의 개체집합을 구성한다.
개체관계 모델에서는 개체의 특성을 속성으로 표현한다.
ex)
student(개체집합) {'김광식', 김정현'}
속성의 집합 (stu_id, resident_id, name, year, address)
=> 개체집합은 동일한 속성을 갖는 개체들의 집합이며, 각 개체는 해당 속성들의 값으로 표현된다.
student 개체집합에 family_member라는 속성이 정의되어 있다고 하자.
이 속성에는 하나 이상의 가족 이름이 들어갈 수 있다. 이와 같은 유형의 속성을 다중값 속성이라 한다.
student 개체집합에 address 속성이 정의되어 있고 이 속성은 더 작은 단위인 (district, city, street)으로 구성될 수 있다. 이러한 속성은 복합 속성이라 한다.
관계집합
관계: 개체 간의 대응성
관계집합: 동일한 유형의 관계들의 집합
ex) student 개체집합과 department 사이의 affiliated라는 관계집합에서는 각 학생이 학과에 소속된 날짜를 나타내는 속성을 명시할 수 있다.
이진 관계: 두 개체집합 간에 정의된 관계(차수 2)
삼진 관계: 세 개체 사이의 관계(차수 3)
관계집합은 각 관계에 참여하는 개체들 간의 가능한 대응수로 특징지을 수 있다.
대응수는 관계집합에서 반드시 지켜야할 규칙이므로 일종의 제약 조건이라 할 수 있다.
대응수는 일대일, 일대다, 다대일, 다대다 가 있다.
약성 개체집합과 강성 개체집합
약성 개체집합: 기본키를 형성하는데 필요한 속성들을 모두 갖지 못한 경우
강성 개체집합: 기본키를 가지고 있는 일반적인 개체집합
약성 개체집합의 존재가 강성 개체집합의 존재에 의해 결정된다.
대응관계 차원에서 약성 개체집합과 이와 관계를 맺고 있는 강성 개체집합은 항상 다대일 관계를 맺게 된다.
전체참여: 약성 개체집합의 모든 개체가 다 대 일 관계에 빠짐없이 참여
부분참여: 약성 개체집합의 개체 중에서 강성 개체집합의 개체와 관계를 맺지 않는 것이 존재
약성 개체 집합은 그와 관련된 강성 개체집합과 관계를 형성하는 것이 일반적이며,
이 때 약성 개체집합은 강성 개체집합에 종속관계에 있다고 말한다.
부분키: 약성 개체집합에서 강성 개체집합의 특정 개체 내에서 유일한 값을 갖는 속성 집합