4장 - 데이터 모델링

728x90
반응형

출처 : http://www.kocw.net/home/cview.do?lid=3f649d95955b9199

 

데이터베이스의 원리와 응용

본 강의에서는 데이터베이스 입문자들에게 꼭 필요한 데이터베이스 기초 이론, 데이터 모델과 연산, SQL, 데이터베이스 설계에 대해 공부하고자 한다.

www.kocw.net

 

 

이번 시간에는 데이터모델링을 학습한다.

  1. 데이터베이스 설계 단계
  2. 데이터 모델링의 정의와 데이터 모델의 개념
  3. 개체-관계 모델

 

 

데이터베이스 설계 단계

  • 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정
  • E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정
    • E-R 모델(Entity-Relationship model)
      • 현실 세계의 개체(Entity)와 그들 간의 관계(Relationship)를 그래픽으로 표현하는 방법
      • 데이터베이스를 설계할 때, 복잡한 데이터 구조를 시각적으로 이해하고 분석하기 쉽도록 사용된다.
      • 구성 요소
        • 개체(Entity) : 현실 세계에서 구별되는 대상(ex. 고객, 상품, 주문)
        • 속성(Attribute) : 개체의 특징(ex. 고객의 이름, 주소, 상품의 가격)
        • 관계(Relationship) : 개체 간의 연관성(ex. 고객이 상품을 주문한다)
    • 릴레이션 변환
      • E-R 모델은 사람이 이해하기 쉬운 시각적인 표현이지만, 컴퓨터는 이를 직접 처리할 수 없다. 따라서 E-R 모델을 컴퓨터가 처리할 수 있는 형태인 릴레이션(Relation)으로 변환해야 한다.
      • 테이블과 같은 형태로, 행(row)과 열(column)로 구성된다.
      • 각 행은 하나의 레코드를 나타내고, 각 열은 하나의 속성을 나타낸다.

 

 

 

E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정

  1. 요구사항 분석
    • 데이터베이스 용도 파악
    • 요구 사항 명세서
  2. 개념적 설계
    • DBMS에 독립적인 개념적 구조 설계
    • 개념적 스키마(E-R 다이어그램)
  3. 논리적 설계
    • DMBS에 적합한 논리적 구조 설계
    • 논리적 스키마(릴레이션 스키마)
  4. 물리적 설계
    • DBMS로 구현 가능한 물리적 구조 설계
    • 물리적 스키마
  5. 구현
    • SQL 문을 작성한 후 이를 DBMS에서 실행하여 데이터베이스 생성

 

 

데이터 모델링과 데이터 모델의 개념

데이터 모델링(Data Modeling)

  • 데이터 모델링이란 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
  • 현실 세계의 개체(Entity)의 속성(Attribute)를 추출하는 과정

 

2단계 데이터 모델링

  • 개념적 데이터 모델링(Conceptual Modeling) : 현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 과정
  • 논리적 데이터 모델링(Logical Modeling) : 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업

 

데이터 모델(Data Model)

  • 데이터 모델링의 결과물을 표현하는 도구
  • 개념적 데이터 모델
    • 사람의 머리로 이해할 수 있도록 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구
    • 비즈니스 요구사항을 중심으로 시스템의 데이터 구조를 정의하며, 사용자가 이해하기 쉽도록 도형과 선 등을 사용하여 시각적으로 표현한다.
    • 시스템의 데이터 요구사항을 명확히 하고, 시스템 개발에 참여하는 모든 이해관계자 간의 의사소통을 원활하게 하기 위함
    • ex. 개체-관계 모델
  • 논리적 데이터 모델
    • 개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구
    • 특정 데이터베이스 관리 시스템의 특징을 고려하여 설계되며, 테이블, 컬럼, 키 등의 데이터베이스 요소를 사용하여 표현
    • 데이터 중복을 최소화하고, 데이터 무결성을 보장하기 위해 정규화 과정을 거침
    • 개념적 모델을 바탕으로 실제 데이터베이스를 설계하고 구축하기 위한 기반 제공
    • ex. 관계 데이터 모델

 

개체-관계 모델

 

개체-관계 모델(E-R Model)

  • 현실 세계의 데이터를 컴퓨터가 이해할 수 있는 형태로 표현하기 위한 방법
  • 개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현
  • 핵심 요소 : 개체, 속성, 관계
  • 복잡한 데이터 구조를 시각적으로 표현하여 시스템 개발에 참여하는 모든 사람들이 쉽게 이해할 수 있도록 한다.

 

개체-관계 다이어그램

  • 개체 - 관계 모델을 이용해 현실 세계를 개념적으로 모델링한 결과물을 그림으로 표현한 것
  • 개체 : 사각형으로 표현
  • 속성 : 타원형으로 표현하고 개체 내부에 위치
  • 관계 : 다이아몬드로 표현하고 관계에 참여하는 개체와 선으로 연결

 

개체(Entity)

  • 현실 세계에서 조직을 운영하는 데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것
  • 저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등
  • 다른 개체와 구별되는 이름을 가지고 있고, 각 개체만의 고유한 특성이나 상태, 즉 속성을 하나 가지고 있음
  • 파일 구조의 레코드와 대응됨

 

속성(Attribute)

  • 개체나 관계가 가지고 있는 고유의 특성
  • 의미 있는 데이터의 가장 작은 논리적 단위
  • 파일 구조의 필드와 대응됨

 

개체 타입(Entity Type)

  • 개체를 고유의 이름과 속성들로 정의한 것
  • 파일 구조의 레코드 타입에 대응됨

 

개체 인스턴스(Entity Instance)

  • 개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체
  • 개체 어커런스라고도 한다
  • 파일 구조의 레코드 인스턴스에 대응됨
  • 직원이라는 개체 타입을 선언하고, 직원 개체의 속성에 값을 넣어 각각의 직원 정보를 넣으면 그 각 직원이 실제 개체로 만들어진 개체 인스턴스가 된다.

 

개체 집합(Entity Set)

  • 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것

 

 

속성의 분류

키 속성(Key Attribute)

  • 개체 인스턴스를 식별하는 데 사용되는 속성
  • 모든 개체 인스턴스를 구별할 수 있어야 하기 때문에 모든 개체 인스턴스의 키 속성 값은 달라야 한다.
  • E-R 다이어그램에서 밑줄로 표현

 

속성 값의 개수에 따른 분류

  • 단일 값 속성(Single-valued attribute)
    • 개체 인스턴스 당 하나의 값만 가질 수 있는 속성
    • 고객 개체의 이름, 적립금 속성
  • 다중 값 속성(Multi-valued attribute)
    • 개체 인스턴스 당 여러 개의 값을 가질 수 있는 속성
    • 고객 개체의 연락처 속성, 책 개체의 저자 속성

 

단순 속성과 복합 속성

  • 단순 속성(Simple Attribute)
    • 의미를 더는 분해할 수 없는 속성
    • 고객 개체의 적립금 속성
    • 책 개체의 이름, 가격 속성
  • 복합 속성(Composite Attribute)
    • 의미를 분해할 수 있는 속성
    • 고객 개체의 주소 속성(도, 시, 동, 우편번호 등으로 세분화 가능)
    • 고객 개체의 생년월일 속성(연, 월, 일로 세분화 가능)

 

유도 속성(Derived Attribute)

  • 기존의 다른 속성의 값에서 유도되어 결정되는 속성
  • 값이 별도로 저장되지 않음
  • 직접 데이터베이스에 저장되는 것이 아니라, 필요한 순간에 다른 속성의 값을 가지고 계산하여 얻어지는 값
  • E-R 다이어그램에서 점선 타원으로 표현

 

널 속성(Null Attribute)

  • 널 값이 허용되는 속성
  • Null 값이란 아직 결정되지 않거나 모르는 값 또는 존재하지 않는 값을 의미한다.
  • 공백이나 0과는 의미가 다르다.

 

관계(Relationship)

  • 개체와 개체가 맺고 있는 의미 있는 연관성
  • 개체 집합들 사이의 대응 관계, 즉 매핑(mapping)을 의미

 

관계의 유형

 

  • 관계에 참여하는 개체 타입의 수 기준
    • 이항 관계 : 개체 타입 2개가 맺는 관계
    • 삼항 관계 : 개체 타입 3개가 맺는 관계
    • 순환 관계 : 개체 타입 하나가 자기 자신과 맺는 관계
  • 매핑 카디널리티(Mapping Cardinality) 기준
    • 관계를 맺는 두 개체 집합에서, 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수
    • 1:1 관계
    • 1:n 관계
    • n:m 관계

 

 

일대일(1:1) 관계

  • 개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 하나와 관계를 맺을 수 있고, 개체 B의 각 개체 인스턴스도 개체 A의 개체 인스턴스 하나와 관계를 맺을 수 있음

 

일대다(1:n) 관계

  • 개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 여러 개와 관계를 맺을 수 있지만, 개체 B의 각 개체 인스턴스는 개체 A의 개체 인스턴스 하나와 관계를 맺을 수 있음

 

다대다(n:m) 관계

  • 개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 여러 개와 관계를 맺을 수 있고, 개체 B의 각 개체 인스턴스도 개체 A의 개체 인스턴스 여러 개와 관계를 맺을 수 있음

 

관계의 참여 특성

  • 필수적 참여(전체 참여)
    • 모든 개체 인스턴스가 관계에 반드시 참여해야 함
    • E-R 다이어그램에서 이중선으로 표현
  • 선택적 참여(부분 참여)
    • 개체 인스턴스 중 일부만 관계에 참여해도 됨

 

관계의 종속성

  • 약한 개체(Weak Entity) : 다른 개체의 존재 여부에 의존적인 개체
  • 오너 개체(Owner Entity) : 다른 개체의 존재 여부를 결정하는 개체
  • 오너 개체와 약한 개체는 일반적으로 일대다의 관계를 가지고, 약한 개체는 오너 개체와의 관계에 필수적으로 참여하는 특징이 있다
  • 약한 개체는 오너 개체의 키를 포함하여 키를 구성하는 특징이 있다
  • E-R 다이어그램에서 약한 개체는 이중 사각형으로 표현하고 약한 개체가 오너 개체와 맺는 관계는 이중 마름모로 표현한다.

 

728x90
반응형

'Study > 데이터베이스' 카테고리의 다른 글

6장 - 정규화 (1)  (2) 2024.11.21
5장 - 관계 데이터 모델  (1) 2024.11.20
3장 - 데이터베이스 시스템  (0) 2024.11.18
2장 - 데이터베이스 관리 시스템  (1) 2024.11.17
1장 - 데이터베이스 기본 개념  (0) 2024.11.17