티스토리 뷰
1. 속성(Attribute)
- 속성은 업무에서 필요한 정보인 엔터티가 가지는 항목이다.
- 속성은 더 이상 분리되지 않는 단위로, 업무에 필요한 데이터를 저장할 수 있다.
- 인스턴스의 구성요소이고 의미적으로 더 이상 분해되지 않는다.
- 테이블의 칼럼 같은 느낌
<속성의 특징과 종류>
* 분해 여부에 따른 속성의 종류
1) 단일 속성 - 하나의 의미로 구성된 것(회원 id)
2) 복합속성 - 여러 개의 의미 (주소)
3) 다중값 속성
- 속성에 여러 개의 값을 가질 수 있는 것(상품 리스트)
- 다중값 속성은 엔터티로 분해된다.
* 특성에 따른 속성의 종류
1) 기본속성
- 비즈니스 프로세스에서 도출되는 본래의 속성
2) 설계 속성
- 데이터 모델링 과정에서 발생하는 속성
- 유일한 값을 부여(상품코드, 지점 코드)
3) 파생 속성
- 다른 속성에 의해서 만들어지는 속성
- 합계, 평균 등 통계적 속성
2. 관계(Relationship)
- 관계는 엔터티 간의 관련성을 의미하며 존재 관계, 행위관계로 구분된다.
(1) 존재 관계
- 두 엔터티가 존재 여부의 관계가 있는 경우
- 엔터티 간의 상태를 의미한다.
- 고객이 은행에 회원가입을 하면, 관리점이 할당되고, 그 관리점에서 고객을 관리한다는 개념
(2) 행위 관계
- 어떤 행위에 의한 관련성이 있는 경우
- 계좌를 사용해서 주문을 발주한다.
- 증권회사는 계좌를 개설하고 주문을 발주한다.
3. 관계 차수(Cardinality)
- 관계 차수(Relation Cardinality)는 두 개의 엔터티 간에 관계에 참여하는 수를 의미한다.
- 고객은 여러 개의 계좌를 개설할 수 있다.(1:N 관계)
- 아래 그림과 같이 표현한다.

1) 1:1 관계
- 학생 한 명이 수업하나 만 들을 수 있다.
* 완전 1대 1 관계
- 하나의 엔터티에 관계되는 엔터티의 관계가 하나 있는 경우
- 반드시 존재함
* 선택적 1대 1 관계
- 하나의 엔터티에 관계되는 엔터티의 관계가 하나이거나 없을 수도 있다.
2) 1:N 관계
- 학생 한 명이 여러 개의 수업을 들을 수 있다.
3) N:M 관계
- 학생 한 명이 여러 개의 수업을 들을 수 있고, 한 개의 수업은 여러 명의 학생이 수강한다.
- 관계형 데이터베이스에서 M대 N관계의 조인은 카테시안 곱이 발생해서 1대 N으로 해소해야 한다.
- 수강이라는 엔터티, 테이블을 추가하여 해소시키는 것이 좋음
* 필수적 관계 / 선택적 관계
1) 필수적 관계
- 반드시 하나는 존재해야 하는 관계
- 학생은 반드시 하나의 수업을 들어야 한다.
2) 선택적 관계
- 학생은 있지만 수업이 없을 수 있다면 선택적 관계
* 식별관계 / 비식별관계
1) 식별관계
- 고객과 계좌 엔터티에서 고객은 독립적으로 존재할 수 있는 강한 개체이다.
- 강한 개체는 어떤 다른 엔터티에게 의존하지 않고 독립적으로 존재한다.
- 강한 개체는 다른 엔터티와의 관계를 가질 때 다른 엔터티에게 기본키를 공유한다.(외래키)
- 강한 개체는 식별 관계로 표현된다.
- 즉, 식별관계는 고객 엔터티의 기본키인 회원 ID를 계좌 엔터티의 기본키의 하나로 공유하는 것이다.
- 강한 개체의 기본키 값이 변경되면 식별관계에 있는 엔터티의 값도 변경된다.
- 계좌 : 약한 개체
2) 비식별관계
- 비식별관계는 강한 개체의 기본키를 다른 엔터티의 기본키가 아닌 일반 칼럼으로 관계를 가지는 것이다.
- 관리점 엔터티의 기본키는 지점 코드이고 고객 엔터티와 비식별 관계를 가지고 있다. 지점 코드는 고객 엔터티의 기본키가 아닌 일반 칼럼으로 참조된다. 비 식별관계는 점선으로 표현한다.

4. 엔터티 식별자(Entity Identifier)
- 식별자라는 것은 엔터티를 대표할 수 있는 유일성을 만족하는 속성이다. 일반적으로 회원 ID, 계좌번호, 주민등록번호 등이 있다.
1. 주식별자 (기본키 PK)
- 주식별자는 유일성과 최소성을 만족하는 키이다.
- 주식별자는 엔터티를 대표할 수 있어야 한다.
- 주식별자는 엔터티의 인스턴스를 유일하게 식별한다.
- 주식별자는 자주 변경되지 않아야 한다.
* 키의 종류
1) 기본키 : 후보키 중에서 엔터티를 대표할 수 있는 키
2) 후보키 : 유일성과 최소성을 만족하는 키
3) 슈퍼키 : 유일성은 만족, 최소성(Not NULL)은 만족하지않음
4) 대체키 : 후보키 중에서 기본키 선정하고 남은 키
2. 식별자의 종류
- 식별자는 대표성, 생성여부, 속성의 수 , 대체 여부로 분류됨.
* 대표성
1) 주식별자
- 유일성과 최소성을 만족시키면서 엔터티를 대표하는 식별자이다.
- 다른 엔터티와 참조 관계로 연결가능
2) 보조식별자
- 유일성과 최소성을 만족하지만 대표성을 만족하지 못함
* 생성여부
1) 내부 식별자
- 엔터티 내부에서 스스로 생성되는 식별자
- 부서코드, 주문번호, 종목코드
2) 외부 식별자
- 다른 엔터티와의 관계로 부터 만들어지는 식별자
- 계좌 엔터티에 회원 ID
* 속성의 수
1) 단일 식별자
- 하나의 속성으로 구성됨
- 고객 엔터티에 회원 ID
2) 복합 식별자
- 두 개 이상의 속성으로 구성됨
* 대체 여부
1) 본질 식별자
- 비즈니스 프로세스에서 만들어지는 속성
2) 인조 식별자
- 인위적으로 만들어지는 식별자
'Data' 카테고리의 다른 글
[SQLD/SQLP] 반정규화(De-Normalization) (0) | 2023.03.08 |
---|---|
[SQLD/SQLP] 데이터 모델링(Data Modeling) (0) | 2023.03.08 |
[SQLD/SQLP] 엔터티(Entity) (0) | 2023.03.08 |
[Oracle ] 오라클 파티션 테이블 (0) | 2023.02.19 |
[Oracle] 쿼리 작성시 불필요한 NVL 피하기 (0) | 2023.01.08 |