log.Sehee
데이터베이스 기초 본문
Entity
: 업무에서 관리해야 하는 데이터의 집합, 명사형, 인스턴스의 집합
특징
- 업무에서 필요로 함
- 유일한 식별자에 의해 식별이 가능해야 함
- 2개 이상의 인스턴스를 포함함
- 업무 프로세스에 이용됨
- 속성을 가짐
- 다른 엔터티와 최소 한 개 이상의 관계를 가짐
종류
유무형에 따른 분류
1. 유형 Entity : 물리적 형태가 있고 지속적으로 활용되는 Entity
2. 개념 Entity : 물리적 형태가 없는 엔터티
발생 시점에 따른 분류
1. Key Entity (기본 엔터티)
: 독립적으로 생성되는 엔터티
2. Main Entity (중심 엔터티)
: 기본 엔터티와 행위 엔터티의 중간에 존재하는 Entity
3. Active Entity (행위/사건 엔터티)
: 2개 이상의 부모 엔터티로부터 발생, 비즈니스 프로세스를 실행하면서 생성되는 엔터티.
지속적으로 정보가 추가되고 변경되어 데이터 양이 가장 많음
명명 규칙
현업 업무에서 사용하는 용어 / 약어 지양 / 단수 명사 / 유일성 보장 / 명확성
Attribute (속성)
: Entity가 가지는 최소 의미 단위 / 인스턴스의 구성 요소
엔터티와 인스턴스 및 속성과 속성값 간의 관계

속성 표기법
- IE 표기법
- Barker 표기법
특징
- 업무에서 필요하고 관리하고자 하는 정보
- 주 식별자에 함수적으로 종속됨
- 속성값 하나만 가짐 (하나 이상의 속성값이면 정규화)
종류
특성에 따른 분류
- 기본 속성 : 업무 프로세스에서 도출되는 본래의 속성
- 설계 속성 : 데이터 모델링 과정에서 업무 규칙화를 위해 발생하는 속성
- 파생 속성 : 다른 속성에 의해 만들어지는 속성 ( 저장속성은 유도 속성을 생성하는 데 사용 )
분해 가능 여부에 따른 분류
- 단일 속성 : 하나의 의미
- 복합 속성 : 여러 의미, 단일 속성으로 분해 가능 / ex) 주소
- 단일값 속성 : 하나의 값
- 다중값 속성 : 여러 값, 엔터티로 분해 가능
Entity 구성 방식에 따른 분류
- 기본키 속성 (PK) : 엔터티를 식별할 수 있는 속성
- 외래키 속성 (FK) : 다른 엔터티와의 관계에서 포함된 속성
- 일반 속성 : 엔터티에 포함되고 PK나 FK 속성이 아닌 속성
도메인
: 속성이 가질 수 있는 값의 범위
Relationship (관계)
: Entity 간 논리적인 관련성, 동사형
관계의 패어링
: 인스턴스 간 개별적 관계
관계 표기법
1. 관계명
2. 관계차수 (Cardinality)
: 관계 내 튜플의 전체 개수, 한 개는 직선 / 많으면 삼발로 표시
M:N 관계 : 관계형 DB에서 M:N 관계의 조인은 카테시안 곱 발생
3. 관계선택사양 (Optionality)
: 필수는 I / 선택은 O로 표시
종류
ERD 기준 (표기구분 안함)
- 존재 관계 : 엔터티 간의 상태
- 행위 관계 : 엔터티 간에 발생하는 행위
UML (Unified Modeling Language) 기준
- 연관 관계 (Association) : 실선
- 의존 관계 (Dependency) : 점선
식별자에 따른 분류
1. 식별 관계
: 부모 엔터티의 식별자를 자식 엔터티에서 주식별자로 사용
+
약한 엔터티 : 부모 엔터티에 종속되어 존재 (강한 엔터티는 독립적으로 존재함)
2. 비식별 관계
: 부모 엔터티의 식별자를 자식 엔터티에서 일반 컬럼으로 참조 사용, 약한 종속 관계.
+
식별 관계만으로 연결되면 주식별자 수가 많아질 수 밖에 없으므로
1. 관계 강약 분석
2. 자식 엔터티의 독립 PK 필요성
3. SQL 복잡성과 개발 생산성 고려 필요
관계 읽기
: 각각의 / 하나의 → 기준 엔터티 → 관계차수 → 대상 엔터티 → 관계선택사양 → 관계명
식별자
: Entity를 대표할 수 있는 유일성을 만족하는 속성
특징
유일성 / 최소성 / 불변성 / 존재성
종류
대표성 여부에 따른 분류
- 주식별자 : 대표성을 만족하는 식별자
- 약한 엔터티 : 부모 엔터티에 종속되어 존재 (강한 엔터티는 독립적으로 존재함)
- 보조식별자 : 유일성과 최소성만 만족하는 식별자, 참조 관계 연결에 사용할 수 없음
- DB 키의 종류
- 기본키 (PK, Primary Key) : 엔터티를 대표하는 키, 후보키 중 선정됨
- 후보키 : 유일성과 최소성을 만족하는 키
- 슈퍼키 : 유일성만 만족하는 키
- 대체키 : 기본키를 제외한 나머지 후보키
- 외래키 (FK, Foreign Key) : 여러 테이블의 기본 키 필드, 참조 무결성을 확인하기 위해
- DB 키의 종류
생성 여부에 따른 분류
- 내부 식별자 : 자연스럽게 존재하는 식별자 ( ~ 본질 식별자 )
- 외부 식별자 : 다른 엔터티와의 관계를 통해 생성되는 식별자
속성 수에 따른 분류
- 단일 식별자 : 하나의 속성
- 복합 식별자 : 여러 속성
대체 여부에 따른 분류
- 본질 식별자 : 대체될 수 없는 식별자
- 인조 식별자 : 인위적으로 만들어지는 대체 가능한 식별자 ( 순서번호를 사용하여 생성된 식별자)
- 후보 식별자 중 주식별자로 선정할 것이 없거나 주식별자의 칼럼이 너무 많을 때 사용
주식별자 도출 기준
업무에서 자주 이용되는 속성 / 이름 명명 지양 / 복합 식별자 지양