본문 바로가기
정보처리/소프트웨어개발

데이터 입출력 구현 논리 데이터 저장소 확인 1/2

by 피갓자 2025. 4. 14.

데이터 입출력 구현 논리 데이터 저장소 확인
데이터 입출력 구현 논리 데이터 저장소 확인

데이터 모델

데이터 모델(Data Model) 개념

  • 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델

데이터 모델 표시 요소

연산(Operation)

  • 데이터베이스에 저장되니 실제 데이터를 처리하는 작업에 대한 명세
  • 릴레이션을 조작하기 위한 관계 연산을 나타냄(SELECT, PROJECT, JOIN, DIVISION)

구조(Structure)

  • 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 간의 관계
  • 데이터 구조 및 정적 성질을 표현하는 요소

제약 조건(Constraint)

  • 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
  • 데이터 무결성 유지를 위한 DB의 보편적 방법
  • 릴레이션의 특정 컬럼에 설정하는 제약을 의미(개체 무결성, 참조 무결성 등)

데이터 모델 절차

구조건 분석

  • 도출된 요구사항 간 상충을 해결하고 범위를 파악하여 외부 환경과의 상호작용 분석을 통해 데이터에 대한 요구 분석

념적 설계/개념적 데이터 모델

  • 사용자의 요구에 대한 트랜잭션을 모델링하는 단계
  • 개념적 데이터 모델은 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델

리적 설계/논리적 데이터 모델

  • 트랜잭션의 인터페이스를 설계하는 단계
  • DBMS에 맞는 논리적 스키마를 설계하는 단계
  • 논리적 데이터 모델은 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현한 데이터 모델

리적 설계/물리적 데이터 모델

  • 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 단계
  • 논리 데이터 모델을 사용하려는 각 DBMS의 특성을 고려하여 데이터베이스 저장 구조(물리 데이터 모델)로 변환하는 모델

논리 데이터 모델 검증

논리 데이터 모델링 개념

  • 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현하는 프로세스
  • 개념 모델로부터 업무 영역의 업무 데이터 및 규칙을 구체적으로 표현한 모델

논리적 데이터 모델링 종류

관계 데이터 모델

  • 논리적 구조가 2차원 테이블 형태로 구성된 모델
  • 기본 키(PK, Primary Key)와 이를 참조하는 외래 키(FK, Foreign Key)로 관계 표현
  • 1:1, 1:N, N:M 관계를 자유롭게 표현

계층 데이터 모델

  • 논리적 구조가 트리 형태로 구성된 모델
  • 상하관계 존재(부모 개체-자식 개체)
  • 1:N 관계만 허용

네트워크 데이터 모델

  • 논리적 구조가 그래프 형태로 구성된 모델
  • CODASYL DBTG 모델이라고 불림
  • 상위와 하위 레코드 사이에 N:M 관계를 만족하는 구조

관계 데이터 모델

관계 데이터 모델

관계 데이터 모델(Relation Data Model) 개념

  • 데이터를 행과 열로 구성된 2차원 테이블 형태로 구성한 모델
  • 수학자 E.F.Codd 박사가 제안한 모델

관계 데이터 모델의 구성요소

  • 릴레이션(Relation) : 행(Row)과 열(Column)로 구성된 테이블
  • 튜플(Tuple) : 릴레이션의 행(Row)에 해당하는 요소
  • 속성(Attribute) : 릴레이션의 열(Column)에 해당하는 요소
  • 카디널리티(Cardinality) : 튜플(Row)의 수
  • 차수(Degree) : 애트리뷰트(Column)의 수
  • 스키마(Schema) : 데이터베이스의 구조, 제약 조건 등의 정보를 담고 있는 기본적인 구조
  • 인스턴스(Instance) : 정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합

관계 대수

관계 대수(Relational Algebra) 개념

  • 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어

관계 대수 연산자의 종류

일반 집합 연산자

집합(Union)

  • 합병할 수 있는 두 릴레이션 R과 S의 합집합

집합(Intersection)

  • 릴레이션 R과 S에 속하는 모든 튜플로 결과 릴레이션 구성

집합(Difference)

  • R에 존재하고 S에 미 존재하는 튜플로 결과 릴레이션 구성

티션 프로덕트(Cartesian Product)

  • R과 S에 속한 모든 튜플을 연결해 만들어진 새로운 튜플로 릴레이션 구성

순수 관계 연산자

렉트(Select)

  • 릴레이션 R에서 조건을 만족하는 튜플 반환

로젝트(Project)

  • 릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환

인(Join)

  • 공통 속성을 이용해 R과 S의 튜플들을 연결해 만들어진 튜플 반환

비전(Division)

  • 릴레이션 S의 모든 튜플과 관련 있는 R의 튜플 반환

관계 해석

관계 해석(Relational Calculus) 개념

  • 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어

관계 해석 특징

  • 프레디킷 해석(Predicate Calculus)에 기반한 언어이며 비절차적 언어(원하는 정보가 무엇이라는 것만 선언)

관계 대수와 관계 해석 비교

  • 관계 수는 어떻게 데이터를 처리할지 순서를 명시하는 차적 언어로, 일반 집합 연산자와, 순수 관계 연산자가 있는 반면에 관계 석은 무엇을 얻을지를 계산 수식으로 유연하게 사용하는 절차적 언어로, 튜플 관계 해석과 도메인 관계 해석이 있음