1. 데이터모델링과 데이터모델의 개념
1) 데이터 모델링
- 현실세계 데이터 → (개념적 모델링)→ 컴퓨터 세계 데이터 →(논리적 모델링) → 데이터베이스 저장
- 추상화(Abstraction)
2) 2단계 데이터 모델링
-개념적 데이터모델링(Conceptual modeling) : 현실 세계 데이터를 개념 세계로 옮기는 작업
-논리적 데이터모델링(Logical modeling) : 개념세계데이터를 데이터베이스에 저장하는 구조로 표현하는 작업
3) 데이터 모델
- 데이터 모델 : 데이터 모델링의 결과물을 표현하는 도구
- 데이터 모델의 구성 : 연산, 데이터구조, 제약조건
- 개념적 데이터 모델 : 현실세계를 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구
ex) 개체-관계 모델
- 논리적 데이터 모델 : 개념적 구조를 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구
ex) 관계 데이터 모델
2. 개체-관계 모델
1) 개체-관계 모델 : 개체와 개체간 관계를 이용해 현실세계를 개념적 구조로 표현한 것 → 개체, 속성, 관계
2) 개체-관계 다이어그램(E-R model) : 개체-관계 모델을 이용해 모델링한 결과물을 그림으로 나타낸 것
3) 개체(Entity)
(1) 의미
- 현실세계를 운영하는데 꼭 필요한 사물, 사람과 같이 구별되는 것
- 저장 가치 있는 중요 데이터를 가지고 있음
- 구별되는 이름, 고유 특성, 상태 (=속성) 이 있으며 반드시 그 속성은 1개 이상이어야 함
- 파일 구조의 레코드(record)와 대응
- E-R 다이어그램에서 사각형으로 표현
(2) 개체 타입과 개체 인스턴스
-개체 타입(Entity type) : 개체를 고유 이름과 속성들로 정의한것, =파일구조의 레코드 타입과 대응
-개체 인스턴스(Entity instance) : 속성이 실제 값을 가짐으로써 실체화된 개체 = 레코드 인스턴스와 대응
-개체 집합(Entity set) : 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것
4) 속성
(1) 의미
-개체나 관계가 가지고 있는 고유 특성
-의미 있는 데이터의 가장 작은 논리적 단위
-파일 구조의 필드(field)와 대응
-E-R 다이어그램에서 타원으로 표현
(2) 분류
① 단일 값 속성과 다중 값 속성
-단일 값 속성: 값을 하나만 가질 수 있는 속성 ex) 이름, 적립금
-다중 값 속성 : 값을 여러개 가질 수 있는 속성, E-R다이어그램에서 이중 타원으로 표현
ex) 전화번호, 취미, 친구, 전공
② 단순 속성과 복합 속성
-단순 속성 : 의미를 더는 분해할 수 없는 속성 ex) 적립금, 책 이름, 가격
-복합 속성: 의미를 분해할 수 있는 속성 ex) 주소, 생년월일
③ 유도 속성
-기존의 다른 속성의 값에서 유도되어 결정되는 설정
- 값이 별도로 저장되지 않음
- E-R 다이어그램에서 점선 타원으로 표현
ex) 나이← 생년월일 알면 유도 가능 , 근무연수 ←입사연수만 알면 됨
(3) 널 속성 (Null attribute)
- 널 속성 : 널 값이 허용되는 속성
- 널 값 : 아직 결정되지 않았거나 존재하지 않는 값 ↔ 공백, 0 과는 의미가 다르다
(4) 키속성
-각 개체 인스턴스를 식별하는데 사용되는 속성
-모든 개체 인스턴스의 키 속성 값은 다름
-둘 이상이 될수도 있음
-E-R 다이어그램에서 밑줄 표현
6) 관계(Relationship)
(1) 관계
-개체-개체 간 연관성
-개체 집합들 사이의 대응관계, = 매핑
- 관계 내에서도 속성을 가질 수 있음
-E-R다이어그램에서 마름모로 표현
(2) 관계의 유형① : 관계에 참여하는 개체 타입의 수 기준
-이항관계 , 삼항관계, 순환관계
(3) 관계의 유형② : 매핑 카디널리티 기준
-매핑 카디널리티(Mapping Cardinality)
관계를 맺는 두 개체집합에서 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수
-일대일관계 ex) 부부결혼
-일대다관계 ex) 부서-사원, 지도교수-학생
-다대다관계 ex) 고객-책, 과목-학생
(4) 관계의 참여 특성
-필수적 참여(전체 참여) : 모든 개체 인스턴스가 관계에 반드시 참여해야 함을 의미, 이중선으로 표현
ex) 모든 학생은 수강신청을 해야함 , 모든 고객은 책을 반드시 구매해야함
-선택적 참여(부분 참여) : 개체 인스턴스 중 일부만 관계 참여해도 되는 것을 의미
ex) 고객이 구매하지 않은 책이 존재할 수 있음
(5) 관계의 종속성
-약한개체 : 다른 개체 존재 여부에 의존적, 이중 사각형
-강한개체 : 다른 개체 존재 여부를 결정, 이중 마름모
-특징
강한개체-약한개체 관계는 일대다, 약한개체가 필수적으로 참여
약한개체는 강한 개체의 키를 포함하여 키를 구성
ex) 직원 개체와 부양가족 개체 사이의 부양관계
부양가족 : 직원이 근무해야만 부양 가능, 존재하므로 관계 참여에 필수적
직원 : 관계 참여 부분적, 부양할 가족이 없는 직원도 있으므로 모든 직원이 다 참여할 필요 없음
3. 논리적 데이터 모델
1) 관계 데이터 모델
-일반적으로 많이 사용됨
-2차원 테이블 형태
2)계층 데이터 모델
-트리형태
-루트 역할을 하는 개체가 존재하고 사이클이 존재하지 않음
-개체간 상하관계 성립
-두 개체 사이에 하나의 관계만 정의 가능
-다대다 관계를 직접 표현할 수 없음
-복잡한 구조, 어려운 삽입, 삭제, 검색
3)네트워크 데이터 모델
-그래프 형태
-개체 간 일대다 관계만 허용 : 오너/ 멤버
-두 개체 사이에 여러 관계 정의 가능, 이름으로 구별
-다대다 관계를 직접 표현할 수 없음
-복잡한 구조, 어려운 삽입,삭제,수정
'School Activities > Database' 카테고리의 다른 글
관계 데이터 연산 (0) | 2019.10.14 |
---|---|
관계 데이터 모델 (0) | 2019.10.14 |
데이터베이스시스템 (0) | 2019.10.14 |
데이터베이스관리시스템 (0) | 2019.10.13 |
데이터베이스 기본개념 (0) | 2019.10.13 |