[SQLD] 1과목 요점정리(모델링~엔터티)

dadev·2021년 8월 18일
0

SQLD

목록 보기
1/1
post-thumbnail

👉 모델링의 특징

  • 추상화 : 현실세계를 일정한 형식에 맞추어 표현

  • 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 것

  • 명확화 : 정확하게 현상을 기술하는 것


👉 데이터 모델링 단계


1. 개념적 데이터 모델링

  • 추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링

  • 고객의 비즈니스 프로세스를 분석하고 업무 전체에 대해서 데이터 모델링 수행

  • 복잡하게 표현하지 않고 중요한 부분을 위주로 모델링

  • 업무적 관점에서 모델링 / 기술적인 용어 사용x

  • 엔터티(Entity)와 속성(Attribute)을 도출하고 개념적 ERD(Entity Relationship Diagram) 작성


2. 논리적 데이터 모델링

  • 식별자를 도출하고 필요한 모든 릴레이션을 정의

  • 정규화를 수행해서 데이터 모델의 독립성 확보


3. 물리적 데이터 모델링

  • 데이터베이스를 실제 구축함.

  • 테이블, 인덱스, 함수 등 생성함.


👉 데이터 모델링 관점


👉 3중 스키마 구조


👉 좋은 데이터 모델의 요소

  • 완전성(Completeness)

  • 중복배제(Non-Redundancy)

  • 업무규칙(Business Rules)

  • 데이터 재사용(Data Retusability)

  • 의사소통(Communication)

  • 통합성(Integration)


👉 엔터티(Entity)

업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Thing)


엔터티와 인스턴스에 대한 표기법



👉 엔터티의 속성

  • 식별자 : 엔터티는 유일한 식별자가 있고, 식별 가능해야 함.

    • Ex. ID, 계좌번호

  • 인스턴스 집합

    • 두 개 이상의 인스턴스가 있어야 한다.

    • 고객정보는 2명 이상 있어야 한다.

  • 속성

    • 엔터티는 반드시 속성을 가지고 있어야 한다.

    • Ex. 고객 엔터티에 회원ID, 패스워드, 이름, 주소, 전화번호

  • 관계

    • 엔터티는 다른 엔터티와 최소한 한 개 이상의 관계가 있어야 한다.

    • Ex. 고객은 계좌 개설

  • 업무

    • 엔터티는 업무에서 필요하고 관리되어야 하는 집합이다.

    • Ex. 고객, 계좌



👉 엔터티의 종류


유무형에 따른 분류

  • 유형 엔터티

    • 업무에서 도출되며 지속적으로 사용되는 엔터티

    • 물리적 형태 있고, 안정적

    • Ex. 고객, 강사, 사원


  • 개념 엔터티

    • 물리적 형태 없음.

    • 개념적으로 사용되는 엔터티

    • Ex. 거래소 종목, 코스닥 종목, 생명보험 상품


  • 사건 엔터티

    • 비즈니스 프로새스를 실행하면서 생성되는 엔터티

    • Ex. 주문, 체결, 취소주문, 수수료 청구




발생시점에 따른 엔터티 종류

  • 기본 엔터티

    • 키 엔터티라고도 함.

    • 다른 엔터티로부터 영향 받지 않고(관계에 의해 생성x) 독립적으로 생성되는 엔터티

    • 타 엔터티 부모 역할

    • 자신의 고유한 주식별자를 가짐.

    • Ex. 사원,부서,고객,상품,자재 등


  • 중심 엔터티

    • 기본 엔터티와 행위 엔터티 간의 중간에 있는 것

    • 기본 엔터티로부터 발생되고 행위 엔터티를 생성하는 것

    • 업무에 있어 중심역할

    • Ex. 계좌, 주문, 취소, 체결


  • 행위 엔터티

    • 2개 이상의 엔터티로부터 발생됨.

    • 내용 자주 바뀜.

    • Ex. 주문 이력, 체결 이력



👉 엔터티의 명명


  • 가능한 현업 업무에서 사용하는 용어 사용

  • 가능하면 약어 사용 X

  • 단수명사 사용

  • 모든 엔티티에서 유일한 이름 부여

  • 생성 의미대로 이름 부여

profile
매일매일 최선을 다하는 개발자

0개의 댓글