3. 엔터티(Entity)

1) 엔터티(Entity)란?

  • 실체, 객체라고 생각할 수 있다.
  • 저장되기 위한 어떤 것(Thing)에 해당

 

-> 테이블 이라고 생각하면 되나..?

 

 * 인스턴스 : 엔터티에 저장될 수 있는 값들?

 

2) 엔터티의 특징

 * 일반적으로 아래의 특징을 지니지 않으면 적절하지 않은 엔터티의 확률이 높다

  • 업무에서 필요하며 관리하고자 하는 정보
  • 포함하는 인스턴스에 대해 유일한 식별자로 식별이 가능해야함
  • 지속적으로 존재하는 두개 이상의 인스턴스들의 조합이어야 함
  • 반드시 속성을 지녀야 함
  • 업무 프로세스에 의해서 이용
  • 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함

 

3) 엔터티의 분류

  1. 실체유형(유무형)에 따른 분류
  • 유형 엔터티 : 물리적인 형태가 존재하는 엔터티이며 안정적이고 지속적으로 활용
  • 개념 엔터티 : 물리적인 형태는 존재하지 않고 관리해야할 개념적인 정보로 구분
  • 사건 엔터티 : 업무를 수행함에 따라 발생되는 엔터티
  1. 발생지점에 따른 분류
  • 기본/키 엔터티 : 다른 엔터티와의 관계에 의해 발생 또는 생성되지 않고 독립적으로 존재하는 엔터티
  • 중심 엔터티 : 기본 엔터티로 부터 발생, 일반적으로 데이터 양이 많으며 다른 엔터티와의 관계를 통해 생성
  • 행위 엔터티 : 두 개이상의 부모 엔터티로 부터 주로 발생, 내용이 자주 바뀌거나 데이터 양이 증감

 

4) 엔터티의 명명

  • 가능하면 현업업무에서 사용하는 용어 사용
  • 가능하면 약어를 쓰지 않음
  • 단수 명사 사용
  • 유일성
  • 생성의미대로 이름을 부여

 

'SQLD' 카테고리의 다른 글

2. 데이터 모델링  (0) 2022.02.13
1. 데이터 모델링  (0) 2022.02.13

 데이터 모델링

1) 데이터 모델링이란?

  • 데이터베이스의 골격을 이해하고 그 이해를 바탕으로 SQL문장을 기능과 성능적인 측면에서 효율적으로 작성하기 위해 꼭 알아야하는 핵심 요소
  • 정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법
  • 현실세계의 데이터에 대해 약속된 표기법으로 표현하는 과정
  • 데이터베이스를 구축하기 위한 분석/설계 과정

 

2) 데이터 모델이 제공하는 기능

  • 시스템을 현재 또는 원하는 모습으로 가시화
  • 시스템의 구조와 행동을 명세화
  • 시스템을 구축하는 구조화된 틀을 제공
  • 시스템 구축 과정에서 결정한 사항을 문서화
  • 다른 영역의 세분 사항은 숨김
  • 목표에 따른 구체화된 상세 수준의 표현

 

3) 데이터 모델링의 중요성과 유의점

  1. 중요성
  • 파급효과 : 모델링이 제대로 이루어지지 않는다면, 테스트를 진행하는데 데이터의 문제가 발생
  • 복잡한 정보 요구사항의 간결한 표현 : 설계자의 생각대로 정보 요구사항을 이해할 수 있게 함, 데이터 정합성을 유지할 수 있음
  • 데이터 품질
  1. 유의점
  • 중복 : 여러장소에 같은 정보를 저장하는 것
  • 비유연성 : 업무변화에 따라 모델이 수시로 변경되면, 유지보수의 어려움을 초래
  • 비일관성 : 로직적인 부분에서의 데이터의 문제점

 

4) 데이터 모델링의 3단계

  • 개념적 데이터 모델링 : ERD
  • 논리적 데이터 모델링 : 키, 속성, 관계들을 정확하게 표현
  • 물리적 데이터 모델링 : 어떻게 저장될 것인가에 대한 정의를 

 

5) 데이터 독립성

  1. 데이터 독립성의 필요성
  • 끊임없이 요구되는 사용자 요구사항에 대해 화면과 데이터베이스 간에 서로 독립성을 유지하기 위한 목적
  • 각 View의 독립성을 유지하고 계층별 View에 영향을 주지 않고 변경이 가능
  • 단계별 스키마에 따라 정의어와 조작어가 다름을 제공
  1. 데이터베이스의 3단계 구조
  • 외부 단계 : 각각의 테이블 하나 Ex) 로그인시 접근하는 회원정보 테이블
  • 개념적 단계 : 해당 프로그램에 사용되는 모든 DB테이블
  • 내부적 단계 : 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현         Ex) 형식, 키값 등

 

6) 데이터 모델링의 3가지 요소

  • 업무가 관여하는 어떤 것
  • 어떤 것이 가지는 성격
  • 업무가 관여하는 어떤 것들의 관계

 

7) 좋은 데이터 모델의 요소

  • 완전성 : 모든 데이터가 데이터 모델에 정의되어 있는가
  • 중복배제 : 동일한 사실은 반드시 한번만 기록
  • 업무규칙 : 모든 용자가 공유할 수 있도록 제공
  • 데이터 재사용 : 신규 시스템을 구축하는 데에 있어서 매우 유리하게 작용
  • 의사소통 : DBA들이 업무규칙을 동일한 의미로 받아들여야 함
  • 통합성 : 동일한 성격의 데이터를 한 번만 정의함

'SQLD' 카테고리의 다른 글

3. 엔터티(Entity)  (0) 2022.02.16
1. 데이터 모델링  (0) 2022.02.13

 1) 모델링이란?

  • 우리 주변에 있는 사람, 사물, 개념 등 다양한 현상을 발생시키는 것들을 일정한 표기법에 의해 나타내는것
  • 가설적 또는 일정 양식에 맞춘 표현
  • 어떤 것에 대해 예비표현으로 그로부터 최종대상이 구축되도록 하는 계획
  • 복잡한 ‘현실세계’를 단순화시켜 표현하는 것

 

-> JAVA의 객체화와 개념이 비슷

 

 

2) 모델링의 특징

  • 추상화(모형화, 가설적) : 현실세계를 일정한 형식에 맞추어 표현
  • 단순화 : 약속된 규약에 의해 제한된 표기법이나 언어로 표현
  • 명확화 : 누구나 이해하기 쉽도록 애매모호함을 제거

 

3) 모델링의 3가지 관점

  • 데이터 관점 : 업무가 어떤 데이터와 관련이 있는지 

-> ERD?

 

  • 프로세스 관점 : 업무가 실제하고 있는 일은 무엇인지

-> Logic Process?

 

  • 데이터와 프로세스의 상관관점 : 처리하는 일에 따라 데이터는 어떻게 영향을 받고 있는지

-> UserFlow?

 

'SQLD' 카테고리의 다른 글

3. 엔터티(Entity)  (0) 2022.02.16
2. 데이터 모델링  (0) 2022.02.13

+ Recent posts