1. 관계(Relationship)

  • 관계는 엔터티 간의 관련성을 의미하며, 존재 관계와 행위 관계로 분류 됨

  • 존재 관계는 두 개의 엔터티가 존재 여부의 관계가 있는 것

  • 행위 관계는 두 개의 엔터티가 어떤 행위에 의한 관련성이 있는 것

2. 관계의 종류

(1)   존재 관계

  • 존재 관계는 엔터티 간의 상태를 의미

  • ex)고객이 은행에 회원가입을 하면, 관리점이 할당되고, 그 할당된 관리점에서 고객을 관리 함

(2)   행위 관계

  • 행위 관계는 엔터티 간에 어떤 행위가 있는 것

  • ex)계좌를 사용해서 주문을 발주하는 관계가 만들어짐

3. 관계 차수(Cardinality)

(1)   관계 차수(Relation Cardinality)

  • 관계 차수는 두 개의 엔터티 간에 관계에 참여하는 수를 의미

  • ex)한 명의 고객은 여러 개의 계좌를 개설할 수 있다.(1N 관계)

(2)   관계 차수의 종류

*11 관계

  • 완전 11 관계: 하나의 엔터티와 관계되는 엔터티의 관계가 하나인 경우로 반드시 존재함

  • 선택적 11 관계: 하나의 엔터티에 관계되는 엔터티의 관계가 하나이거나 없을 수도 있음

*1N 관계

  • 엔터티에 행이 하나 있을 때 다른 엔터티의 값이 여러 개 있는 관계

  • ex)고객은 여러 개의 계좌를 가질 수 있음

*MN 관계

  • 두 개 엔터티가 서로 여러 개의 관계를 가지고 있는 것

  • 관계형 데이터베이스에서 MN관계의 조인(Join)은 카테시안 곱이 발생함, 그래서 MN관계를 1N, N1로 해소해야함

 

*카테시안 곱(Cartesian Product): 두 테이블 사이의 조인 조건이 기술되어 있지 않은 경우, 두 테이블의 모든 행들이 무조건 결합해 테이블들에 존재하는 행 개수를 곱한 만큼의 결과 값이 반환 되는 것

 

*필수적 관계와 선택적 관계

  • 필수적 관계는 반드시 하나는 존재해야 하는 관계

  • 필수적 관계는 ‘|’로 표현됨

  • 선택적 관계는 없을 수도 있는 관계임

  • 선택적 관계는 ‘O’로 표현됨

4. 식별 관계와 비식별 관계

(1)   식별 관계(Identification Relationship)

  • 고객과 계좌 엔터티에서 고객은 독립적으로 존재할 수 있는 강한 개체(Strong Entity)

  • 강한 개체는 어떤 다른 엔터티에게 의존하지 않고 독립적으로 존재함

  • 강한 개체는 다른 엔터티와 관계를 가질 때 다른 엔터티에게 기본키를 공유 함

  • 강한 개체는 식별 관계로 표현 됨

  • 강한 개체의 기본키 값이 변경되면 식별관계(기본키를 공유받은)에 있는 엔터티의 값도 변경 됨

  • 실선으로 표현함

(2)   비식별 관계(Non-Identification Relationship)

  • 비식별 관계는 강한 개체의 기본키를 다른 엔터티의 기본키가 아닌 일반 칼럼으로 관계를 가지는 것

  • 관리점 엔터티의 기본키는 지점 코드이고 고객 엔터티와 비식별 관계를 가지고 있음(, 지점코드는 고객 엔터티의 기본키가 아닌 일반 칼럼으로 참조 됨)

  • 점선으로 표현함

 

식별자: 엔터티를 대표할 수 있는 유일성을 만족하는 속성(회원ID, 계좌번호, 주민번호, 여권번호 등)

1.     주식별자(기본키, Primary key)

  • 최소성: 주식별자는 최소성을 만족하는 키

  • 대포성: 주식별자는 엔터티를 대표할 수 있어야 함

  • 유일성: 주식별자는 엔터티의 인스턴스를 유일하게 식별함

  • 불변성: 주식별자는 자주 변경되지 않아야 함

  • 기본키(Primary key): 후보키 중에서 엔터티를 대표할 수 있는 키

  • 후보키(Candidate key): 후보키는 유일성과 최소성을 만족하는 키

  • 슈퍼키(Super key): 슈퍼키는 유일성은 만족하지만 최소성을 만족하지 않는 키

  • 대체키(Alternate key): 대체키는 여러 개의 후보키 중에서 기본키를 선장하고 남은 키

  • 외래키(Foreign key): 하나 혹은 다수의 다른 테이블의 기본 키 필드를 가리키는 것으로 참조 무결성을 확인하기 위해서 사용됨, 허용됨 데이터 값만 데이터베이스 저장하기 위해서 사용됨

2.     식별자의 종류

  • 식별자는 대표성, 생성 여부, 속성의 수, 대체 여부로 분류됨

(1)   식별자의 대표성

  • 주식별자: 엔터티를 대표하는 식별자, 유일성과 최소성 만족, 다른 엔터티와 참조 관계로 연결 가능

  • 보조 식별자: 유일성과 최소성은 만족하지만 대표성을 만족하지 못함

(2)   생성여부

  • 내부 식별자: 엔터티 내부에서 스스로 생성되는 식별자

  • 외부 식별자: 다른 엔터티와의 관계로 인해 만들어지는 식별자

(3)   속성의 수

  • 단일 식별자: 하나의 속성으로 구성됨

  • 복합 식별자: 두 개 이상의 속성으로 구성

(4)   대체여부

  • 본질 식별자: 비즈니스 프로세스에서 만들어지는 식별자

  • 인조 식별자: 인위적으로 만들어지는 식별자

*인조식별자는 후보 식별자 중에서 주식별자로 선정할 것이 없거나 주식별자가 너무 많은 칼럼으로 되어 있는 경우에 사용

+ Recent posts