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

+ Recent posts