728x90

개체와 개체타입
- 개체 타입 (Entity Type)
- 비슷한 속성을 가진 개체
- 개체를 이름과 속성으로 정의한 것
- 파일시스템이나 데이터베이스의 레코드 타입 (Record Type)
- 프로그래밍언어의 데이터타입과 유사
- 유형
- 강한 개체 (Strong Entity) : 다른 개체의 도움 없이 독자적으로 존재하는 개체
- 약한 개체 (Weak Entity) :
- 독자적으로 존재하지 않고, 상위 개체 타입을 가짐
상위 개체 타입이 결정되지 않으면 개별 개체를 식별할 수 없음
- 예 : 회사의 직원
- 직원의 부양가족은 직원 개체가 존재해야 존재할 수 있다
- 강한 개체 : 직원
- 약한 개체 : 부양 가족 · 개체타입의 ER 다이어그램 표현
- 직사각형으로 표현
- 개체 인스턴스 (Entity Instance)
- 개체의 속성에 실제 값을 주어 실체화된 개체
- 파일시스템이나 데이터베이스의 레코드 인스턴스 (Record Instance)
- 개체 집합 (Entity Set)
- 개체 인스턴스를 모아 놓은 것.
- 데이터베이스의 테이블.
- 개체 (Entity)
속성
- 속성/애트리뷰트 (Attribute)
- 사물의 본질적인 고유의 성질(특성)로, 의미 있는 데이터의 가장 작은 단위
- 파일시스템이나 데이터베이스에서 하나의 필드로 표현됨
- 예시 : 사람의 속성 - 이름, 출생일, 성별, 국적 등
- 속성의 ER 다이어그램 표현
- 타원으로 표현
- 개체 타입과 실선으로 연결
속성의 유형
- 키 속성 (Key Attribute)
- 개체 인스턴스를 식별하는데 사용되는 속성
- 모든 개체 인스턴스의 키 속성 값은 달라야 함.
- 둘 이상의 속성으로 구성할 수 있음
- 예: 쇼핑몰의 고객 개체의 계정, 회사의 직원 사번
- 개체 인스턴스를 식별하는데 사용되는 속성
- 속성 값의 개수에 따른 분류
- 단일 값 속성 (Single-valued Attribute)
- 예: 책의 이름, 회사내 팀의 팀장
- 다중 값 속성 (Multi-valued Attribute)
- 예: 책의 저자, 회사내 팀의 팀원번
- 단일 값 속성 (Single-valued Attribute)
- 의미의 세분화에 따른 분류
- 단순 속성 (Simple Attribute)
- 의미를 세분화할 수 없는 경우
- 예: 개체의 이름
- 복합 속성 (Composite Attribute)
- 의미를 세분화할 수 있는 경우
- 예: 전화번호, 생년월일
- 단순 속성 (Simple Attribute)
- 저장 속성 (Stored Attribute)과 유도 속성 (Derived Attribute)
- 저장속성
- 다른 속성의 영향 없이 단독으로 저장되는 속성
- 유도 속성
- 다른 속성을 사용하여 만들 수 있는 속성
- 예: 판매물건의 부가세 금액, 나이(생년월일로부터 계산)
- 저장속성
- 널 속성 (Null Attribute)
- 값이 없어도 되는 속성
- 예: 회원 가입시 선택항목
- 데이터를 입력하지 않아도 데이터베이스에 개체를 저장하는데 문제가 없다
- 데이터를 입력하지 않아도 데이터베이스에 개체를 저장하는데 문제가 없다
- 개체와 속성의 ER 다이어그램 표현
Comments
728x90
'프로그래밍 > Database' 카테고리의 다른 글
[MySQL/MariaDB] JOIN에서 ON 과 WHERE의 차이점 (0) | 2020.04.05 |
---|---|
MySQL REPLACE 사용법(콤마제거, 치환하기) (0) | 2020.04.05 |
[Database] 모델링과 개체-관계 모델 및 다이어그램 (0) | 2020.03.22 |
[Database] 데이터베이스 스키마 (0) | 2020.03.22 |
[Database] 데이터베이스 시스템 (0) | 2020.03.22 |