데이터베이스와 데이터 모델


데이터 모델의 개념 (1)

  • Name
    데이터 모델
    Type
    Description
    • 현실 세계의 정보들을 컴퓨터에 표현하기 위해 단순화, 추상화아여 체계적으로 표현한 개념적 모형
    • 데이터베이스 설계 과정에서 데이터의 구조(Schema)를 논리적으로 표현하기 위해 지능적 도구로 사용된다.
  • Name
    데이터 모델 구성 요소
    Type
    Description
    • 개체
    • 속성
    • 관계
  • Name
    데이터 모델 종류
    Type
    Description
    • 개념적 데이터 모델: 현실 세계에 대한 인간의 이해를 돕기 위해 추상적 개념으로 표현하는 과정 (대표적으로 E-R 모델이 있다.)
    • 논리적 데이터 모델: 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계 환경에 맞도록 변환하는 과정
    • 물리적 데이터 모델
  • Name
    데이터 모델 표시할 요소
    Type
    Description
    • 구조: 논리적으로 표현된 개체 타입들 간 관계로서 데이터 구조 및 정적 성질 표현
    • 연산: 실제 데이터를 처리하는 작업에 대한 명세로 디비를 조적하는 기본 도구
    • 제약 조건: 디비에 저장될 수 있는 실제 데이터의 논리적 제약 조건
데이터 모델의 개념

데이터 모델의 구성 요소 (2)

  • Name
    개체
    Type
    Description
    • 데이터베이스에 표현하는 것으로, 개념이나 정보 단위
    • 식별자에 의해 식별된다.
    • 다른 개체와 하나 이상의 관계를 가진다.

    개체 추가 설명

    1. 개체 타입: 속성으로만 기술된 개체의 정의
    2. 개체 인스턴스: 개체를 구성하고 있는 각 속성들이 값을 가져 하나의 개체에 나타내는 것
    3. 개체 세트: 개체 인스턴스의 합
  • Name
    속성
    Type
    Description
    • 데이터베이스로 구성하는 가장 작은 논리적인 단위
    • 데이터 항목 또는 데이터 필드에 해당한다.
    • 속성의 수를 디그리 또는 차수라고 한다.

    예를들어 게임을 구성하는 속성이 있을 때, 게임 종류, 게임 제작일, 무료 여부 등으로 속성을 구성할 수 있다.

    속성의 개체 구성 방식

    1. 기본키 속성(Primary Key Attribute): 개체를 유일하게 식별할 수 있는 속성
    2. 외래키 속성(Foreign Key Attribute): 다른 개체와의 관계에서 포함된 속성
  • Name
    관계
    Type
    Description
    • 개체와 개체 사이의 논리적인 연결
    • 개체 간의 관계와 속성 간의 관계가 있다.

    관계의 형태

    1. 1:1(일대일): 개체 집합 A와 각 원소가 개체 집합 B의 원소 한개와 대응하는 관계
    2. 1:N(일대다): 개체 집합 A와 각 원소는 개체 집합 B의 원소 여러 개와 대응하고 있지만, 개체 집합 B의 각 원소는 개체 집합 A의 원소 한 개와 대응하는 관계
    3. N:N(다대다): 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러개와 대응하고, 개체 집합 B의 각 원소는 개체 집합 A의 원소 여러 개와 대응하는 관계다.

    관계의 종류

    1. 종속 관계: 두 개체 사이의 주종 관계를 표현한 것
    2. 중복 관계: 두 개체 사이 2번 이상 종속 관계가 발생하는 관계
    3. 재귀 관계: 개체가 자기 자신과 관계를 갖는 것으로, 순환 관계라고도 부른다.
    4. 배타 관계: AND 관계와 OR 관계로 구분한다.
데이터 검증

식별자 (3)

  • Name
    식별자
    Type
    Description
    • 하나의 개체 내에서 각각의 인스턴스를 유일(UNIQUE)하게 구분할 수 있는 구분자.
    • 모든 개체는 반드시 하나 이상의 식별자를 가져야 한다.
  • Name
    후보 식별자
    Type
    Description
    • 개체 내에서 각 인스턴스를 유일하게 식별할 수 있는 속성 또는 속성 집합
    • 하나의 개체에는 한 개 이상의 후보 식별자가 존재할 수 있으며, 대표성을 나타내면 주 식별자, 나머지는 보조 식별자라고 말한다.

    주 식별자의 특징

    1. 유일성: 유일하게 구분되어야 한다.
    2. 최소성: 유일성을 만족시키고 최소한의 속성으로 구성되어야 한다.
    3. 불변성: 주 식별자는 한 번 지정되면, 그 식별자는 변하지 않아야 한다.
    4. 존재성: 주 식별자는 한 번 지정되면, 속성에 반드시 데이터

E-R 모델 (4)

  • Name
    E-R(개체-관계) 모델
    Type
    Description
    • 피터 첸(Peter Chen)에 의해 제안되고 기본적인 구성 요소가 정립되었다.
    • 개념적 데이터 모델의 가장 대표적인 것
    • 데이터를 개체, 관계, 속성으로 묘사한다.
    • E-R 다이어그램으로 표현하며 1:1, 1:N, N:N 관계 유형을 제한 없이 나타낼 수 있다.
  • Name
    E-R 다이어그램
    Type
    Description
    • 사각형: 개체(Entity) 타입
    • 마름모: 관계(Relationship) 타입
    • 타원: 속성(Attribute)
    • 관계: 1:1, 1:N, N:M 관계에 대한 대응수를 선 위에 기술
ER 다이어그램

관계형 데이터베이스의 구조 / 관계형 데이터 모델 (5)

  • Name
    관계형 데이터베이스
    Type
    Description
    • 2차원적인 표(Table)를 이용해서 데이터 상호 관계를 정의하는 데이터베이스
    • 개체(Entity)와 관계(Relationship)을 모두 릴레이션(Relation)이라는 표(Table)로 표현하기 때문에 개체에는 개체 릴레이션과 관계 릴레이션이 존재한다.
  • Name
    관계형 데이터베이스의 릴레이션 구조
    Type
    Description
    • 릴레이션(Relation)은 데이터들을 표(Table)의 형태로 표현한 것으로, 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성된다.
  • Name
    튜플
    Type
    Description
    • 릴레이션을 구성하는 각각의 행이다.
    • 튜플의 수를 카디널리티 또는 기수라고 한다.
  • Name
    속성
    Type
    Description
    • 데이터베이스를 구성하는 가장 작은 논리적인 단위
    • 속성의 개체의 특성을 기술한다.
    • 속성의 수를 디그리 또는 차수라고 한다.
  • Name
    도메인
    Type
    Description
    • 하나의 속성(Attribute)가 취할 수 있는 원자 값들의 집합

    예를 들면 성별이라는 속성에 남과 여가 있을 때 도메인에는 남과 여라는 집합으로 구성된다.

  • Name
    릴레이션의 특징
    Type
    Description
    • 릴레이션을 구성하는 튜플을 유일하게 식별하기 위해 속성들의 부분집합 키(Key)로 설정한다.
    • 속성의 값은 논리적으로 더 이상 쪼갤 수 없는 원자값만을 저장한다.
  • Name
    관계형 데이터 모델
    Type
    Description
    • 가장 널리 사용되는 데이터 모델이다.
    • 기본키(Primary Key)와 이를 참조하는 외래키(Foreign Key)로 데이터 간의 관계를 표현한다.
    • 관계형 모델의 대표적인 언어는 SQL이 있다.
    • 관계를 1:1, 1:N, N:M 관계를 자유롭게 표현할 수 있다.
관계형 데이터베이스의 구조 그리고 관계형 데이터 모델