[DB/SQLD] 3층 스키마, 엔터티, 속성
3층 스키마(3-Level Schema)
사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고 이들간의 관계를 정의한 ANSI표준이다.
이러한 3층 스키마는 데이터베이스이 독립성을 확보하기 위한 방법이다.
3단계 계층으로 분리해 독립성을 확보하는 방법으로 각 계층을 뷰라고도 한다.
3층 스키마의 독립성에는 논리적 독립성, 물리적 독립성이 있다.
- 논리적 독립성 : 개념 스키마가 변경되더라도 외부 스키마가 영향을 받지 않는다.
- 물리적 독립성 : 내부 스키마가 변경되더라도 개념 스키마가 영향을 받지 않는다.
- 외부 스키마 사용자 관점. 관련 데이터베이스의 뷰를 표시. 응용 프로그램이 접근하는 데이터베이스를 정의.
- 개념 스키마 설계자 관점. 전체 데이터베이스 내의 규칙과 구조를 표현. 통합 데이터베이스 구조.
- 내부 스키마 개발자 관점. 데이터베이스의 물리적 저장 구조. 데이터 저장 구조, 레코드 구조, 필드 정의, 인덱스 등을 정의.
엔터티(Entity)
엔터티는 업무에서 관리해야 하는 데이터 집합으로 저장되고 관리되어야 하는 데이터.
엔터티 특징
- 식별자 : 엔터티는 유일한 식별자가 있어야 한다. ex) 회원ID
- 인스턴스 집합 : 2개 이상의 인스턴스가 있어야 한다. 즉 고객정보는 2명이상 있어야 한다.
- 속성 : 엔터티는 반드시 속성을 가진다.
- 관계 : 엔터티는 다른 엔터티와 최소한 한개 이상 관계가 있어야 한다.
- 업무 : 엔터티는 업무에서 관리되어야 하는 집합이다.
릴레이션과 테이블, 인스터스 릴레이션과 테이블은 같은 의미라고 해석하면 된다. 릴레이션에 기본키 및 제약조건을 설정하면 테이블이 된다. 인스턴스는 릴레이션이 가질 수 있는 값을 의미. 행의 수를 의미.
엔터티 종류
유형과 무형에 따른 엔터티 종류
종류 | 설명 |
---|---|
유형 엔터티 | 업무에서 도출되며 지속적으로 사용되는 엔터티 |
개념 엔터티 | 유형 엔터티는 물리적 형태가 있지만, 개념 엔터티는 물리적 형태가 없다. 개념적으로 사용되는 엔터티이다. 예로 들어 코스닥 종목, 생명보험 상품 등이 있다. |
사건 엔터티 | 비즈니스 프로세스를 실행하면서 생성되는 엔터티. 예로 들어서 주문, 취소 주문 등이 있다. |
발생 시점에 따른 엔터티 종류
종류 | 설명 |
---|---|
기본 엔터티(Basic Entity) | 키 엔터티라고 하며 다른 엔터티로부터 영향을 받지 않고 독립적으로 생성되는 엔터티. |
중심 엔터티(Main Entity) | 기본 엔터티와 행위 엔터티 간의 중간에 위치하며 즉 기본 엔터티로부터 발생되고 행위 엔터티를 생성하는 것이다. |
행위 엔터티(Active Entity) | 2개 이상의 엔터티로부터 발생한다. |
속성(Attribute)
엔터티가 가지는 항목이며 속성은 더 이상 분리되지 않는 단위이다. 인스턴스의 구성요소이고 의미적으로 더 이상 분해되지 않는다.
속성의 특징
속성은 업무에서 관리되는 정보이다. 속성은 하나의 값만 가진다. 주식별자에게 함수적으로 종속된다. 즉 기본키가 변경되면 속성의 값도 변경된다.
속성의 종류
분해 여부에 따른 속성의 종류
종류 | 설명 |
---|---|
단일 속성 | 하나의 의미로 구성된 것. |
복합 속성 | 여러 개의 의미가 잇는 것으로 대표적으로 주소가 있다. 주소는 시, 군, 동 등으로 분해 가능. |
다중값 속성 | 속성에 여러개의 값을 가질 수 있는 것으로 다중값 속성은 엔터티로 분해된다. |
특성에 따른 속성의 종류
종류 | 설명 |
---|---|
기본속성 | 비즈니스 프로세스에서 도출되는 본래의 속성. |
설계속성 | 데이터 모델링 과정에서 발생되늰 속성. 유일한 값을 부여. |
파생속성 | 다른 속성에 의해서 만들어지는 속성으로 합계, 평균 등이 있다. |
도메인(domain) 도메인은 속성이 가질 수 있는 값의 범위이다. 예로 들어서 성별이라는 속성의 도메인은 남자와 여자이다.