이전 포스팅에서 데이터에 관해 포스팅했는데 이번에는 데이터 모델링과 ERD 표기와 관련하여 적어볼게요.
2024.07.17 - [컴퓨터 공학/Networks] - SK networks AI Camp - MySQL
데이터 모델링
: 업무 내용을 분석하여 이해하고 약속된 표기법에 의해 표현하는 것
데이터 모델링 순서
1. 업무 파악 → 2. 개념적 모델링 → 3. 논리적 데이터 모델링 → 4. 물리적 데이터 모델링
○ (2단계) 개념적 모델링
: 하고자 하는 일의 데이터 간의 관계를 구상하는 단계
ERD 다이어 그램 생성
○ (3단계) 논리적 데이터 모델링
: 구체화된 업무 중심의 데이터 모델을 만들어 내는 단계
Key, 속성, 관계를 표시, 정규화 활동 수행
* 정규화 : 데이터 모델의 일관성을 확보하고 중복을 제거하여 신뢰성 있는 데이터 구조를 얻는데 목적
2024.07.17 - [컴퓨터 공학/Networks] - SK networks AI Camp - 데이터 베이스 정규화
정규화 관련 짧은 포스팅
○ (4단계) 물리적 데이터 모델링
: 최종적으로 데이터를 관리할 DB를 선택하고 선택한 DB에 실제 테이블을 만드는 작업
시각적인 구조를 생성하고 그것을 SQL 코딩을 통해 완성하는 단계
ERD 표기법
: Peter-Chen 표기법, IE 표기법이 있으며, 그중에 IE 표기법이 가장 많이 사용되고 있습니다.
○ Entity
: 정의 가능한 사물 또는 개념을 의미
DB의 테이블이 엔티티로 표현된다고 보면 된다.
○ Attribute
: Entity에는 개체가 갖고있는 속성(Attribute)을 포함
DB의 테이블의 각 필드(칼럼)들이 Entity 속성이라고 보면 된다.
○ 주 식별자(PK)
: DB 테이블의 Primary Key를 표현
중복이 없고 NULL 값이 없는 유일한 값에 지정하는 식별자
○ 외래 식별자(FK)
: DB 테이블의 Foreign Key를 표현
외래 식별자를 표시할 때에는 선을 이어주는데 개체와 관계를 따져 표시한다.
○ Domain
: 속성의 값, 타입, 제약 사항 등에 대한 값의 범위를 표현하는 것
데이터 타입을 명시할 때, DB가 지원하는 타입에 맞게 해야 한다.
○ 제약 조건(NOT NULL)
: 해당 속성에 들어갈 값에 NULL을 비허용한다면, N 혹은 NN을 적는다.
만약 NULL을 허용하면 N을 적지 않음
○ 식별관계
: Relation 부모-자식 관계에서 자식이 부모의 주 식별자(PK)를 외래 식별자(FK)로 참조해서 자신의 주 식별자로 설정
○ 비식별 관계
: Relation 부모-자식 관계에서 자식이 부모의 주 식별자(PK)를 외래 식별자(FK)로 참조해서 일반 속성으로 사용
항목 | 식별자 관계 | 비식별자 관계 |
목적 | 강한 연결관계 표현 | 약한 연결관계 표현 |
자식 PK 영향 | 자식 PK의 구성에 포함됨 | 자식 일반 속성에 포함됨 |
표기법 | 실선 표현 | 점선 표현 |
고려사항 | - 반드시 부모 Entity에 종속 - 자식PK구성에 부모 PK포함 필요 - 상속받은 PK속성을 타 Entity에 이전 필요 |
- 약한 종속관계 - 자식 PK 구성을 독립적으로 구성 - 자식 PK 구성에 부모 PK 부분 필요 - 상속받은 PK속성을 타 Entity에 차단 필요 - 부모쪽의 관계참여가 선택 관계 |
○ Mapping Cardinality(대응수)
: 개체와 개체 간의 Mapping Cardinality란, 특정 Entity가 상대 Entity와 관계를 몇 회 맺을 수 있는지를 나타냄
e.g. 학생과 학급의 소속 관계
- 한 학급에는 여러 학생이 소속 가능 But 학생이 여러 학급에 소속 불가(학생과 학급의 Cardinality = N:1)
학생과 학생의 짝꿍 관계
- 한 학생이 다른 학생과 짝꿍관계를 맺을 수 있는 관계의 경우의 수는 서로 1회 (1:1)
학생과 동아리간의 관계
- 하나의 학생이 여러 동아리에 소속 가능, 하나의 동아리 또한 여러 학생 소속시킬 수 있음(N:N)
○ 관계 표현
○ 피터 첸 표기법(Peter Chen Notation)
: 실무에서는 잘 사용하지 않는 방법
○ 까마귀 발 표기법(Crow's Feet)
: 실무에서 가장 많이 사용되는 방식으로 EBWin과 같은 여러 CASE 툴에서 가장 많이 지원하는 표기법
○ IE 표기법(Information Engineering Notation)
: 실무에서 가장 많이 사용되는 표기법
● Entity
: 직사각형에 Entity의 이름을 상단에 표기
● Attribute
: Entity 이름 하단에 좌측에 PK, FK 등의 정보를 표기하고, 우측에는 Attribute 이름을 표기
● Relation
- 실선 : 식별관계를 나타냄
- 점선 : 비식별관계를 나타냄
'Networks > MySQL&DB' 카테고리의 다른 글
SK networks AI Camp - DB 명령어 (2) | 2024.07.20 |
---|---|
SK networks AI Camp - MySQL & DBeaver설치 (0) | 2024.07.19 |
SK networks AI Camp - 데이터 베이스 정규화 (0) | 2024.07.18 |
SK networks AI Camp - MySQL (0) | 2024.07.18 |