본문 바로가기
database/db

데이터 모델의 개념

by hhhdangmoo 2022. 10. 26.
728x90
반응형

구조(Structure)

 - 데이터의 정적인 성질

 - 개체 타입과 이들 간의 관계를 표현

연산(Opertaion)

 - 데이터의 동적인 성질

 - 개체를 처리하는 작업에 대한 명세, 데이터 조작 기법

제약조건(Constraint)

 - 데이터의 논리적 제약

 - 데이터 조작의 한계를 표현한 규정

 

데이터베이스의 구성 요소

 1. 개념적 구조 : 사용자 입장에서의 구성 요소 (데이터베이스 = {개체, 관계})

 2. 논리적 구조 : 컴퓨터가 처리할 수 있는 데이터 모델

 3. 물리적 구조 : 저장 미디어에서 본 데이터의 물리적 배치 및 구성 

 

1. 개념적 구조

  •  개체(Entity)
  •  표현하고자 하는 현실 세계에 존재 하는 유,무형의 객체
  •  * 반드시 물질적으로 존재 할 필요는 없음 ex) 수강신청, 계약
  •  데이터베이스에서 표현되는 정보의 단위
  •  개체는 하나 이상의 속성(Attribute)로 구성
  •  속성 : 데이터의 가장 작은 논리적인 단위
  •  물리적인 단위 : Bit
  • 파일 시스템의 레코드(Record)에 대응 되는 개념
  •  Entity Set <ㅡ> Entity Instance

객체 타입(Entity Type)

  •  개체 집합에 속한 개체 인스턴스들이 공통으로 가지는 특징(구조)

관계(Relationship)

  •  개체들 사이에 존재하는 연관성
  •  ex) 교수와 학생 사이에는 지도 관계가 있다 
  •        신랑과 신부 사이에는 결혼 관계가 있다

 2. 논리적 구조

  •  컴퓨터가 인식하고 처리할 수 있는 데이터의 논리적 구조
  •  데이터베이스 관리 시스템과 사용자가 공통으로 인식하는 구조
  •  데이터베이스는 주로 관계형 데이터 모델에 기반함
  • 과거에는 계층적 모델, 네트워크 모델 등이 있었음
  • 현재 프로그래밍 환경에서는 주고 객체 지향 모델을 사용한다. 
  •   실세계를 객체(Object)들과 객체들 간의 의사전달(Message Passing)로 모델링 함
  • 최근 데이터베이스 관리 시스템들은 객체 관계형 모델을 사용함 ORDMBS

 

3. 물리적 구조

  •  하드 디스크, SSD, DVD와 같은 저장 미디어에서 본 데이터의 물리적인 배치 및 구성
  •  컴퓨터 위주의 표현 방식으로 저장 장치에 저장된 데이터의 실제 구조 및 접근 방법
  •  일반 사용자나 응용 프로그래머들은 물리적 구조를 인지하거나 파악하지 못함

 *데이터베이스 구성 시 유의사항*

   데이터베이스의 논리적 구조는 사용자가 숙지하고 있어야 함

   물리적 구조는 일반 사용자가 숙지할 필요는 없음

   논리적 구조와 물리적 구조 사이의 도표화(Mapping)은 데이터베이스 관리 시스템이 지원함 

 

관계형 데이터 모델(Relational Data Model)

  - 데이터베이스에서 가장 많이 쓰이고 있는 논리적 모델

 

관계형 데이터 모델의 특징

 단순한 모델 구조

  - 수학적 이론(집합론 : Set Theory)에 기반한 모델의 강건(Sound)함

  - SQL이라는 간단한 비절차적 언어로 쉬운 데이터 처리 가능

 

집합론

 집합의 특성

  •    우리의 직관 또는 사고의 대상 중에서 확정되어 있고 서로 명확히 구별 되는 것들의 모임
  •    구체적, 객관적 기준에 의해 원소를 명확히 구분 가능해야 함
  •    집합을 구성하는 원소 : 집합 내에서 유일하게 식별 될 수 있어야 함
  •    논리적인 개념도 집합의 구성 요소가 될 수 있음
  •    눈으로 보거나 손으로 만질 수 없더라도 첫번째 조건을 충족하는 개념이라면 이 역시 집합이 될 수 있음

1. 군집(Collection)

  -  동일한 유형의 원소들이 모여있는 군집

  -  하위타입 : Set, Bag, List, Array

2. Set

   - 원소의 중복 불가

   - 원소들 간의 순서 없음

3. Bag or Multi-Set

   - 원소의 중복 허용

   - 원소들 간의 순서 없음

4. List

  - 원소의 중복 불가

  - 원소들 간의 순서 있음

5. Array

  - 원소의 중복 허용

  - 원소들 간의 순서 있음

ex) {a, b, c} : set/list(o), bag/array(o) {a, b, b, c} : set/list(x), bag/array(o)

      {a, b, c} == {b, a, c} ? set/bag(true), list/array(false)

 

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

1. 릴레이션

  •  2차원 테이블 구조
  •  테이블의 행(Row) : 튜플(Tuple)
  •  릴레이션은 튜플들의 집합(set) --> 중복x, 순서x
  •  개념적 모델읠 개체(Entity)가 관계형 모델에서 한 튜플에 대응 됨
  •  개념적 모델의 관계(Relationship)도 관계형 모델에서 한 튜플에 대응 됨

 

2. 속성(Attribute)

  • 테이블의 열(Colum) 
  •  관계형 데이터 모델에서 데이터의 가장 작은 논리적 단위
  •  관계형 모델에서는 이 데이터 값들을 더 분해하려고 해도 더 분해할 수 없는 원자 값(Atomic Value)만들 허용
  •   원자 값은 아무런 내부적 구조를 지니고 있지 않음

 

3. 도메인(Domain)

  • 한 속성이 가질 수 있는 값의 범위
  • 도메인과 속성의 관계는 프로그래밍 언어에서 타입과 변수에 비유할 수 있다
  •    *어떤 데이터 타입으로 선언된 변수는 언제 어느 때고 그 선언된 데이터 타입의 값만을 가짐
  •  속성 정의시 모데인도 함께 명세함으로써 실제 속성이 갖는 값이 합법적인지 아닌지를
  •  데이터베이스 관리시스템(DBMS)을 통해 검사 가능
 릴레이션의 특성

 1. 튜플의 유일성

  - 릴레이션은 튜플의 집합

  - 집합은 중복을 허용하지 않음

 2. 튜플의 무순서성

  - 릴레이션은 튜플의 집합

  - 집합에서 원소들 간의 순서는 없음

 3. 속성의 무순서성

  - 스키마는 속성들의 집합

 4. 속성의 원자성(Atomicity)

 - 속성값은 원자값

 * 원자 : 더이상 쪼갤 수 없는 물질의 최소 단위

 - 속성은 개체를 구성하는 가장 작은 논리적 단위 - > 논리적으로 더 분해할 수 없음

 - 한 릴레이션에 나타난 속성값은 논리적으로 더 이상 분해될 수 없는 원자 값 처리상의 단위 값 : Unit Value

 - 이 성질의 근본적인 의미 : 튜플의 속성값은 하나의 값만을 허용

 - 반복 그룹, 즉 값의 집합은 허용하지 않음

 - 반복 그룹을 허용하지 않는 릴레이션 : 정규화 릴레이션(Normalized Relation)

 - 관계형 데이터 모델은 이 정규화 릴레이션만을 취급함


 

학번 이름 학과명 성별 성적
20051201 김철수 컴퓨터 85
20050315 이영희 수학 95
20040527 홍길동 과학 88
20031209 이영희 컴퓨터 95
20040307 박희동 수학 82
Q. 위 테이블을 통해 알 수 있는 속성, 도메인, 차수, 튜플, 카디널리티, 릴레이션 값은 ?
속성(Attribute) : 각 열에 부여 되는 이름 (ex. 학번, 이름, 학과명, 성별, 성적)
도메인(Domain) : 각 속성에 입력 가능한 값들의 범위를 미리 정한 것 (ex. 남, 여)
차수(Degree) : 속성의 수
튜플(Tuple) : 각 행을 의미, 하나의 튜플은 각 속성에서 정의된 값들을 이용해서 구성 됨 
카디널리티(Cardinality) : 튜플의 수를 의미
릴레이션(Relation) : 테이블을 의미, 중복된 튜플이 있어서는 안 되고 중복된 속성이 있어서도 안 됨

 

728x90
반응형