본문 바로가기
MySql

데이터 모델의 구성 요소

by 지민재 2022. 9. 15.
반응형
SMALL

데이터 모델 (data model)

  • 현실 세계의 데이터를 명세하는 고유한 표현 방식이자 데이터 모델링을 위한 도구
  • 데이터 구조와 연산 , 제약 조건 3 가지 요소로 구성

 

데이터 모델의 3 요소

  • 데이터 구조 (data structure) : 데이터를 어떤 형태로 저장하는지를 표현하는 추상적 표현 , 실제 저장 구조가 아닌 개념상의 저장 구조를 직관적으로 표현
  • 연산 (operation) : 개념적인 데이터 구조 안의 데이터를 어떤 방식으로 처리하는지를 표현
  • 제약 조건 (constraint) : 데이터 구조 안에 데이터를 저장할 때의 구조적 제약 사항과 연산을 적용할 때의 행위 적 제약 사항을 표현

 

관계형 데이터 모델

  • 테이블 형태의 '릴레이션' 을 통해 데이터를 저장하고 데이터간의 관련성도 표현
  • 데이터베이스를 논리적 수준에서 이해하고 사용할 수 있도록 함

 

관계형 데이터 모델의 3요소

  • 데이터를 저장하는 기본 데이터 구조는 릴레이션
  • 릴레이션의 데이터를 처리하는 연산은 관계 대수를 사용
  • 제약 사항을 무결성 제약 조건으로 명세

 

관계형 데이터 구조

관계형 데이터베이스 모델 (relational datebase)

  • 릴레이션으로 불리는 2차원 테이블 형태의 단순 구조에 데이터를 저장하는 방식
  • 테이블 구조는 릴레이션 개념을 직관적으로 쉽게 이해하도록 함

 

릴레이션(relation)

  • 관계형 데이터 모델의 핵심 요소로 특별한 의미를 갖는 테이블
  • 테이블 이상의 많은 의미와 제약 사항이 숨겨져 있음

 

릴레이션 관련 용어

속성과 튜플

속성(attribute)

  • 테이블의 열 (column)
  • 데이터를 표현하는 가장 작은 논리적 단위
  • 의미적으로 더 이상 분해할 수 없는 원자 값 (atomic value)만 사용
  • 릴레이션이 표현하는 대상의 주요 특성들을 서로 다른 이름으로 구별하여 표현

 

튜플 tuple)

  • 테이블의 각 행 (row)
  • 현실 세계의 개체 ( 를 표현
  • 각 속성 값 (attribute 들의 조합으로 구성
  • '학생' 릴레이션에서 하나의 튜플은 학생 개체 한 명의 정보를 표현

 

도메인 (domain)

  • 각 속성이 취할 수 있는 모든 값들의 집합을 정의한 것
  • 데이터 값들의 유형과 크기 , 범위를 정의

 

카디널리티와 차수

  • 각 릴레이션은 카디널리티와 차수를 통해 그 구성이 정의됨

 

카디널리티(cardinality)

  • 릴레이션 안의 전체 튜플의 개수
  • 입력, 수정, 삭제 등을 통해 계속 변화
  • 동적 특성

 

차수(degree)

  • 릴레이션을 구성하는 전체 속성의 개수
  • 각 튜플이 가지는 속성 값의 개수는 릴레이션의 차수와 같음
  • 정적 특성

릴레이션의 구성 요소

릴레이션

  • 릴레이션 스키마와 릴레이션 인스턴스 2가지 요소로 구성

 

릴레이션 스키마(relation schema)

  • 특정 릴레이션의 논리적 구조를 의미
  • 릴레이션의 이름과 릴레이션 안에 포함된 모든 속성의 이름들로 정의
  • 테이블의 첫 번째 행인 헤더 부분에 표현
  • 릴레이션 내포 (relation 라고도 부름
  • 시간이 경과해도 좀처럼 변경되지 않는 정적인 특성

 

릴레이션 인스턴스 (relation instance)

  • 어느 한 시점에 릴레이션에 존재하는 튜플들의 집합
  • 보통 테이블의 첫 번째 행인 헤더 부분을 제외한 나머지 모든 행들의 집합으로 표현
  • 릴레이션 외연 (relation 이라고도 부름
  • 특정 시점에서의 전체 튜플들의 내용 즉 , 릴레이션의 상태를 의미
  • 시간에 따라 변하는 동적인 특성이 있음

'MySql' 카테고리의 다른 글

MYSQL - 관계 대수 (relational algebra)  (1) 2022.09.15
MYSQL - 키의 종류  (0) 2022.09.15
데이터베이스 개념  (0) 2022.09.01
MYSQL - 데이터 조작어(ORDER BY & GROUP BY)  (0) 2022.07.31
MYSQL - 데이터조작어(WHERE 조건)  (0) 2022.07.26

댓글