개념적 데이터 모델링

이상해씨·2023년 3월 28일
0

DB

목록 보기
1/1

개념적 데이터 모델링

DB의 극치 - 업무와 기술을 둘 다 알아야 함.

  1. 현실에서 개념을 추출해내는 필터
  2. 다른 사람과 개념에 대해 대화하게 해주는 언어

ERD

현실의 복잡함 속에서 간단하게 바라보는

정보를 발견, 표현( 이름, 전화번호, 작성자, 제목, 본문..)

그룹: 서로 연결된 정보를 그룹화하고 타인에게 이것을 표현할 수 있게 해줌(댓글, 저자, 글)

관계: 정보 그룹 사이의 관계를 인식하고 표형(작성한다, 속하다)

매우 쉽게 표로 변환할 수 있다.

관계형 데이터베이스 다운 개념의 구조

관계형 데이터에서는 ㄴ표가 표안에 내포되어 있는 것을 허락하지 않음(내포관계 X)

column이 너무 많은 것은 비효율적(거대 단일 테이블로 표현시 중복이 발생)

→ 표를 여러 표로 나누어 작성

  1. 주제에 따라 속성 그룹화(중요)
  2. 컴퓨터의 자원을 아낄 수 있다.

→ JOIN을 사용하면 표를 쉽게 통합할 수 있기 때문에 표를 여러개의 평면적인 형태로 생성하는 것이 좋음

  • 구성요소

전 단계에서 찾아낸 개념 (댓글, 글, ㅓ저자)를 모델링 또는 entity라고 함

entity는 추후에 table로 전환되게 될 예정.

attribute, col;umn: 구체적인 데이터(제목, 본문, 생성일)

realtiuonship: 저자, 글, 댓글의 관계 : 쓰다. , 소속된다 등 연관성을 표현한 것

엔티티의 정의

UI는 지상, DB는 지하- 서로 원인과 결과의 관계(기획과 데이터 모델링은 함께)

  1. 기획서에서 엔티티 찾아내기 → 스기 화면을 엔티티로 옮겨보고 무리가 없다면 쓰고, 무리가 있으면 수정
  2. 그리기(draw.io)
  3. UI와 모델링을 번갈아 가며 사용하는 교체 검증, 모델링이 가능하다는 장점이 있음

식별자 정의 (identifier)

엔티티 중 대표(주민번호, 도메인)

원하는 대상을 정확히 타켓화

같은 내용이 없어야 함

대표성이 있어야 함

  • 후보키: 대표키가 될 수 있는 키들
  • 기본키: 후보키 중 선택한 대표키 ,PK가 될 수 있는 키가 없을 경우, 인위적으로 키를 생성하여, 그 인조키를 PK로 설정 (대리키)
  • 대체키: 후보키 중 기본키가 아닌 다른 키들, 성능 향상을 위해 secondary index로 설정하기 좋음
  • 중복키: 여러개의 키를 종합하여 식별을 할 수 있는 키들

엔티티의 연결(관계)

관계: FK, PK 연결을 통해 형성됨

  • 외래키(FK): 외래의 테이블과 연결할 때 사용하는 키

Cardinality, Optionality

  • cardinality기수:

1) 1:1(일대일)

2) 일대다 1:M

3) N:M(다대다): 실제 현식 DB에서 표현 불가, 연결테이블 사용.

  • optionality

:있을 수도 없을 수도 있다.

option일 때는 O

mandatory 일 때는 |로 표현

  • cardinality와 optionality 고려

저자가 1명이고 필수

댓글이 여러개 옵션

개념적 데이터 모델링에 있어 기호를 어떻게 쓰느냐는 의견이 다양함으로 합의를 통해 적당하게 작성

erd.yah.ac

참고

profile
공부에는 끝이 없다

0개의 댓글