📌 데이터 모델이란?
현실 세계의 대상을 추상화, 단순화, 명확화하여 데이터베이스로 표현하는 것
- 요구사항 접수
- 개념적 데이터 모델링(개)
- 논리적 데이터 모델링(논)
- 물리적 데이터 모델링(물)
- 데이터베이스에 저장할 수 있도록 세팅
📌 엔터티(Entity, 개체)란?
업무에 필요한 정보를 저장 및 관리하기 위한 집합적인 명사
📍 엔터티의 특징
- 업무에서 필요한 대상이고 업무에 사용될 것
- 유일한 식별자로 식별이 가능할 것
- 인스턴스가 2개 이상 존재할 것
- 속성이 반드시 2개 이상 존재할 것
- 관계가 하나 이상 존재할 것 (코드성, 통계성은 생략 가능)
ex.
엔터티 : 직원(집합)
인스턴스 : 직원A, 직원B, 직원C,,,,등
📍 유무형에 따른 엔터티의 분류
- 유형 엔터티 : 물리적 형태가 있는 엔터티
- 개념 엔터티 : 물리적 형태가 없는 엔터티
- 사건 엔터티 : 업무 수행 중에 발생하는 엔터티
📍 발생시점에 따른 엔터티의 분류
- 기본/키 엔터티 : 본래 업무에 존재 하는 정보와 독립 생성가능, 주식별자 보유 엔터티
- 중심 엔터티 : 기본 엔터티로부터 발생 , 업무에 있어 중심 역할 엔터티
- 행위 엔터티 : 2개 이상 엔터티로부터 발생하는 엔터티
📌 엔터티의 명명(naming) 규칙
- 가능한 현업 용어를 쓴다.
- 가능한 약어를 사용하지 않는다.
- 단수 명사를 사용한다.
- 엔터티 이름은 유일해야 한다.
- 엔터티 생성의미대로 이름을 부여한다
📌 인스턴스(Instance)란?
엔터티 집합 내에 존재하는 개별적인 대상
📌 속성(Attribulte)란?
업무상 관리하기 위해 의미적으로 더는 분리되지 않는 최소의 데이터 단위
속성은 엔터티가 가지는 공통적인 특징을 표현함 (우리가 관리하고자 하는 정보)
📍 속성의 분류
- 기본 속성 : 업무로부터 추출한 속성으로 제일 많이 발생
- 설계 속성 : 설계시 규칙화 등이 필요해 만든 속성 (코드성이나 일련번호 등)
- 파생 속성 : 다른 속성들로부터 계산/변형
📌 속성 명명(naming) 규칙
- 가능한 현업 용어를 쓴다.
- 가능한 약어를 사용하지 않는다.
- 명사형을 쓰고 서술식이나 수식어 등을 제한한다.
- 가능한 속성 이름은 전체 데이터 모델에서 유일해야한다.
📌 엔터티, 인스턴스, 속성의 관계
- 하나의 엔터티는 2개 이상의 인스턴스를 가진다.
- 하나의 엔터티는 2개 이상의 속성을 가진다.
- 속성은 각 인스턴스를 설명해줄 수 있다.
- 하나의 속성에는 하나의 속성값만 들어간다.
📌 식별자란?
엔터티 내 유일한 인스턴스를 식별할 수 있는 속성의 집합
📌 도메인(Domain)이란?
각 속성이 입력받을 수 있는 값의 정의 및 범위를 의미
보통 테이블을 만들 때 각 속성마다 자료형 및 제약조건을 줄 때 결정됨