[강의] SQLD 2주차

신운홍·2025년 6월 2일

SQLD 자격증 챌린지

목록 보기
4/5

데이터모델링 = 현실의 데이터를 추상화시켜서 저장시키는 것

데이터 모델링의 정의
1. 정보시스템 구축을 위해 데이터 관점의 업무를 분석하는 과정
2. 현실세계의 데이터를 약속된 표기법에 의해 표현하는 과정
3. 데이터베이스를 구축하기 위한 분석 및 설계의 과정

결국, 데이터 모델링의 목적을 살펴보면 크게 2가지로 정리할 수 있습니다.

    1. 업무에 필요한 정보를 정확하게 '정의'하고 '표현'하여 업무를 분석

      → 개발하기 위해서만 데이터 모델링을 하는 것이 아님 !

    1. 분석 모델을 통해 실제 데이터베이스를 생성하여 데이터를 관리

모델링의 특징

데이터모델링 3단계 진행

데이터모델링의 관점

데이터 모델링의 중요성

파급효과 : 구체적인 내용은 변해도 큰 구조는 변하지 않도록 만드는 것이죠 쪼끔 바꾸고싶을때 전체가 바뀌어야 하는 모델은 안좋다

간결한표현 : 명확하고 간결하게 표현

데이터품질 : 데이터품질이 좋으려면 아래와같은짓을 하면안된다.

⓵ 중복 (Duplication)
◦ 데이터베이스 여러 곳에 같은 정보를 중복해서 저장하는 행위입니다.

⓶ 비유연성 (Inflexibility)
◦ 환경이 바뀌었을 때 데이터가 사용 가능 여부입니다.
◦ 데이터 모델을 어떻게 설계했느냐에 따라 사소한 업무의 변화에도 데이터 모델의 유지 보수가 쉬울 수도 있고 어려울 수도 있습니다.

⓷ 비일관성 (Inconsistency)
◦ 데이터의 중복이 없다고 해도 일관적이지 않은 데이터가 나타날 수 있습니다.
◦ 데이터 모델링을 할 때는 데이터와 데이터 간의 상호 연관 관계에 대한 명확한 정의를 해야 할 필요가 있습니다.

프로젝트 라이프 사이클에서 데이터모델링
폭포수 모델 : 몇월며칠까지 뭐 하자 ,몇월며칠까지 뭐 하고 끊어서하는거. 프로젝트 크기가 작을때 좋음
애자일 모델 : 작게 한번 만들어보고 검토하고 좀더 크게만들고 검토하고 좀더 크게하고 점진적으로 크기를 키워나가는 모델

폭포수 모델 : 분석(논리및개념데이터모델링) - 설계(물리데이터모델링) - 개발 - 테스트 - 전환/이행

데이터 모델링 이해관계자

3층 스키마

데이터 모델링의 과정에서 신경 써야 하는 것 중 하나는 데이터의 일체적 구성입니다. 일체적 구성이라고 하는 것은 일관된 형태로 데이터를 수집하는 것입니다. 다른 말로 표현하자면 데이터의 독립적 구성이라고 할 수 있습니다.

데이터독립성이 필요한 이유
유지보수 비용증가
데이터복잡도 증가
유지보수 중복성 증가
요구사항 대응 저하

3층 스키마 구성 : 사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술한것

외부단계(사용자가 보는 프로그램)
개념단계(DB를 추상화한 단계. 우리 데이터가 어떻게 구성되어있는지 설계자 관점)
내부단계(실제 데이터가 저장되어있는 단계. DB . 개발자 관점)

외부에서 요청하면 개념단계에서 내부단계의 데이터를 가져다주는데 필요한만큼만 떼다 줌

외부 <-> 개념 : 논리적 독립성
개념 <-> 내부 : 물리적 독립성

데이터모델링에 중요한 개념

엔티티 : 하나의 객체
속성 : 객체의 특징
관계 : 엔티티와 엔티티와의 관계 (1:N 일수있고 1:1 일수도있고)

ERD란
ENTITY RELATIONNSHIP DIAGRAM

ERD 작성법
1. 엔티티를 정의하고 그린다
2. 엔티티를 적절하게 배치한다
중요도 \ 느낌으로 그려나간다

  1. 엔티티간 관계 설정
  2. 관계명 서술
  3. 관계의 참여도 기술 (특정엔티티와 엔티티간의 관계수를 의미)
  4. 관계의 필수여부 기술

데이터모델 표기법

엔티티표기법/관계표기법

IE/CORW'S FOOT 표기법
BARKER/CASE*METHOD 표기법

좋은 데이터모델의 요소

  1. 완전성
  2. 중복 제재
  3. 업무규칙
  4. 데이터 재사용
  5. 의사소통
  6. 통합성

0개의 댓글