데이터 모델 구성요소

한준수·2023년 8월 28일
0

데이터모델링

목록 보기
2/8

📖 관계형 모델 이론

📌 Relational Theory 정의

  • 관계형 모델은 1970년에 에드커 커드(Edgar codd)에 의해 최초로 제안되고 체계화 됨
  • 비즈니스 데이터를 인식, 구성하고 조직하는 잘 정돈되고 예견가능하며 직관적인 접근방법이다.
  • 관계형 모델은 데이터가 사용자에게 어떻게 보여지며, 사용자는 데이터에 어떤 조작을 하며, 데이터가 운영될 때 어떻게 유지되어야 하는가에 대한 템플릿이다.

📌 데이터베이스 구성 3요소

✍ 데이터 구조(Data Sturcture)

  • 사용자가 데이터를 인식하는 2차원의 관계테이블

사용자가 데이터를 인식하는 구성

6가지 특성을 가진 행(Row)과 열(Column)로 구성된 2차원의 관계테이블로 표현

  1. 각 열은 하나의 값만 가진다 - 1차 정규화
  2. 각 열은 동일한 성격의 값을 가진다
  3. 각 행은 일련의 열의 값에 의해 유일하게 식별된다. - Primay Key
  4. 열의 순서는 의미가 없다.
  5. 행의 순서는 의미가 없다.
  6. 각 열은 유일한 이름을 가진다.

✍ 데이터 조작(Data Manipulation)

  • 사용자가 관계테이블에 행하는 일련의 처리형태
  • SET처리 (set at a time, not one record at a time)

관계 연산자 조회 : 조회

  • Selector(or Restict) : 열에 의거한 행의 subset
  • Project : 열의 subset
  • Product : 두 관계의 테이블간 행의 조합을 묶음
  • Join : 열의 기준에 의거하여 각 행을 수평적으로 묶음
  • Union : 중복을 없이하여 각 행을 수직적으로 묶음
  • Intersection : 관계 테이블간의 공통된 행
  • Difference : 하나의 관계 테이블에만 있는 행
  • Division : 다른 관계 테이블의 모든 행에 대응하는 열을 제외한 열

처리 연산자 : 관계 테이블의 내용에 변화

  • Insert : 행의 입력
  • Update : 행의 수정
  • Delete : 행의 삭제

✍ 데이터 무결성(Data Integrity)

  • 관계테이블에 존재하는 데이터의 정확성과 일관성을 유지하기 위한 업무규칙

📃실체 무결성 규치 (Entity Integrity Rule)__

Primary Key는 Not Null이며, Unique(행 Row)은 하나 이상의 컴럼에 의해서 유일하게 식별되어야 한다.

  • Not Null : 값을 가져야한다.
  • Unique : 유니크(식별가능)해야한다.
  • Minimal Set : 식별자 최소화
  • 값의 변화가 없어야 한다.

📃 참조 무결성 규칙 (Referential Integrity Rule)

관계 테이블의 모든 외부 식별자 값은 연관되어 있는 관계 테이블에 주식별자 값이 존재해야 한다.

  1. 입력규칙 (Insert Rule)
    부모와 자식 테이블 중에서 자식 테이블에 자료를 입력할 때 외부키(Foreign Key)가 되는 컬럼의 값이 부모 테이블에 존재하느냐 안하느냐를 따져서 자식 테이블에 입력을 허용하거나 안하거나 하는 규칙

  2. 삭제 규칙(Delete Rule)
    부모와 자식 테이블 중에서 부모 테이블에 자료를 삭제할 때 주키(Primary Key)로 선언된 컬럼의 값이
    자식 테이블에서 사용되고 있는지를 따져서 부모 테이블 자료의 삭제를 허용하거나 안 하거나 하는 규칙

📃 영역(속성) 무결성 규칙(Domain Integrity Rule)

동일한 속성에 관한 무결성 규칙으로 데이터 타입, 길이, 허용 값, 기본값, 유일성, Null 여부 등에 관한 제
한이다. (Oracle 데이터베이스의 경우 Physical하게는 PK Constraint와 FK Constraint를 제외한 각종 Constraint라는 것들이다)

  • 데이터 타입 (Data Type)
  • 길이 (Length)
  • 허용 값(Permitted Value)
  • 범위 체크(Range Check)

📌 데이터 모델 3요소

✍ 구성요소 개념

  • 업무가 다루는 사항(대상) => 엔티티(개체, 실체) [ 테이블 - 물리데이터 모델링에서 사용됨 ]
  • 업무가 다루는 사항들 사이에 존재하는 연관 => 관계(Relationship)
  • 각 사항이 가지고 있는 상세한 특성 => 속성(Attribute)

✍ 엔티티(Entity)

개체 또는 실체로 해석하며, 업무 활동상 지속적인 관심을 가지고 있어야 하는 대상으로서
그 대상들 간에 동질성을 지닌 것으로 볼 수 있는 개체 집합이나 그들이 행하는 행위의 집
합으로 정의할 수 있다.

물리데이터 모델링 단계에서는 테이블로 표현한다.

학자별 실체 정의

  • Peter Chen : 유일하기 식별될 수 있는 사물(1976)
  • C.J.Date : DB 내에 나타내는 구별할 수 있는 객체(1986)
  • James Martin : 우리가 그에 대한 정보를 보관하는 어떤 것이나 가능하다.(1989)
  • Thomas Bruce : 정보로 관리되어야 하는 식별 가능한 사람, 장소, 사물, 사건, 개념 (1992)

✍ 엔티티 예

  1. 엔티티는 데이터 모델에서 3단계의 상세 수준으로 표현된다
  2. 데이터 모델링의 초기 단계에서부터 모델을 지나치게 상세히 표현하면 개체-관계 다이어그램을 이해하
    고 다루기가 힘들어질 수도 있기 때문에 간단하게 식별자만 보이거나 직사각형 안에 개체 이름만 간결하
    게 보임으로써 많은 모델들 중에서 사용자가 필요한 것들을 손쉽게 식별하게 하기도 한다. 더 간결한 형식은 상위 수준의 개요와 전반적인 개체-관계를 보여주는 데 사용된다

📌 속성(Attribute)

더 이상 분리되지 않는 단위 값(Atomic Value)

속성은 엔티티 내에서 관리하고자 하는 정보들의 항목이다.
엔티티를 명확하고 구체적으로 정의했다 하
더라도 이들의 특성을 설명할 수 있는 보다 구체적인 항목(속성)이 없으면 이 집합을 명쾌하게 객관화할 수 없다.

실체(Entity)를

  • 서술하고
  • 양을 계수화하고
  • 자격을 부여하고
  • 분류 하고
  • 구체적으로 기입하는 정보항목

📌 속성(Attibute) 예

✓ 실체(Entity)
• 사원
• 자동차
• 주문
✓ Instance
• 사원번호, 사원명, 생년월일, 주소, 직급, 이메일, …
• 모델, 중량, 가격, …
• 주문번호, 주문일자, 선적일자, …

📌 관계(Relationship)

관계는 엔티티와 엔티티 간 연관성을 표현하는 것으로, 엔티티의 정의에 따라 영향을 받기도 하고, 속성
정의 및 관계 정의에 따라서도 다양하게 변할 수 있다.
✓ 실체(Entity) 상호간 어떻게 연관되어 있는지를 파악하여 표현
• 식별성 (Identification)
• 선택성 (Optionality)
• 기수성 (Degree, Cardinality)
✓ 관계는 항상 2개의 실체(또는 한 개가 두 번) 사이에 존재(이항 관계 모델)
✓ 관계는 두 개의 관점(관계 Membership)을 가짐
✓ 관계의 양쪽 끝에 관계 명을 적음(관계가 상당히 복잡한 경우). 대부분은 관계선 가운데에 관계 명을 적
음. 관계 명을 적지 않아도 알 수 있는 경우(교차실체, 1차 정규화 실체)에는 적지 않아도 무방함

점선 : 없을 수도 있음
실선 : 무조건 하나 이상 가짐

위 사진은 사원입장에선 1 : 1
부서입장에선 1 : N의 관계

0개의 댓글