DB&Server

Database Modelling

PGNV 2022. 1. 25. 14:14

데이터베이스 모델링(Database Modelling)

  • 정보화 시스템을 구축하기 위해 어떤 데이터가 존재 하는지 또는 업무에 필요한 정보는 무엇인지 분석하는 방법
  • 관계형 데이터베이스는 이 '표'의 개념을 사용해서 데이터를 구성하는 방법을 사용

 

 

 

 

 

 

데이터베이스 모델링(Database Modelling) 순서

 

 

 

 

 

 

 

 

 

 

개념적 데이터 베이스 모델링

개념적 모델링 예시

  • 업무분석 단계에서 얻어진 내용을 토대로 우선 Entity를 추출하고 Entity내에 속성(Attribute)을 구성하며, Entity간의 관계를 정의해서 ER-Diagram을 정의하는 단계
  1.  사용자 부문의 처리현상을 분석
  2. 중요 실체와 관계를 파악하여 ERD를 작성
  3. 실체에 대한 상세 정의
  4. 식별자를 정의하고, 식별자 업무규칙을 정함.
  5. 실체별로 속성을 상세화 함
  6. 필요한 속성 및 영역을 상세 정의
  7. 속성에 대한 업무규칙을 정의
  8. 각 단계를 마친 후 사용자와 함께 모델을 검토

 

 

개체 (Entity)

  • 사용자와 관계가 있는 주요 객체로써 업무 수행을 위해 데이터로 관리되어져야 하는 사람, 사물, 장소, 사건등을 개체(Entity)라고 함

속성 (Attribute)

  • 저장할 필요가 있는 실체에 관한 정보
  • 개체(Entity)의 성질, 분류, 수량, 상태, 특성 등을 나타내는 세부사항
  • 개체에 포함되는 속성의 숫자는 10개 내외로 하는것 권장
  • 최종 DB 모델링 단계를 통해 테이블의 컬럼으로 활용

 

속성의 유형

  • 기초 속성 : 원래 갖고 있는 속성으로 현업에서 기본적으로 사용되는 속성
  • 추출 속성 : 기초 속성으로부터 계산(가공)에 의해 얻어질 수 있는 속성
  • 설계 속성 : 실제로 존재하지 않으나 시스템의 효율성을 도모하기 위해 설계자가 임의로 부여하는 속성

 

 

식별자

  • 한 개체(Entity) 내에서 인스턴스를 유일하게 구분할 수 있는 단일 속성 또는 속성 그룹

후보키(Candidate Key) : 개체내에서 각각의 인스턴스를 구분할 수 있는 속성으로 기본키가 될 수 있는 후보 속성

기본키(Primary Key) : 개체(Entity)에서 각 인스턴스를 유일하게 식별하는데 가장 적합한 Key

기본키 설정 시 고려할 사항으로 해당 실체를 대표할 수 있을 것, 업무적으로 활용도가 높을 것, 길이가 짧을 것 등이 있다.

대체키(Alternate Key) : 후보키중에서 기본키로 선정되지 않은 속성

복합키(Composite Key) : 하나의 속성으로 기본키가 될 수 없는 경우 둘 이상의 컬럼을 묶어서 식별자로 정의하는 경우

대리키(Surrogate Key) : 식별자가 너무 길거나 여러 개의 속성으로 구성되어 있는 경우에 인위적으로 추가할 식별자

 

 

관계(Relationship)

두 개체(Entity)간의 업무적인 연광성 또는 관련 사실

  • 각 개체(Entity)간의 특정한 존재여부 결정
  • 현재의 관계 뿐만 아니라 장래에 사용될 경우도 고려

 

 

차수성(Cardinality) 

한 실체의 하나의 인스턴스가 다른 실체의 몇 개의 인스턴스와 관련될 수 있는가를 정의

  • 경우에 따라 발생 횟수를 조사
  • 양쪽 방향 모두 조사

 

 

 

 

 

 

 

 

 

논리적 데이터 베이스 모델링

개념적 데이터베이스 모델링 단계에서 정의된 ER-Diagram을 Mapping Rule을 적용하여 관계형 데이터베이스 이론에 입각한 스키마를 설계하는 단계와 이를 이용하여 필요하다면 정규화 하는 단계 구성

 

기본키 (Primary Key)

  • 후보키 중에서 선택한 주 키
  • 널(Null)의 값을 가질 수 없다
  • 동일한 값이 중복해서 저장될 수 없다

 

참조키, 이웃키, 외래키 (Foreign Key)

  • 관계를 맺는 두 개체(Entity)에서 서로 참조하는 릴레이션의 attribute로 지정되는 키

 

 

 

 

 

Mapping Rule

개념적 데이터베이스 모델링에서 도출된 개체(Entity)타입과 관계 타입의 테이블 정의

 

1:1 관계(교수와 학생의 E-R Diagram)

Mapping Rule을 적용하여 관계 스키마로 변환 (Entity-> Table)

 

 

 

 

 

 

 

 

정규화 

Attribute간에 존재하는 함수적 종속성을 분석해서 관계형 스키마를 더 좋은 구조로 정제해 나가는 일련의 과정

데이터의 중복을 제거하고 속성들을 본래의 제자리에 위치 시키는 것

 

제 1 정규화

  • 반복되는 그룹 속성을 제거한 뒤 기본 테이블의 기본키를 추가해 새로운 테이블을 생성하고 기존의 테이블과 1:N의 관계를 형성하는 과정
  • 반복되는 그룹 속성이란 같은 성격과 내용의 컬럼이 연속적으로 나타나는 컬럼을 말함

 

제 2 정규화

  • 복합키(Composite Primary Key)에 전체적으로 의존하지 않는 속성 제거
  • 제 2 정규화의 대상이 되는 테이블은 키가 여러 컬럼으로 구성된 경우
  • 복합키의 일부분에 의해 종속되는 것을 부분적 함수 종속 관계라 하며 이를 제거하는 작업

 

제 3 정규화

  • 기본키에 의존하지 않고, 일반 컬럼에 의존하는 컬럼들을 제거한다
  • 이행적 함수 종속관계를 갖는 컬럼을 제거하는 과정

 

 

 

 

정규화 최종 결과 -> 스키마(Schema)라고 부름 -> 다음단계 : DB

 

 

 

 

 

 

물리적 데이터베이스 모델링

  • 논리적 데이터베이스 모델링 단계에서 얻어진 데이터베이스 스키마를 좀더 효율적으로 구현하기 위한 작업
  • DBMS 특성에 맞게 실제 데이터베이스 내의 개체들을 정의하는 단계
  • 대충 테이블을 만든다 (Entity = 테이블)

'DB&Server' 카테고리의 다른 글

JSON(JavaScript Object Notation)  (0) 2022.02.17
XML(eXtensible Markup Language)  (0) 2022.02.17
CSV(Comma Separated Values)  (0) 2022.02.17
RDBMS&SQL  (0) 2022.01.21