관계 : 엔터티와 엔터티의 관계

 

- 존재관계 : 존재 자체로 연관성이 있는 관계

- 행위관계 : 특정한 행위를 함으로써 연관성이 생기는 관계

 

표기법

- 관계명 membership : 관계의 이름, 모든 관계는 두 개의 관계명을 가지고 있음, 반드시 명확한 문장으로 표현해야 하며 현재형이어야 함

- 관계차수 cardinality : 관계에 참여하는 수, 1:1 관계, 1:M 관계, N:M 관계

- 관계선택사양 optionality : 필수적관계, 선택적 관계

 

 

 

 

 

'SQLD > 데이터 모델링의 이해' 카테고리의 다른 글

정리1  (0) 2023.03.12
식별자 Identifiers  (0) 2023.03.12
속성 Attribute  (0) 2023.03.12
엔터티(Entity)  (0) 2023.03.12
데이터 모델의 이해  (0) 2023.03.12

 

속성 : 엔터티의 특징을 나타내는 최소의 데이터 단위, 의미상 더 이상 쪼개지지 않는 레벨

 

속성값 : 엔터티에 속한 하나의 인스턴스를 구체적으로 나타내주는 데이터

-> 하나의 속성은 한 개의 속성값만 가질 수 있음

 

엔터티, 인스턴스, 속성, 속성값의 관계

: 엔터티 > 인스턴스 > 속성

 

- 한 개의 엔터티는 두 개 이상의 인스턴스를 갖는다

- 한 개의 인스턴스는 두 개 이상의 속성을 갖는다

- 한 개의 속성은 하나의 속성값을 갖는다

 

속성 분류

1) 특성에 따른 분류

- 기본속성 : 업무 프로세스 분석을 통해 바로 정의가 가능한 속성

- 설계속성 : 업무에 존재하지는 않지만 설계하다 보니 필요하다고 판단되어 도출해낸 속성, 일련번호와 같이 유니크한 식별자 부여

- 파생속성 : 다른 속성의 속성값을 계산하거나 특정한 규칙으로 변형하여 생성한 속성

 

2) 구성방식에 따른 분류

- PK 속성 : 엔터티의 인스턴스들을 식별할 수 있는 속성

- FK 속성 : 다른 엔터티의 속성에서 가져온 속성, 다른 엔터티와 관계를 맺게 해주는 매개체 역할, NULL 값 가질 수 있음

- 일반속성 : PK, FK를 제외한 나머지 속성

 

도메인 Domain

; 속성이 가질 수 있는 속성값의 범위

 

용어사전

; 엔터티의 속성명을 정의할 때 명확한 의미의 이름을 부여하고 다른 엔터티와의 혼란을 예방하기 위해 이용하는 것, 각 엔터티에 공통된 룰로 적용하는 것이 바람직

 

 

 

 

'SQLD > 데이터 모델링의 이해' 카테고리의 다른 글

정리1  (0) 2023.03.12
식별자 Identifiers  (0) 2023.03.12
관계 Relationship  (0) 2023.03.12
엔터티(Entity)  (0) 2023.03.12
데이터 모델의 이해  (0) 2023.03.12

 

엔터티; 식별이 가능한 객체

 

cf)

엔터티 - table

인스턴스 - row

속성 - column

 

엔터티의 특징

- 업무에서 쓰이는 정보여야함

- 유니크함을 보장할 수 있는 식별자가 있어야 함

- 2개의 인스터스를 가지고 있어야 함

- 반드시 속성을 가지고 있어야 함

- 다른 엔터티와 1개 이상의 관계를 가지고 있어야 함

 

엔터티의 분류

1) 유형 vs 무형

- 유형 엔터티 : 물리적인 형태 존재, 안정적, 지속적

- 개념 엔터티 : 물리적인 형태 없음, 개념적

- 사건 엔터티 : 행위를 함으로써 발생, 빈번함, 통계 자료로 이용 가능

2) 발생시점

- 기본 엔터티 : 독립적으로 생성됨, 자식 엔터티를 가질 수 있음

- 중심 엔터티 : 기본 엔터티로부터 파생, 행위 엔터티 생성

- 행위 엔터티 : 2개 이상의 엔터티로부터 파생, 보통 설계 초기 단계보다는 상세 설계단계에서 많이 도출됨

 

엔터티의 이름 정할 때 주의사항

- 업무에서 실제로 쓰이는 용어 사용

- 한글은 약어를 사용하지 않고 영문은 대문자로 표기

- 단수 명사로 표현하고 띄어쓰기는 하지 않음

- 다른 엔터티와 의미상으로 중복될 수 없음

- 해당 엔터티가 갖고 있는 데이터가 무엇인지 명확하게 표현

 

 

 

 

 

 

'SQLD > 데이터 모델링의 이해' 카테고리의 다른 글

정리1  (0) 2023.03.12
식별자 Identifiers  (0) 2023.03.12
관계 Relationship  (0) 2023.03.12
속성 Attribute  (0) 2023.03.12
데이터 모델의 이해  (0) 2023.03.12

 

데이터베이스의 모델링 : 현실세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법

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

- 단순화; 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현한다는 의미

- 명확화; 불분명함을 제거하고 명확하게 해석할 수 있도록 기술한다는 의미

 

모델링이 갖춰야 할 조건

- 현실세계를 반영해야 한다

- 단순화하여 표현해야 한다

- 관리하고자 하는 데이터를 모델로 설계한다

 

모델링의 세가지 관점

- 데이터 관점(what, data); 데이터 위주의 모델링, 어떤 데이터들이 업무와 얽혀있는지, 그리고 그 데이터간에는 어떤 관계가 있는지에 대해서 모델링하는 방법

- 프로세스 관점(how, process); 프로세스 위주의 모델링, 이 업무가 실제로 처리하고 있는 일은 무엇인지 또는 앞으로 처리해야 하는 일은 무엇인지를 모델링하는 방법

- 데이터와 프로세스의 상관 관점(data vs process, interaction); 데이터와 프로세스의 관계를 위주로 한 모델링, 프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지를 모델링하는 방법

 

모델링의 세 가지 단계

- 개념적 데이터 모델링; 전사적 데이터 모델링 수행 시 행해지며 추상화 레벨이 가장 높은 모델링, 이 단계에서는 업무 중심적이고 포괄적인 수준의 모델링이 진행됨

- 논리적 데이터 모델링; 재사용성이 가장 높은 모델링으로 데이터베이스 모델에 대한 key, 속성, 관계 등을 모두 표현하는 단계

- 물리적 데이터 모델링; 실제 데이터베이스로 구현할 수 있도록 성능이나 가용성 등의 물리적인 성격을 고려하여 모델을 표현하는 단계

 

3단계 스키마 구조

- 외부 스키마; 사용자의 관점, view 단계, 여러 개의 각 사용자가 보는 데이터베이스의 스키마를 정의

- 개념 스키마; 통합적 관점, 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타냄, 데이터베이스에 저장되는 데이터들을 표현하고 데이터들 간의 관계를 나타냄

- 내부 스키마; 물리적인 관점, 물리적인 저장 구조를 나타내며 실질적인 데이터의 저장 구조나 컬럼 정의, 인덱스 등이 포함됨

 

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

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

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

 

ERD(entity relationship diagram)

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

 

ERD  작성 순서

1. 엔터티를 도출하고 그린다

2. 엔터티를 적절하게 배치한다

3. 엔터티 간의 관계를 설정한다

4. 관계명을 기입한다

5. 관계의 참여도를 기입한다

6. 관계의 필수/선택 여부를 기입한다

 

ex) IE/Crow's Foot 표기법

 

 

 

'SQLD > 데이터 모델링의 이해' 카테고리의 다른 글

정리1  (0) 2023.03.12
식별자 Identifiers  (0) 2023.03.12
관계 Relationship  (0) 2023.03.12
속성 Attribute  (0) 2023.03.12
엔터티(Entity)  (0) 2023.03.12

+ Recent posts