ER model : 요구 사항으로부처 얻어낸 정보들을 entity, attribute, relation으로 기술하는 데이터 모델
entity : DB에 표현하려는 것으로 현실 세계의 대상체
attribute : 가장 작은 논리적 단위로 데이터 항목, 데이터 필드에 해당
단순, 복합
단일값, 다중값
저장, 유도
complex : composite + multi-value
여기서 ssn이 key attribute이며, phone의 경우 multi-value, 유도의 경우 점선으로 표시
여기서 entity는 '학생'이며 학생이라는 객체는 3개의 attribute '학번, 이름, 학과'를 가지고 있다. 위와 같은 entity instance의 모임을 entity set이라고 하며 entity의 attribute인 '학번, 이름, 학과'가 entity type이 된다.
relationship : 관계 타입이란 동일한 유형의 관계들을 모아 그룹화 한 것이다. 앞서 언급한 Jhon Smith라는 엔티티가 Product X 프로젝트에서 일하는 직원이라면 그러한 직원을 모아 WORKS_ON 관계 타입을 형성할 수 있다. 관계 타입의 경우 degree는 참여 엔티티 타입의 수가 된다. 관계에 대한 스키마 설명이자, 관계 이름과 참여 엔티티 유형을 식별하며, 관계 제약 조건을 관계 타입에서 다룬다. 관계 타입은 A-B 엔티티 사이에 한개만 존재하는 것이 아니라 여러개 존재할 수 있다. 예를 들어 프로젝트와 직원 사이에는 일하는이라는 관계가 있을 수 있으나, 관리하는이라는 관계 또한 존재할 수 있다.
relationship set : relationship에 대한 집단으로 데이터베이스에 표시된 현재의 관계 인스턴스 집합이다. 즉, 관계 유형들의 현재 상태를 의미한다.
relation type은 데이터를 설명하는 데이터의 구조 즉 스키마를 의미한다.
결론적으로 DBMS에서 Relation과 Relationship의 차이점은
Relation 은 관계형 모델 데이터베이스의 테이블
Relationship 은 관계형 모델 데이터베이스의 두 테이블이 서로 연결되는 방식을 가리킨다는 점이다.
관계를 맺는 두 Entity Type에 대해, 한 개체가 얼마나 많은 다른 개체와 관련될 수 있는지를 나타내는 제약조건을 뜻합니다.
관계를 맺는 두 Entity Type에 대해 한 개체의 존재가 다른 개체의 존재에 의존하는지 여부를 나타내는 제약조건을 뜻합니다.
위에서부터 entity, attribute, relation constraint에 관한 ER notation을 나타냄
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=lyshyn&logNo=221123941635