엔티티(Entity)
엔티티(Entity)란 데이터베이스의 구성요소 중 독립적으로 식별이 가능한 객체(Object)를 말합니다.
즉, 비즈니스 프로세스에서 관리해야 하는 정보(데이터)의 집합을 말하며, 개발자 입장에서는 데이터베이스에 저장하고 관리되어 지는 데이터들의 그룹으로 이해하시면 됩니다.
엔티티를 정의하는 행위가 데이터 모델링의 시작이며, 정의된 엔티티는 보다 상세하게 자신을 표현하기 위해 하위 요소로 속성(Attribute)을 갖습니다.
업무 | 업무에 따른 엔티티(Entity)의 예 |
도서관 관리 | 회원, 대출, 도서, |
홈쇼핑 관리 | 회원, 주문, 상품, 주문상품, 상품가격, 배송지 |
학교 | 학생, 교사, 과목, 강의실, 출석, |
엔티티에 대한 다양한 정의들
- Peter Chen (피터 첸)의 정의 (1976년) : 변별할 수 있는(distinguishable) 사물
- 피터 첸은 엔티티-관계(ER) 모델의 창시자로 데이터베이스 모델링에서 '엔티티'를 데이터베이스에서 관리하고 싶은 유형별 개체나 개념적인 대상을 의미하며, 각각의 엔티티는 고유하게 식별될 수 있어야 한다고 봄. - C.J. Date (C.J. 데이트)의 정의 (1986년) : 데이터베이스 내에서 식별이 가능한 객체
- C.J. Date는 관계형 데이터베이스 이론의 아버지라 불리며, 주로 관계형 데이터베이스 시스템과 데이터 무결성, 효율성에 중점을 두고 있으며, 그의 저서에서도 개념적 모델링과 엔티티-관계(ER) 모델의 중요성에 대해 다루고 있음. - James Martin (제임스 마틴)의 정의 (1989년) : 데이터를 저장하는 실체(real or abstract)
- 제임스 마틴은 정보공학(Information Engineering) 분야의 대가로 '엔티티'라는 단어가 우리가 정보를 보관하려는 어떤 것이라고 봄. 예를 들면 고객, 공급자, 제품, 직원 같은 것들이 해당될 수 있지. 즉, 어떤 정보 시스템을 만들 때 정보의 기록 대상이 되는 모든 것을 엔티티로 간주. - Thomas Bruce (토마스 브루스)의 정의(1992년) : 정보가 저장될 수 있는 사람, 장소, 물건, 사건 그리고 개념.
- 토마스 브루스는 데이터 모델링 분야에서 중요한 인물로, 특히 IDEF1X 모델링 표기법과 관련해서 많이 알려져 있음
- 토마스 브루스는 우리가 정보를 모으고 싶어 하는 구체적이거나 추상적인 대상을 명사형으로 실제로 '사람(예: 고객)', '장소(예: 지점)', '물건(예: 제품)', '사건(예: 주문)', '개념(예: 과정)'처럼 데이터베이스에서 테이블로 만들 대상들을 엔티티라고 정의
엔티티의 특징
- 업무에서 필요하고, 쓰이며, 관리하고자 하는 정보여야 합니다.
- 식별이 가능한 유일한 식별자가 있어야 합니다. 즉, 유니크한 식별자가 있어야 합니다.
- 영속적으로 존재하는 2개 이상의 인트턴스를 가지고 있어야 합니다.
- 하위요소로 반드시 속성을 가지고 있어야 합니다.
- 엔티티는 다른 엔티티와 1개 이상의 관계를 가지고 있어야 합니다.
엔티티의 분류
엔티티의 종류는 엔티티가 발생하는 시점에 따라 기본 엔티티, 중심 엔티티, 행위엔티티 로 분류하고,
유형인지 무형인지에 따라 유형 엔티티, 개념 엔티티, 사건 엔티티로 분류 합니다.
'DataBase' 카테고리의 다른 글
SQL 연산자 한눈에 보기 - 작성 중 (0) | 2025.07.20 |
---|---|
[Oracle] SQL 기본 문법 - 선택 출력(WHERE 절) (0) | 2025.07.19 |
[Oracle] SQL 기본 문법 - 출력 순서(ORDER BY 절) (0) | 2025.07.18 |
컬럼 별칭 설정 (0) | 2025.07.17 |
TABLE에 없는 컬럼 값 출력하기 (0) | 2025.07.16 |