simDev1234
심플하고 차분하게
simDev1234
전체 방문자
오늘
어제
  • 분류 전체보기
    • Computer Science
      • Basic Math
      • Data Structure
      • Algorithm
      • Database
      • OS
    • Language
      • Java
      • Kotlin
      • SQL
    • Framework
      • Spring
      • Orm&Mapper
      • 프로젝트로 스프링 이해하기
      • 스프링 라이브러리
    • Infra
      • Cloud
      • Docker
      • Redis
      • AWS, Azure
      • Device
    • Etc
      • CleanCoding
    • Git,Github

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • JVM메모리구조
  • 스프링
  • 자바
  • 자바메모리구조
  • 자바프로그래밍
  • 404
  • 참조타입
  • 자바프로그램
  • scanner #next() #nextLine()
  • controllerTest
  • 컨트롤러
  • 참조변수
  • null

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
simDev1234

심플하고 차분하게

[데이터베이스 설계] 데이터 모델링
Language/SQL

[데이터베이스 설계] 데이터 모델링

2022. 8. 27. 22:22

|  모델링이란?

- 모델링이란? 비즈니스 목적에 맞게 현실세계의 데이터를 도식화하는 것 

- 왜 모델링을 하는가? 비즈니스 목적에 부합하면서도, 효율적인 자원 관리를 하기 위해

- 모델링의 특징

추상화 현실 세계의 실재를 도식화 하는 과정
단순화 현실 세계의 현상을 약속된 규약에 의해 제한된 표기법 및 언어로 쉽게 표현하는 과정
명확화 모두가 이해할 수 있도록 모호함을 제거하고 정확하게 현상을 기술하는 과정

- 모델링을 바라보는 다른 시각

모델링 데이터  업무의 내용 (무엇을 - Data).

- 요구사항 X는 어떤 데이터와 연관되는가?
프로세스  업무의 처리 (어떻게 - Process).

- 요구사항 X와 연관된 기존 시스템은 뭔가?
- 요구사항 X를 위한 전반적인 프로세스는 뭔가? 
상관 관계 데이터와 프로세스간의 관계

- 업무 처리 방법(프로세스)에 따라 데이터는 어떻게 영향을 받는가?

 

|  데이터 모델링

- 데이터의 모델링이란? 정보시스템을 구축하기 위한 데이터 기반 업무 분석 기법

- 데이터 모델링 3단계

출처:https://blog.naver.com/PostView.nhn?blogId=qbxlvnf11&logNo=221225469375

단계 개념적 데이터 모델링(Conceptual) 논리적 데이터 모델링(Logical) 물리적 데이터 모델링(Physical)
정의 현실세계의 실재를 높은 추상화
수준으로 형성화하는 과정
비즈니스 정보의 논리적인 구조와
규칙을 명확하게 표현하는 과정
실제 DBMS에 데이터를 어떻게
저장할지 정의하는 과정
하는일 엔터티 및 엔터티간 관계 파악 트랜잭션 인터페이스 설계,
정규화, 참조 무결성 규칙 정의,
M:M관계 해소 등
트랜잭션 세부사항을 설계,
물리적 저장 구조(db,table..),
자료 추출 접근 방법 등을 정함

* 트랜잭션 : 쪼갤 수 없는 업무의 최소 단위 (ex. 물건을 산다)

* 일반적으로 개념적 모델링과 논리적 모델링을 함께 진행하는 경우가 많다고 한다.

 

|  데이터 모델링 표기법

- 다양한 표기법이 있지만 크게 아래와 같이 두 가지 방법에 대해서 많이 사용된다고 한다. 

피터첸 표기법 (E-R Entity-relationship Model) - Entity : 사각형
- Relationship : 마름모
- Attribute : 타원형
IE/Crow's Foot 표기법 Erwin에서 보는 발톱모양의 관계선에 해당

더보기

[ ER WIN 프로그램에서 쓰는 표기법에 대한 상세 설명 ]

* 출처 : https://lipcoder.tistory.com/330

- 그 중 피터첸 곧, E-R모델이 가장 많이 사용된다고 하는데, 자세한 내용은 아래와 같다.

피터첸_예시__출처:https://lipcoder.tistory.com/330

Entity 객체, 실체 사람, 장소, 물건, 사건, 개념 등의 명사

1) 업무와 연관되며 관리가 필요한 정보
2) 유일한 식별자에 의해 식별이 되어야
3) 두 개 이상의 영속적으로 존재하는 인스턴스의 집합이어야한다.
..... 등을 고려하는 것이 필요하다. (자세한 사항은 생략)
ex. 고객
Attribute 속성 더 이상 분리되지 않는 최소의 데이터 단위

* 도메인 : 각 속성이 가질 수 있는 값의 범위
  (ex. 성별 : 남자, 여자, 기타)
ex.
고객번호, 성명, 주소
Relationship 관계 상호 관계

- 관계명 ) 관계 시작점과 관계 끝 점이 있다.
- 관계 차수 ) 1 : 1, 1 : M, M : M(Many)
- 관계 선택 사양 ) 필수, 선택
ex.
고객 - 주문하다 - 주문서

 

|  데이터 모델링 프로그램

- ER WIN, ER Studio, eXERD 등 데이터 모델링을 위한 다양한 툴이 있다.

- 그 중에서도 IT업계에서는 ER WIN을 가장 많이 사용한다고 한다.

* ER WIN 다운로드 및 설치 안내 바로가기

* 이클립스 Exerd 플러그인 설치 (더보기)

더보기

[1] Exerd 홈페이지에서 이클립스 플러그인 버전을 선택하면 URL이 제공된다.

    http://exerd.com/update/exerd/3.x/

[2] 이클립스에서 [help]-[install software]를 선택한 후 [Add]를 통해 URL를 입력

 

 

[ 참고 및 출처 ]

부트 캠트 수업을 들은 후 정리한 내용입니다.

데이터모델링 표기법 https://lipcoder.tistory.com/330

https://blog.naver.com/PostView.nhn?blogId=qbxlvnf11&logNo=221225469375 

https://www.sap.com/korea/insights/what-is-data-modeling.html

https://chrismare.tistory.com/entry/ERwin-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-%EB%B0%8F-%EC%84%A4%EC%B9%98

'Language > SQL' 카테고리의 다른 글

DBMS 내부 처리 순서 - select / from / where / group by / having / order by  (0) 2022.09.24
[데이터베이스 설계] Exerd를 통해 설계해보기  (0) 2022.08.27
데이터 처리 - View, 함수/프로시져, 트리거  (0) 2022.08.20
데이터 처리 - ALIAS, JOIN, 내장함수, 페이징 처리  (0) 2022.08.17
데이터 처리 - CRUD  (0) 2022.08.16
    'Language/SQL' 카테고리의 다른 글
    • DBMS 내부 처리 순서 - select / from / where / group by / having / order by
    • [데이터베이스 설계] Exerd를 통해 설계해보기
    • 데이터 처리 - View, 함수/프로시져, 트리거
    • 데이터 처리 - ALIAS, JOIN, 내장함수, 페이징 처리
    simDev1234
    simDev1234
    TIL용 블로그. * 저작권 이슈가 있는 부분이 있다면 댓글 부탁드립니다.

    티스토리툴바