[DB] 데이터 모델

2023. 6. 1. 15:02·DataBase/DB theory

데이터 모델이란?


  • 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화 하여 체계적으로 표현한 개념적 모형이다.
  • 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 도구들의 모임이다.

 


 

데이터모델의 종류 

 

개념적 데이터 모델

  • 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다.
  • 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하기 때문에 정보 모델이라고도 한다.
  • 대표적인 개념적 데이터 모델로는 E-R모델이 있다.

 

논리적 데이터 모델

  • 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정이다.
  • 단순히 데이터 모델이라고 하면 논리적 데이터 모델을 의미한다.
  • 데이터 간의 관계를 어떻게 표현하느냐에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분한다.

 

관계 데이터 모델

  • 관계 데이터 모델은 사람들이 직관적으로 생각하기에 표 형태의 데이터를 저장하기 위한 그릇


 

 

데이터모델의 구성요소 

 

엔티티(=개체)(Entity)

  • 데이터베이스에 표현하려는 것으로 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체이다.
  • 파일 시스템의 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할을 수행한다.
  • 독립적으로 존재하거나 그 자체로서도 구별 가능하다.

 

속성(Attribute)

  • 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당한다.
  • 개체를 구성하는 항목이다.

위 그림은 교수번호, 성명, 전공, 소속으로 구성된 교수 개체이다.

 

관계(Relation)

  • 엔티티(개체) 간의 관계 또는 속성 간의 관계이다.

위 그림은 교수가 학생을 지도하는 관계이다.

 

관계의 형태

  • 일대일 : 개체 집합 A의 각 원소가 개체 집합 B의 원소 한개와 대응하는 관계
  • 일대다 : 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고 있지만, 개체 집합 B의 각 원소는 개체 집합 A의 원소 한 개와 대응하는 관계
  • 다대다 : 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러개와 대응하고 개체 집합 B의 각 원소도 개체 집합 A의 원소 여러개와 대응하는 관계

 

 


참고

  • https://coding-factory.tistory.com/218
'DataBase/DB theory' 카테고리의 다른 글
  • [DB] 테이블 용어 정리
  • [DB] 스키마(Schema) 개념
  • [DB] SQL(구조화 쿼리 언어) vs NoSQL(비구조화 쿼리 언어)
  • [DB] 데이터베이스(DB) 기초 개념
s_y_130
s_y_130
  • s_y_130
    About SY
    s_y_130
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • JAVA
        • 더 자바 8
        • JAVA
        • JAVA (JVM)
      • Computer Science
        • CS Basic
        • OOP
        • Design Pattern
        • Network
        • HTTP
        • WEB
        • OS
      • DataBase
        • DB theory
        • MySQL
        • Redis
      • Collection Framework
        • 구현
      • Data Structure
        • Linear
        • Non-Linear
      • Algorithm
        • Basic
        • 응용
        • 완전 탐색(Brute Force)
        • 다익스트라
        • Algorithm Problem
      • Spring
        • 스프링 핵심 원리 - 기본편
        • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
        • 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술
        • 스프링 DB 1편 - 데이터 접근 핵심 원리
        • 스프링 DB 2편 - 데이터 접근 활용 기술
        • 스프링 핵심 원리 - 고급편
        • 스프링 부트 - 핵심 원리와 활용
        • 재고시스템으로 알아보는 동시성이슈 해결방법
        • 개념
        • 테스트
        • Annotation
        • Error Log
      • TEST
        • 부하 테스트
        • Practical Testing: 실용적인 테스트..
      • JPA
        • 자바 ORM 표준 JPA 프로그래밍
        • 1편- 실전! 스프링 부트와 JPA 활용
        • 2편- 실전! 스프링 부트와 JPA 활용
        • 실전! 스프링 데이터 JPA
        • 실전! Querydsl
        • 개념
      • 백엔드 부트캠프[사전캠프] N
        • TIL N
        • 문제풀이 N
      • Open Source
      • Book Study
        • Morden Java in Action
        • Real MySQL 8.0 Vol.1
        • TDD : By Example
      • AWS
        • EC2
      • git
      • AI
        • Machine Learning
        • Deep Learning
        • TensorFlow
        • PyTorch
        • YOLO
        • Data Analysis
        • Ai code Error
        • Numpy
      • MY
      • WEB
        • Django
        • WEB 개념
        • React
        • Maven
      • Python
      • 기초수학
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_y_130
[DB] 데이터 모델
상단으로

티스토리툴바