본문 바로가기

카테고리 없음

멋쟁이사자처럼부트캠프 그로스 마케팅 4기 SQLD 스터디 2주차_4.24

1-1   데이터 모델링의 이해

데이터모델링 특성 적용 실패: 추상화, 단순화, 명확화

데이터모델링의 3단계: 개념 -> 논리 -> 물리모델링

 

외부 스키마: 사용자 관점에서 사용자와 접점이 일어나는 스키마

 

스키마: 데이터베이스의 설계도, 집을 예시로 설명

엔티티:개체, 데이터베이스 저장소에 넣는 실체 대상

 

추상화: 모든 정보의 공통적인 특징을 간략한 형태로 표현

          표현을 단순화

          하나의 뜻으로만 해석될 있도록 명확화

 

1)    개념모델링

1단계: 엔티티 도출(사용될 테이터 식별), 1 이상의 하위개념을 포함

*엔티티 후보: 주로 명사로 표현

2단계: 엔티티 배치, 중요 좌측상단, ERD(Entity Relationship Diagram)

     중요 엔티티부터 좌측 상단에서 우측 하단으로 유사 성격 / 동일 업무의 엔티티 -> 인접 지역 배치

 

주의점: 전체(전사) 비즈니스 프로세스를 분석하고 고객 Needs 파악하여 설계

                         전사적인 관점에서 설계

                         추상적/명시적으로 표현

                         추상화 수준이 가장 높은 모델링

                         업무적인 표현으로 작성

                         중요한 사항에 대한 설계만 진행

 

3단계: 개념 설계에서 도출된 예비 Entity 배치하고 관계 설정

관계 설정

-      관련이 있는 엔티티를 선으로 연결

 

2)    논리모델링

추가 단계: 속성 기술

속성기술: 개념설계에서 식별된 예비 속성을 기술

4단계 관계명 기술

관계명 기술

-      관계선 연결 사용한 개념 일반화 기술

-      엔티티 간의 어떤 행위나 존재나 있는지 표현하는

추가 단계: 식별자 정의

식별자

-      엔티티를 대표하는 유일성을 만족하는 속성

-      최소성/대표성/유일성/불변성/존재성을 만족해야

 

5단계: 관계 차수/ 기술(관계차수 도축)

-      프로세스, 데이터와 프로세스와 상관 관계 정도

-      관계기술: 연결된 엔티티 간의 연관도를 측정, 상대방 엔티티를 바라봤을 , 내가 몇번 보이는가를 표현

-      1/2/3 정규화 수행을 통해 데이터의 독립성 재사용성을 높인다

-      엔티티/인스턴스/속성의 중복을 제거하여 데이터모델의 독립성을 보장

 

1/2/3 정규화 수행 무엇을 쪼개는가

 

1정규화: 칸에는 하나의 값만 넣기

 

2정규화: 기본키가 2 이상으로 합쳐진 컬럼에서 일부분에만 종속된 속성을 별도의 테이블로 떼어낸다(EX. 기본키가 학번+과목코드인데, 이름이라는 정보가 학번에만 의존하고 있으면 과목코드가 바뀌어도 이름이 바뀌는 오류 발생)

 

3정규화: 기본키가 아닌 일반 컬럼들끼리 서로 종속 관계가 있는 경우

         (EX. 다른 컬럼을 거쳐서 정보를 알게된다, 학번->우편번호->주소의 경우 학번,우편번호/우편번호,학번으로 테이블을 나누는 )

 

원부이(원자값, 부분 종속 제거, 이행 종속 제거)

 

3)    물리모델링

DBMS: 데이터베이스를 관리해주는 소프트웨어 패키지

DDL(Data Definition Language): 데이터 정의, 변경 삭제할 사용하는 명령어

1단계: 논리 모델을 실제 생성될 DBMS 구조적 특성을 지원하도록 조정한다

2단계: 물리 모델링에서 주로 하는 , 물리 DBMS 지원하는 Data Type(유형), Size 표기법에 맞게 전환해야 , 설계된 논리모델의 엔티티별 식별자를 Priamry Key 전환, 절차에서 생성된 DDL문을 추출하여 Table/Column/INDEX 등을 생성, 성능/보안/기용성 등을 고려하여 모델링 되어야 하고, 생성되어야 한다

 

데이터 모델링 요점

특징: 추상화, 단순화, 명확화

 

순서

개념 데이터 모델링 -> 논리 데이터 모델링 -> 물리 데이터 모델링

 

관점

데이터, 프로세스, 데이터 & 프로세스 연관관계

 

 

ERD: 데이터베이스의 전체 설계도 시각화 그림

ERD 작성 순서

엔티티의 도출 -> 엔티티의 배치 -> 엔티티간의 관계 설정 -> 관계명 서술 -> 관계 참여도 기술

 

고려사항

데이터 모델의 독립성 확보

데이터 요구사항의 표현

데이터의 품질 확보

 

3 스키마(데이터베이스 스키마 구조 3단계)

ANSI 설계 표준

데이터베이스의 독립성을 확보

-      복잡도 감소

-      중복제거

-      요구사항 변경에 따른 대응력 향상

-      관리 유지보수 비용 절감

 

실선: 관계수가 실선=필수, 관계수가 점선=선택

 

3 스키마: 사용자-(외부스키마-개념스키마-내부스키마)

사용자 존재 이유?

-사용자가 있어야 외부스키마가 있기 때문

 

엔티티 후보: 사람, 사물, 장소, 상품, 행동 주로 명사

 

데이터 모델링의 유의사항

1)    중복

2)    비유연성

3)    비일관성

 

 

2-1. 엔티티

 

엔티티: 현실 세계의 생활 또는 업무에서 관리해야 되는 데이터 Group(데이터 그룹)

생성/저장/관리가 되어야 하는 정보의 집합

정보를 등록 관리하기 위해서 생성

 

집합적인 것을 만드는

실체와 실체 간의 관계에 해당하는

이상의 인스턴스로 구성되게 만듦

 

엔티티 사이의 관계, 엔티티의 형태, 엔티티의 생성관점, 엔티티의 유무형

엔티티 생성 관점을 기준

 

엔티티명, 식별자, 관계수, 속성

특성

1 이상의 속성

1 이상의 인스턴스

1 이상의 관계(관계: 엔티티와 엔티티 사이의 논리적 연결)

1 또는 이상의 속성으로 식별자

1 또는 이상의 업무에서 관리

 

엔티티의 분류

-      엔티티 사이의 관계- 강한,약한

-      엔티티 형태- 독립, 업무중심(-종속,교차)

-      엔티티 생성관점 핵심, 중요, 행위

-      엔티티 /무형-유형, 비실체

 

강한: 독립적으로 존재, 자체 식별자 사용하여 고유하게 인스턴스를 식별

약한: 다른 엔티티의 종속, 자체 식별자가 없으며 다른 엔티티의 식별자를 상속받아 사용

 

2-2. 속성

업무에서 관리되는 정보

하나의 값만 가짐

두개 이상의 속성을 가짐

업무에서 명사로 표현된 값들을 추출

 

속성의 도출

엔티티 생성관점 기준

핵심, 중요, 행위

 

속성의 구성

속성명: 실체의 특성을 규정하는, 명확성과 함축성

식별자여부: 속성이 엔티티 식별자에 해당하는지 표시

Optinality: 인스턴스가 발생할 해당 속성이 반드시 특정 값을 가져야 하는 지에 대한 구분

도메인: 속성이 허용하는 데이터 형식/크기/범위

 

속성의 종류

단순속성: 이상 분해 없는

복합 속성: 단순 속성들의 조합

단일 속성:: 속성이 하나의

다중 속성: 하나의 속성에 여러 개의 값이 존재

기본 속성: 속성에 영향 받지 않는, 원래 존재

설계 속성: 데이터모델링 과정에서 생성되는 속성, 유일한

파생 속성: 저장, 기본 속성으로부터 생성되어 지는 속성

 

식별자

PK 속성: 기본키

FK 속성: 외부로부터 상속받은

일반 속성: 식별자 속성

 

2. 관계

엔티티 간의 존재하는 업무 규칙(관련성) 존재와 행위 관계로 나뉜다

 

관계수, 선택성, 식별자 상속(상속성), 관계명으로 구성

 

바커 표기법과 정보공학 표기법을 주로 사용

 

존재: 업무의 주체 또는 업무의 대상, 독립적으로 존재하는 엔티티

 

행위: 존재로 발생하는 업무를 대표하는 엔티티

 

바커 표기법 DA# 없음, # = 식별자(식별관계), *=일반속성(비식별관계), 점선=선택, 직선=필수

 

IE 표기법 ERwin 식별자상속, 비식별상속=일반속성으로 상속

 

관계의 구성

 

관계(): 어떤 엔티티의 인스턴스 하나가 다른 엔티티의 인스턴스와 대응될 있는지 표시

-      바커 표기법: 표시가 없으면 1, ‘<’표시가 있으면 Many

-      IE 표기법: ‘|’ 표시면 1, ‘<’표시면 Many

 

선택성: 엔티티의 인스턴스에 대응되는 상대 엔티티 인스턴스가 반드시 존재 또는 부재 가능한지 표시

-      바커:점선이면 Optional,실선이면 Mandatory

-      IE:‘-‘표시면 Mandatory,‘O’표시면 Optional

 

식별자 상속: 엔티티 관계를 정의 상대 엔티티에서 식별자를 상속 받을지 상대 엔티티의 식별자를 일반 속성으로 참조 하는가에 대한 표시

-      바커:’|’있으면 식별자 상속, 없으면 비식별자 상속

-      IE:실선 식별자 상속, 점선 비식별자 상속

 

관계(): 엔티티 간의 관계에 참여하는 인스턴스의

 

1:1, 1:N,M:N

 

완전 1:1 선택적 1:1

 

필수적 관계 -> 식별자 상속

선택적 관계 -> 식별자 비상속

 

카테시안 발생: 엔티티의 존재하는 모든 인스턴스의 모든 조합

 

8강까지 강의보기 + 노랭이 P.10까지 풀어보기!