-
모델링이란 복잡한 현실 세계에 존재하는 데이터를 단순화 시켜 표현해 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정이다.
현실의 개념들을 체계적으로 수집하여 정보모델링을 통해 사용자의 정보요구사항을 조사하고
이를 개체, 관계, 속성을 중심으로 명확하게 체계적으로 표현한고 문서화하는 기법을 데이터 모델링이라고 한다.쉽게 이야기하자면, 현실에 존재하는 데이터를 가상(컴퓨터)의 데이터베이스에 적용하는 것을 데이터 모델링이라고 한다.
가상 세계에서 적용할만한, 활용에 용이한 특징(feature)을 추출(Abstraction)해야하는데, 이를 추상화라고 한다.
현실 세계의 데이터를 토대로 개념적이고 논리적인 모델링을 진행한 후에, 실제 가상(컴퓨터) 세계에 물리적으로 적용하는 행위를 통틀어서 데이터 모델링이라고 한다.
모델링이란 현실 세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기술을 말한다.
1) 추상화: 현실세계를 일정한 형식에 맞추어 표현 2) 단순화: 현실세계를 약속된 규약이나 제한된 표기법과 언어로 표현 3) 명확화: 누구나 이해하기 쉽게 애매모호함을 제거하고 정확하게 현상을 기술
-
추상화 수준에 따라 개념, 논리, 물리 3단계로 정의한다.
개념적 모델링은 현실 세계의 데이터를 추상화를 통해서 개념 세계의 데이터로 표현하는 과정이다. 정보 모델링 또는 개념적 설계와 동일한 개념인것이다. 주로 ER모델이라는 개념적 데이터 모델을 사용하여, 모델링 결과를 ER다이어그램으로 표현한다. E-R Model(Entity-Relation Model, 개체-관계 모델)은 개념적 모델링의 여러 방식 중 가장 많이 활용되는 방식이다.
논리적 데이터 모델링이란 개념 세계의 개체 타입을 DBMS가 지원하는 논리적 데이터 모델로 변환시키는 과정이다. 논리적 설계(Logical Design)와 동일한 개념인것이다.
논리적 모델링의 여러 방식 중 가장 많이 활용되는 방식으로는 Relational data model, 관계 데이터 모델이 있다.물리적 데이터 모델링이란 디스크에 데이터가 저장될 수 있도록 논리적 데이터 모델을 물리적 데이터 구조로 변환시키는 과정이다. 물리적 설계(Pysical Design)과 동일한 개념이다.
-
ER 모델은 요구사항으로부터 얻어낸 정보들을 개체(Entity), 애트리뷰트(Attribute), 관계성(Relation)으로 기술하는 데이터 모델을 말한다.
-
객체 지향 개념으로 보면 객체(Object)와 비슷한 개념이다.
-
개체(Entity)가 가지고 있는 고유한 특성이다.
-
개체와 개체 간의 연관성, 각 Entity들이 서로 어떤 관계를 맺고 있는지 연결(Mapping)을 말한다.
-
관계의 구분
-
일대일, 1:1관계
각 개체의 인스턴스가 다른 개체의 인스턴스와 1:1 관계를 가진 형태
-
일(一)대다(多) 관계, 1:N 관계
한 개체(1)**의 인스턴스가 다른 개체의 인스턴스 여러 개(N)와 관계를 가지는 형태
-
다대다 관계, N:M 관계
한 개체의 인스턴스가 다른 개체의 여러 인스턴스와 관계를 가질 수 있고, 그 반대도 성립.
-
-
-
논리적 데이터 모델링을 위한 방법론이다.
- 속성(attribute)
실제 데이터베이스 내 생성된 테이블 맥락에서는 열(Column)에 해당하는 부분
ex) 고객ID, 고객 이름, 나이, 등급, 직업
- 튜플(tuple)
실제 데이터베이스 내 생성된 테이블 맥락에서는 행(Row)에 해당하는 부분
파일 시스템 맥락에서는 레코드(record)에 해당
ex) 실제 데이터(개체 인스턴스), vv005, jsh0912 등 실제 데이터 행
- 도메인(domain)
특정 속성(attribute)이 가질 수 있는 값의 범위
ex) 고객 릴레이션의 등급(grade) 속성의 값으로는 bronze, gold, silver 등을 가질 수 있음.
나이, 생년 월일과 같이 연속적인 데이터나 이름 등은 전부 범위를 제한할 수 없기 때문에 데이터의 타입으로만 구분함
Ex) 이름(CHAR(8)), 나이(INT) 등
키(Key) 제약 조건(Key constraint)
키(Key)가 가져야 하는 기본 특성
유일성(uniqueness)과 최소성(minimality)
유일성 : 하나의 릴레이션에서 키로 지정된 속성 값은 튜플(Row, 행)마다 달라야 함
최소성 : 최소한의 속성들로만 키를 구성해야함
키의 종류
- 슈퍼키(super key)
유일성을 만족하는 속성의 집합
Ex) 고객 id, 휴대폰 번호, 주민등록번호 등
- 후보키(candiate key)
유일성과 최소성 모두 만족시켜야하는 키들
- 기본키(primary key)
후보키들 중에서 기본적으로 사용할 키
- 대체키(alternative key)
기본키로 선택되지 못한 후보키
- 외래키(foreign key)
어떤 릴레이션에 소속된 속성 또는 속성 집합이 다른 릴레이션의 기본키가 되는 키