Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

데이터 분석

데이터 모델 본문

SQL/추가 학습

데이터 모델

시니조 2023. 3. 5. 23:06

0. 데이터 모델의 정의

정보시스템, DB를 구축하기 위한 데이터 관점의 업무 분석, 설계하는 과정이다. 약속된 일정한 표기법을 사용한다. (ERD표기법 등)

 

 

1. 엔터티

저장되기 위한 어떤 것(Thing)

엔터티 안의 행 데이터들은 인스턴스라고 한다. (개별 개념 : 인스턴스)

예를 들어 엔터티는 과목 인스턴스는 국어, 수학 등이 될 수 있다. 

 

엔터티의 특징

 

  • 2개이상의 인스턴스로 구성된 집합
  • 식별자에 의해 식별이 가능
  • 속성을 포함해야 함
  • 다른 엔터티와의 관계가 최소 1개 이상 존재 (단, 통계성, 코드성, 시스템 처리용 엔터티는 인정)
  • 업무에서 꼭 필요로 하는 정보로 구성되야 함

 

 

2. 속성

인스턴스로 관리하고자 하는 의미상 분리되지 않는 최소단위

엔터티를 설명하고, 인스턴스의 구성 요소가 된다.

예를들어 이름, 제조년월, 제조단가 등이 있다. 

 

속성의 특징

 

  • 1개의 엔터티2개 이상의 인스턴스 집합
  • 1개의 인스턴스2개 이상의 속성을 지님
  • 1개의 속성은 1개의 속성값을 가짐  (개별 개념 : 속성값)

 

속성의 분류

 

  • 기본속성
  • 설계속성 : 사용자에 의해 새로 만들어진 속성  ex) 일련 번호
  • 파생속성 : 다른 속성의 영향을 받음  ex) 통계값, 계산된 값

 

도메인

각 속성이 가질 수 있는 범위로 데이터타입, 크기, 제약사항(NOT NULL, Check등)

 

 

 

3. 관계

엔터티의 인스턴스 사이 논리적 연관성

관계명, 차수(카디날리티), 선택성(옵셔널리티)으로 구성된다.

 

  • 차수는 1:1, 1:N, N:N으로 이루어질 수 있다.
  • 선택성은 필수참여, 선택참여로 이루어 질 수 있다.

 

관계의 특성 

 

  • 관계는 페어링의 집합 (개별 개념 : 페어링)

 

관계의 필수사항

 

  • 두 엔터티 사이 연관 규칙이 존재
  • 두 엔터티 사이 정보의 조합이 발생
  • 관계를 연결 가능하게 하는 동사가 존재
  • 관계 연결에 대한 규칙이 존재

 

 

4. 식별자 (키)

엔터티를 구분할 수 있는 논리적인 이름, 대표할 수 있는 속성이다. 즉, 엔터티는 반드시 하나의 유일한 식별자가 존재해야 한다.

 

식별자의 특징

 

  • 유일성 : 주 식별자에 의해 엔터티 내 모든 인스턴스를 유일하게 구분 가능   ex) ID
  • 최소성 : 주 식별자를 구성하는 속성 수는 유일성을 만족하는 최소 수여야 함   ex) ID + 이름 은 안됨
  • 불변성 : 주 식별자가 특정 엔터티에 지정되면 그 식별자 값은 변하지 말아야 함   ex) ID는 바뀌면 안됨
  • 존재성 : 주 식별자가 지정되면 반드시 데이터값이 존재해야 한다. (Null 허용 금지)   ex) ID는 무조건 존재해야 함

 

식별자 분류

 

  • 대표성에 따라 : 주 식별자 (PK) / 보조 식별자 (candidate key)
  • 스스로 생성 여부 : 내부 식별자 / 외부 식별자 (FK)
  • 하나의 속성인지 : 단일 식별자 / 복합 식별자 (복합키)
  • 대체 여부 : 본질 식별자 (원래 있던 비즈니스 프로세스에 의해 만들어진) / 인조 식별자 (새로 만든 설계, 속성)

 

식별자와 비식별자의 관계

 

  • 식별자 관계 : 자식이 부모의 기본키를 상속받아 기본키로 사용하고 있는 경우  
                           반드시 부모 엔터티가 생성되야 자식 엔터티에도 생성  (소멸시 같이 소멸) 되며 null이면 안됨

    문제점 - 식별자 속성이 지속적으로 증가할 수 있으며 복잡해지고 오류 가능성 유발

  • 비식별자 관계 : 부모로의 속성을 자식의 기본키로 사용하지 않고 일반 속성으로 사용하는 경우

    문제점 - 부모까지 조인해야 할 경우 SQL구문이 길어져 성능 저하 위험

 

 

'SQL > 추가 학습' 카테고리의 다른 글

DCL (DATA CONTROL LANGUAGE)  (0) 2023.03.14
TCL  (0) 2023.03.02
DML (DATA MANIPULATION LANGUAGE)  (0) 2023.03.01
DDL (Data Definition Language)  (0) 2023.02.27
oracle 설치  (0) 2023.02.27