YZ ZONE

데이터 모델링 본문

IT

데이터 모델링

러블리YZ 2023. 2. 3. 14:03

[ 데이터 모델링 data modeling ]

:현실 세계 데이터를 선별(추상화)해 컴퓨터 세계 DB로 옯기는 변환 과정

추상화 abstraction (=단순화 simplefication): 실세계에서 특징을 뽑아내 저장.

1단계. 개념적 모델링 conceptual modeling

현실세계에서 중요 데이터를 추출해 개념세계로 옮기는 작업. 특직뽑기(추상화).ER모델

2단계. 논리적 모델링 logical modeling

개념세계의 데이터를 DB에 저장할 구조를 결정하고 표현하는 작업.추상화된 데이터를 구조결정 후 표현.

 

[ 데이터 모델 data model ]

: 데이터 모델링을 쉽게 하게 도와주는 도구 tool. 모델링의 결과물을 표현하는 도구.

구성 : 데이터 구조data structure, 연산operation, 제약조건constraint

개념적 데이터 모델에서 구조

: 추상화시 어떤 요소로 이루어져 있는지 표현.개체-관계 모델:ER

논리적 데이터 모델에서 구조

: 데이터를 어떤 모습으로 저장할 것인지 표현. 관계 데이터 모델

예시)
개념적 데이터 모델링: 요구사항을 반영해 설계도 그리는 과정
개념적 데이터 모델: 설계도를 그릴 때 사용하는 방법, 도구
논리적 데이터 모델링: 설계도를 토대로 모델하우스를 만드는 과정
논리적 데이터 모델: 모델하우스를 만들 떄 사용하는 방법, 도구

 

데이터베이스 설계 = 개념적 데이터 모델링 + 논리적 데이터 모델링

[ E-R다이어그램 ]

개체 entity

개체: 구별되는 모든 것. 사각형 안에 개체 이름 표기

개체 타입:개체를 고유한 이름과 속성들로 정의한 것

개체 인스턴스: 속성이 실제 값을 가져 실체화된 것

개체 집합: 인스턴스들을 모아 놓은것

속성 attribute

: 개체가 가지는 고유 특성

-단일 값 속성: 개체를 구성하는 속성 값이 하나

-다중 값 속성: 속성 값이 여러개. Ex)고객 인스턴스에 전화번호 여러개(집전화,휴대폰등)

-단순 속성: 의미를 더 분해할 수 없는 속성

-복합 속성: 값이 여러 의미 포함

-유도 속성: 기존의 다른 속성 값에서 유도되어 결정됨. 실제로 값을 저장하고 있는것은 저장 속성이고, 유도속성은 필요할 때마다 계산되로 저장할 필요없음. 점선타원.

-널 속성: 아직 결정되지 않았거나 모르는 값. 공백, 0 과는 다름

-키 속성: 각 개체 인스턴스들을 구별 식별. 밑줄.

관계 relationship

마름모. 개체 집합들 사이의 대응 관계 즉 매핑. 개체 사이의 의미있는 연관성.동사

- 관계 유형

매핑 카디널리티: 매핑 원소의 수 ⇒ 일대일 1:1, 일대다 1:n, 다대다 n:m

- 관계 참여 특성

= : 필수적 참여, 전체 참여

- : 선택적 참여, 부분 참여

- 관계의 종속성

개체 B가 독자적으로는 존재할 수 없고 다른 개체 A의 존재 여부에 의존적이라면 B가 A에 종속되어 있다고 함

B: 약한개체(이중 사각형) ex)부양가족 개체 키(직원번호, 이름) 이때 이름과 같이 약한 개체를 구별해주는 속성을 구변자, 부분키라고함.

A: 강한 개체 (직원번호).

약한 개체가 강한 개체와 맺는 관계(이중 마름모).

부분키: 약한 개체를 구별해주는 속성을 구별자, 부분키 라고 함.

[ 논리적 데이터 모델 ]

E-R다이어그램으로 표현된 개념적인 구조를 데이터베이스에 표현하는 형태를 결정하는 논리적 데이터 모델링에서는 DBMS 종류가 중요함.

논리적 데이터 모델로 표현된 데이터베이스의 논리적 구조가 스키마.

많이 사용되는 논리적 데이터 모델이 관계 데이터 모델(2차원 테이블 형태). 전에는 계층 데이터 모델(트리형태)과 네트워크 데이터 모델이 주로 사용되었음.

- 계층 데이터 모델 hierarchical data model

트리tree 형태. 루트 역할을 하는 개체가 존재하고 사이클이 존재하지 않음.

일대다 관계를 맺는 개체들 사이에는 상하 관계(부모 자식 관계)가 성립.

1:1, 1:n가능

- 네트워크 데이터 모델 network data model

그래프 graph , 네트워크 형태. 구조가 복잡,어렵.

'IT' 카테고리의 다른 글

DB 언어 SQL - DDL  (0) 2023.02.03
관계 데이터 모델  (0) 2023.02.03
데이터베이스 관리 시스템의 구성  (0) 2023.02.03
데이터 언어  (0) 2023.02.03
DBA  (0) 2023.02.03