티스토리 뷰
데이터 모델링
현실 세계의 데이터를 데이터베이스에 저장하기 위해서는 데이터 모델을 세워야 하고 그 과정을 데이터 모델링이라 한다. 다시 말해 데이터 모델링이란 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정을 말한다.
*추상화 : 현실 세계를 일정한 형식에 맞추어 표현 (일정한 표기법에 의해 표현)
📗 변환 과정은 2단계로 나누어 진행한다.
- 개념적 데이터 모델링
- 사용자에 초점을 맞추는 데이터 모델
- 현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 작업 - 논리적 데이터 모델링
- 컴퓨터와 사용자 둘 다 고려하는 데이터 모델
- 개념 세계의 데이터를 데이터 베이스에 저장하는 구조로 표현하는 작업
데이터 모델
데이터 모델이란 데이터 모델링의 결과물을 표현하는 도구이다.
- 개념적 데이터 모델
사람의 머리로 이해할 수 있도록 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구
ex) 개체-관계 모델, 아파트 설계도 - 논리적 데이터 모델
개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구
ex) 관계 데이터 모델, 아파트 모델하우스
∴ 데이터베이스 설계 = 개념적 데이터 모델링 + 논리적 데이터 모델링
개체-관계 모델
피터 첸(Peter Chen)이 제안한 개념적 데이터 모델로, 개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현했다.
개체-관계 모델을 제대로 활용하려면 개체, 속성, 관계를 꼭 짚고 넘어가야 한다.
- 개체
- 속성
- 관계
📗 개체
개체는 저장할 만한 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물 등이며, 개념적 모델링을 하는 데 가장 중요한 요소다. 구별되는 이름, 고유한 속성을 가지고 있다.
📌 개체 타입
개체를 고유의 이름과 속성들로 정의한 것
📌 개체 인스턴스
개체를 구서하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체
📌 개체 타입
특정 개체 타입에 대한 인스턴스들을 모아놓은 것
📗 속성
속성은 개체가 가지고 있는 고유의 특성이다. 의미 있는 데이터의 가장 작은 논리적 단위로 파일 구조에서 필드와 대응된다.
💭속성의 분류
- 단일 값 속성
- 다중 값 속성
- 단순 속성
- 복합 속성
- 유도 속성
1️⃣ 단일 값 속성
- 값을 하나만 가질 수 있는 속성
ex) 이름
2️⃣ 다중 값 속성
- 값을 여러 개 가질 수 있는 속성
ex) 연락처
3️⃣ 단순 속성
- 의미를 더는 분해할 수 없는 속성
ex) 가격 등
4️⃣ 복합 속성
- 의미를 분해할 수 있는 속성
ex) 주소 // 도, 시 동 등으로 세분화 가능
5️⃣ 유도 속성
- 기존의 다른 속성의 값에서 유도되어 결정되는 속성
ex) 출생연도 속성으로 계산되는 나이
➕ 널 속성
널 값이 허용되는 속성으로 널 값은 아직 결정되지 않았거나 모르는 값 또는 존재하지 않는 값을 의미한다.
* 공백이나 0과는 의미가 다르다
➕ 키 속성
각 개체 인스턴스를 식별하는 데 사용되는 속성을 말한다. 모든 개체 인스턴스 키 속성 값은 다르다.
📗 관계
개체와 개체가 맺고 있는 의미 있는 연관성을 관계라 한다.
💭관계의 유형
- 관계에 참여하는 개체 타입의 수 기준
- 매핑 카디널리티 기준 (매핑 원소 수)
💥 관계에 참여하는 개체 타입의 수 기준
- 이항 관계 : 개체 타입 두 개가 맺는 관계
- 삼항 관계 : 개체 타입 세 개가 맺는 관계
- 순환 관계 : 개체 타입 하나가 자기 자신과 맺는 관계
💥 매핑 카디널리티 기준 (매핑 원소 수)
- 일대일 관계
- 일대다 관계
- 다대다 관계
💭관계의 참여 특성
- 필수적 참여
- 모든 개체 인스턴스가 관계에 반드시 참여해야 되는 것을 의미한다. - 선택적 참여
- 개체 인스턴스 중 일부만 관계에 참여해도 되는 것을 의미한다.
💭관계의 종속성
- 약한 개체 = 종속 개체
- 다른 개체의 존재 여부에 의존적인 개체 - 강한 개체 = 오너 개체
- 다른 개체의 존재 여부를 결정하는 개체
- 강한 개체와 약한 개체는 일반적으로 일대다 관계
- 약한 개체는 강한 개체와의 관계에 필수적으로 참여
- 약한 개체는 강한 개체의 키를 포함하여 키를 구성 (확실한 식별을 위해)
💨 E-R 다이어그램
개체 관계 모델을 이용해 현실 세계를 개념적으로 모델링한 결과물을 그림으로 표현한 것이다.
논리적 데이터 모델
E-R 다이어그램으로 표현된 개념적 구조를 데이터베이스에 저장할 형태로 표현한 논리적 구조를 말한다.
⭕ 관계 데이터 모델
일반적으로 많이 사용되는 논리적 데이터 모델
⭕ 계층 데이터 모델
데이터베이스의 논리적 구조가 트리 형태
⭕ 네트워크 데이터 모델
데이터베이스의 논리적 구조가 그래프 형태
좋아요는 로그인하지 않아도 누를 수 있습니다!
'데이터베이스' 카테고리의 다른 글
[데이터베이스개론] 5장 : 관계 데이터 모델 [DB] (0) | 2021.10.05 |
---|---|
[데이터베이스 개론] 4장 연습문제(기출문제) 정답 [DB] (2) | 2021.09.13 |
[데이터베이스 개론] 3장 연습문제(기출문제) 정답 [DB] (0) | 2021.09.06 |
[데이터베이스개론] 3장 : 데이터베이스 시스템 [DB] (0) | 2021.09.06 |
[데이터베이스 개론] 2장 연습문제(기출문제) 정답 [DB] (0) | 2021.08.31 |
- Total
- Today
- Yesterday
- 해답
- 운영체제
- 자바스크립트
- 알고리즘
- 정렬
- Python
- 쉽게배우는자바프로그래밍
- 답
- C++
- 자바
- 우종정
- JS
- 문자열
- CPP
- py
- 정답
- 연습문제
- 정리
- java
- 구현
- 프로그래머스
- 풀이
- 파이썬
- BFS
- 쉽게 배우는 자바 프로그래밍
- 쉽게배우는
- OS
- Web
- 백준
- 그리디
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |