SQL_ 데이터 모델링의 의해

ChoRong0824·2023년 3월 20일
1
post-thumbnail

3월 15일 스터디 이후, 제 스스로가 많이 부족함을 느꼈습니다.
스터디에 주어진 과제도 타 팀원들에 비해 확실하게 해가지 않았었던 것 같습니다.
저에게 좋은 인연이고, 좋은 기회이며, 친절하신 분들에게
많은 것을 배우며, 협업할 수 있는 이 기회를 스스로 차버리고 싶지 않았습니다.
이에 제가 부족한 부분은 메모장에 메모하여 스스로 알아보고 공부해서 팀원들이 얘기하는 주제에 대해
따라가고 싶었고, 그렇게 되어보자 생각했습니다.
이에 db에 기초인 sql에 대한 개념을 공부하려 합니다.
기초적인 것들부터 제가 기억하고자 하는 것들은 전부 다 포스팅 할 예정입니다.
서론이 길었네요. 시작하겠습니다.

모델링

데이터 베이스의 모델링은 현실 세계를 단순화하여 표현하는 기법 이며,
데이터를 저장하는 데이터베이스를 구축하기 위한 분석/설계의 과정입니다.

예를 들어, 헬스장에서 헬스 회원과 트레이너 사이의 피티를 한다고 가정해보자.
이 상황을 도식화하면, 멤버(회원), 트레이너(트레이너), pt라는 행위로 나뉠 수 있습니다.

모델링이 갖춰야 할 조건 1. 현실세계를 반영 2. 단순화하여 표현 3. 관리하고자 하는 데이터를 모델로 설계

모델링의 특징

  1. 추상화
    현실 세계를 일정한 형식으로 표현하는 것, 아이디어나 개념을 간략하게 표현하는 과정

  2. 단순화
    복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현

  3. 명확화
    불분명함을 제거하고 명확하게 해석할 수 있도록 기술


모델링의 세 가지 관점

  1. 데이터 관점
    데이터 위주의 모델링. 데이터 간에는 어떤 관계가 있는지에 대해서 모델링.

  2. 프로세스 관점
    프로세스 위주의 모델링. 실제로 처리하는 업무와, 앞으로 처리해야 하는 일은 무엇인지 모델링.

  3. 데이터와 프로세스의 상관 관점
    데이터와 프로세스의 관계 위주. 프로세스의 흐름에 따라 데이터가 어떠한 영향을 받는지 모델링.


모델링의 세 가지 단계

  1. 개념적 (데이터 모델링)
    추상화 레벨이 가장 높은 모델링. 업무 중심적인 모델링
  2. 논리적
    key, 속성, 관계 표현 하는 단계
  3. 물리적
    db에 실제로 구현하기 위해 성능이나 가용성을 고려하는 단계

데이터의 독립성

dba 입장에서 어플리케이션에 영향을 주지않고, db 구조를 변경할 수 있어야 독립성이 보장되는 것임.

1) 3단계 스키마 구조

  1. 외부 스키마
    사용자 관점 : 각 사용자가 보는 db의 스키마를 정의.

  2. 개념 스키마
    통합된 관점 : db에 저장되는 데이터들을 표현하고 데이터들 간의 관계를 나타냄.

  3. 내부 스키마
    물리적인 관점 : 물리적인 저장 구조를 나타냄.

2) 3단계 스키마 구조가 보장하는 독립성

  1. 논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마는 영향 x
  2. 물리적 독립성 : 내부 스키마가 변경되어도 외부/개념 스키마는 영향 x

ERD

시스템에 어떤 엔터티들이 존재하며, 그들 간에 어떤 관계가 있는지를 나타내는 다이어그램

  1. ERD 표기 방식

  2. ERD 작성 순서
    ㄱ. 엔터티를 도출하고 그림
    ㄴ. 엔터티를 적절하게 배치
    ㄷ. 엔터티 간의 관계 설정
    ㄹ. 관계명 기입
    ㅁ. 관계의 참여도 기입
    ㅂ. 관계의 필수/선택 여부를 기입


엔터티(Entity)

식별이 가능한 객체, 즉. 업무에서 쓰이는 데이터를 용도별로 분류한 그룹이라고 생각하면 됨.

profile
컴퓨터공학과에 재학중이며, 백엔드를 지향하고 있습니다. 많이 부족하지만 열심히 노력해서 실력을 갈고 닦겠습니다. 부족하고 틀린 부분이 있을 수도 있지만 이쁘게 봐주시면 감사하겠습니다. 틀린 부분은 댓글 남겨주시면 제가 따로 학습 및 자료를 찾아봐서 제 것으로 만들도록 하겠습니다. 귀중한 시간 방문해주셔서 감사합니다.

0개의 댓글