SQLD

SQLD(2일차)

seunghyeoniya 2023. 8. 25. 08:52

4. 두 영역의 데이터독립성

1) 논리적 독립성 : 개념 스키마가 변경되어도 외부스키마가 영향을 받지 않는 것

2) 물리적 독립성 : 내부 스키마가 변경되어도 외부/개념스키마가 영향을 받지 않는 것

 

5. 사상(Mapping)

상호 독립적인 개념을 연결시켜주는 다리를 뜻한다.

1) 논리적 사상 : 외부적, 개념적 뷰의 상호 관련성을 정의한다.

2) 물리적 사상 : 개념적, 내부적 뷰의 상호 관련성을 정의한다.

데이터독립성을 보장하기 위해서는 사상을하는 스크립트(DDL)를 DBA가 필요할 때마다 변경해주어야 한다.

각 단계의 독립성을 보장하기 위해서 변경사항이 발생했을 때 DBA가 적절하게 작업을 해주기 때문에 독립성이 보장된다.

 

[7] 데이터 모델링의 중요한 세 가지 개념

1. 데이터 모델링의 세 가지 요소

1) 업무가 관여하는 어떤 것(Things) -> 엔터티

2) 어떤 것이 가지는 성격(Attributes) -> 속성

3) 업무가 관여하는 어떤 것 간의 관계(Relationships) -> 관계

 

2. 단수와 집합(복수)의 명명

개념
단수(개별)
복수(집합)
Things
Entity
Entity Type
Instance, Occurence
Entity
Attributes
Attribute Value
Attribute
Relationships
Pairing
Relationship

 

[8] 데이터 모델링의 이해관계자

1. 이해관계자의 데이터 모델링 중요성 인식

- 데이터 모델링이라는 과정은 단지 데이터베이스를 설계한다는 측면보다 업무를 이해하고 분석하여 표현하는 것이 중요하고, 표현된 내용을 바탕으로 프로젝트 관련자와 의사소통하고 프로그램이나 다른 표기법과 비교 검증하는 일을 수행하는 등 많은 시간을 업무를 분석하고 설계하는데 할애하기 때문에 업무영역별 개발팀에서 보통 데이터 모델링을 진행하게 된다.

- 실제 모델링 작업은 응용개발을 하는 사람이나 업무분석가(역할분담이 잘되어 있을 경우)가 담당하고 모델러나 DBA는 정확하게 모델링이 진행될 수 있도록 교육하고 제시하며 현안별로 직접 모델링을 진행하는 역할을 수행한다.

- 정보시스템을 개발한다고 할 때 데이터 모델링, 데이터베이스 구축, 구축된 데이터의 적절한 활용은 다른 어떤 일보다 중요하다.

데이터베이스 설계를 잘못했을 때 모든 트랜잭션에 영향을 미치게 된다.

 

2. 데이터 모델링의 이해관계자

1) 정보시스템을 구축하는 모든 사람(전문적으로 코딩만하는 사람 포함)은 데이터 모델링도 전문적으로 할 수 있거나 적어도 완성된 모델을 정확하게 해석할 수 있어야 한다. (프로젝트에 참여한 모든 IT기술자들은 데이터 모델링에 대해 정확하게 알고 있어야 한다.)

2) IT기술에 종사하거나 전공하지 않았더라도 해당 업무에서 정보화를 추진하는 위치에 있는 사람도 데이터 모델링에 대한 개념 및 세부사항에 대해 어느 정도 지식을 가지고 있어야 한다.

그렇게 하면, 프로젝트 수행 중에 의사소통을 잘 할 수 있고 업무를 오인하여 잘못된 시스템을 구축하는 위험도 감소하게 된다.

 

[9] 데이터 모델의 표기법인 ERD의 이해

1. 데이터 모델 표기법

1976년, 피터첸 E-R Model : 엔터티를 사각형으로 표현하고 관계를 마름모, 속성을 타원형으로 표현

 

2. ERD(Entity Relationship Diagram) 표기법을 이용하여 모델링하는 방법

- ERD는 엔터티간의 관계를 이해하기 쉽게 도식화한 다이어그램으로 데이터의 흐름과 프로세스와의 연관성을 나타내는데 중요하다.

- ERD를 어떻게 그리든 업무에는 전혀 지장이 없지만 일정한 규칙을 정해 그림으로써 데이터 모델을 누구나 공통된 시각으로 파악하고 의사소통을 원활하게 할 수 있다.

1) ERD 작업순서 -> 엔.그 배 관설 관.명 참 필

 터티 다.

 엔터티를 적절하게 한다.

 엔터티  한다.

  기술한다.

 관계 여도 기술한다.

 관계 수여부 기술한다.

 

2) 엔터티 배치

데이터 모델링에서 가장 중요한 엔터티를 왼쪽 상단에 배치하고 이것을 중심으로 왼쪽에서 오른쪽, 위쪽에서 아래쪽으로 다른 엔터티를 나열하면서 전개한다.

 

3) ERD 관계의 연결

엔터티 배치가 되면 관계를 정의한 분석서를 보고 관련있는 엔터티간 관계를 설정한다.

초기에는 모두 Primary Key로 속성이 상속되는 식별자 관계를 설정한다.

이때, 중복되는 관계나 Circle 관계가 발생하지 않도록 유의한다.

 

4) ERD 관계명의 표시

관계명은 현재형을 사용하고 지나치게 포괄적인 용어(ex. ~이다, ~가진다)는 사용하지 않도록 한다.

관계명이 존재하지 않아도 ERD의 흐름이나 엔터티 이름을 보고 관계명 유추가 가능하다.

 

5) ERD 관계 관계차수와 선택성 표시

관계의 참여도 : 엔터티 내에 인스턴스들이 얼마나 관계에 참여하는 지를 나타내는 관계차수(Cardinality)를 의미한다.

① IE표기법 : 하나(One)의 관계는 실선, 다수(Many)의 관계는 까마귀 발, 관계의 필수/선택 표시는 관계선에 원을 제거/추가하여 표기

② Baker표기법 : 하나(One)의 관계는 점선과 실선을 혼합, 다수(Many)의 관계는 까마귀 발로 표기

 

[10] 좋은 데이터 모델의 요소

1. 완전성(Completeness)

업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어야 한다.

충족되지 못하면 다른 어떠한 평가 기준도 의미가 없으므로 가장 먼저 확인해야 할 부분이다.

 

2. 중복배제(Non-Redundancy)

동일한 사실은 반드시 한 번만 기록되어야 한다.

데이터 중복으로 인해서 저장공간이나 비용의 낭비가 발생한다.

 

3. 업무규칙(Business Rules)

데이터 모델링 과정에서 도출되고 규명되는 수많은 업무규칙(Business Rules)을 데이터 모델에 표현하고 이를 해당 데이터 모델을

활용하는 모든 사용자가 공유할 수 있도록 제공해야 한다.

 

 

 

 

[데이터 전문가 포럼] SQL 개발자 스터디 교재(2020.08.22.)

#SQLD

 

'SQLD' 카테고리의 다른 글

SQLD(6일차)  (1) 2023.08.30
SQLD(5일차)  (0) 2023.08.29
SQLD(4일차)  (1) 2023.08.28
SQLD(3일차)  (0) 2023.08.26
SQLD(1일차)  (1) 2023.08.24