개념적 데이터베이스 모델링
- 수집된 현실세계의 정보들을 사람들이 이해할 수 있는 명확한 형태로 표현하는
단계입니다.
단계입니다.
- 업무분석 단계에서 얻어진 내용을 토대로 우선 엔티티(Entity)를 추출하고 엔티티
내의 속성(Attribute)을 구성하며 엔티티간의 관계를 정의해서 ER-Diagram을 정의
하는 단계 입니다.
내의 속성(Attribute)을 구성하며 엔티티간의 관계를 정의해서 ER-Diagram을 정의
하는 단계 입니다.
- 파워포인트를 이용한 실습
1. ER-Diagram의 표기법
- Tuple : Row
- E-R Model:
현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로
명확하게 표현하기 위해서 사용되고 있는 모델입니다.
Entity Type과 RelationShip Type을 기본 개념으로 현실세계를 개념적으로
표현하는 방법입니다.
사각형-개체(테이블), 둥근원-속성(컬럼), 마름모-관계(키 제약조건)
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
2. 실체(Entity = 테이블)
- 업무 수행을 위해 데이터로 관리되어져야 하는 사람, 사물, 장소, 사건등을 실체라고
합니다.
합니다.
- 실체는 학생, 교수등 물리적으로 존재하는 유형이 될 수도 있고 과목, 학과 등과
같이 개념적으로 존재하는 대상이 될 수 있습니다
같이 개념적으로 존재하는 대상이 될 수 있습니다
.
- 파악된 업무를 바탕으로 문장으로 만들어 명사 위주의 단어를 추출하여 실체를
생성 합니다.
생성 합니다.
- 실제 업무에도 없는 실체를 상상력으로 결정하지 말고 실제 존재여부를 확인한후
정확하게 정의 해야 합니다.
정확하게 정의 해야 합니다.
- 물리적 데이터베이스에서 테이블을 말합니다.
- 각각의 실체는 인스턴스라 불리는 개별적인 객체들의 집합입니다.
과목 <------ Entity(실체) -----> 학과
자료구조 컴퓨터공학과
데이타베이스 <-- 각각의 인스턴스 --> 경영정보학과
프로그래밍 국어교육과
: :
3. 속성(Attribute)
- 저장할 필요가 있는 실체(엔티티)에 관한 정보 입니다.
- 속성은 실체의 성질, 분류, 수량, 상태, 특성, 특징 등을 나타내는 세부사항을 의미
합니다.
합니다.
- 하나의 실체에 포함되는 속성의 숫자는 10개 내외가 적당합니다.
- 물리적 데이터베이스에서 컬럼을 말합니다.
- 속성의 유형
. 기초속성 : 원래갖고 있는 속성으로 현업에서 기본적으로 사용되는 속성
. 추출속성 : 기초속성을 가공처리(계산에 의해서) 얻어질 수 있는 속성
. 설계속성 : 실제로 존재하지 않으나 시스템의 효율성을 도모하기 위해 설계자가
임의로 부여하는 속성
4. 속성 도메인(Domain)
- 컬럼에 들어갈 수 있는 값의 범위
- 속성에 대한 세부적인 업무 제약조건 및 특성을 전체적으로 정의해 주는 것을
말합니다.
- 속성의 이름, 자료의 형태, 길이, Format 형식, 허용되는 값의 제약 조건,
유일성(Unique)여부, Null여부, 초기값, 유효값 등..
5. 식별자(Identifier)
- 레코드는 절대로 중복되면 안됩니다.
- Candidate Key(후보키)
. Entity(테이블)에서 레코드를 유일(고유)하게 구분할 수 있는 속성(컬럼)들
- Primary Key(기본키)
. Candidate Key중에서 활용도가 높고 길이가 짧은 키, Not Null, Unique, Clustered
Index
Index
- Alternate Key(대체키)
. 후보키중에서 기본키로 선정되지 않은 키
- Composite Key(복합키)
. 하나의 속성(컬럼)으로는 레코드가 고유하게 구분이 안되서 2개 이상의 컬럼으로
키를 구성하는 경우
. 쿼리문이 복잡해지는 문제점이 있음
- Surrogate Key(대리키)
. 대리키는 복합키를 대신하여 사용할 수 있습니다.
. 고유하게 구분되는 (속성)컬럼이 없고, 복합키의 구성이 난해한 경우 컬럼을 추가
하여 키로 구성
하여 키로 구성
. 이런 컬럼을 설계 속성 이라고 하며 그외의 일반 컬럼을 기초 속성이라고 합니다.
6. 관계(Relational)
- 두 Entity간에 업무적인 연관성을 관계라고 합니다.
- 관계차수란 두 Entity간에 Tuple(레코드)의 매핑 관계를 말한다.
- 선택성은 두 실체간에 관계가 설정되었을때, 항상 두 실체의 모든 인스턴스 간에
관계가 존재해야 하는지, 아니면 모든 인스턴스에 대해 존재할 필요는 없는지를 나
타내는 부분입니다
관계가 존재해야 하는지, 아니면 모든 인스턴스에 대해 존재할 필요는 없는지를 나
타내는 부분입니다
- A실체와 B실체 사이에 AB라는 관계가 성립되었다고 했을때 A의 모든 인스턴스가 AB관계에 모두 참여한다면 Mandatory라고 하며 B의 인스턴스중 일부만 참여해도
된다면 이는 Optional이라고 합니다.
된다면 이는 Optional이라고 합니다.
- Mandatory(|)는 반드시 ~해야만 한다.
Optional(O)은 ~일지도 모른다로 정의 될 수 있습니다.
다대다(N:M)관계를 개선한 테이블 구조
고객 주문 상품
--------- ------------------------------- --------------------
이름(PK ) 번호( PK) 이름(FK) 상품코드(FK) 상품코드( PK ) 상품명
--------- ------------------------------- --------------------
홍길동 001 홍길동 A A 새우깡
아로미 002 아로미 B B 고소미
왕눈이 003 왕눈이 C C 뽀빠이
홍길순 004 홍길동 A D 신새우깡
홍길숙 005 왕눈이 C E 과자1
투투 006 아로미 B F 과자2
[ 1:N ] [ N:1 ]
7. 개념적 모델링 실습
1. 업무분석 내용을 보고 Entity 및 속성 추출
2. ER-Diagram 그리기
---------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
'Database > Oracle' 카테고리의 다른 글
[Database] 논리적단계의 정규화 (0) | 2017.02.28 |
---|---|
[Database] 논리적 모델링 (0) | 2017.02.27 |
[Database] 업무 및 요구사항 분석 (0) | 2017.02.27 |
[Database] 참조 무결성의 이해 (0) | 2017.02.27 |
[Database] 관계형 데이터베이스 관리 시스템(RDBMS)의 이해 (0) | 2017.02.27 |