Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 스터디2기
- mycli
- VI
- oh-my-zsh
- zsh
- table status
- 맥
- 순차탐색
- 이진탐색
- spring boot
- zsh theme
- 인프런워밍업클럽
- Less
- cs
- 데이크스트라
- Pager
- 욕심쟁이 방법
- 터미널
- 분할정복 방법
- 동적 프로그래밍 방법
- 오블완
- mysql 표
- 알고리즘
- 인프런
- mysql 표 출력
- 오일러 경로
- MySQL
- CS스터디
- 네트워킹데이
- 티스토리챌린지
Archives
- Today
- Total
Develop
데이터 모델링(Data Modeling) 본문
데이터 모델링
현실 세계의 데이터를 논리적이고 체계적으로 표현해 데이터베이스에 저장하고 활용할 수 있도록 구조화 하는 과정
특징
- 추상화(Abstraction) - 현실 세계를 간략하게 표현한다.
- 단순화(Simplification) - 누구나 쉽게 이해할 수 있도록 표현한다.
- 명확성(Clarity) - 의미가 명확하게 해석되어야 하고 한 가지 의미를 가져야 한다.
단계
- 개념적 모델링(Conceptual Data Modeling)
-추상화 수준이 가장 높은 모델링 기법이다.
-현실 세계를 추상화 해서 데이터를 큰 그림에서 정의한다.
-복잡하게 표현하지 않고 중요한 부분을 위주로 모델링하고, 기술적인 용어는 가급적 사용하지 않는다.
-엔티티(Entity), 속성(Attribute), 관계(Realationship)을 정의 한다. -> ERD(Entity Relationship Diagram) 작성 - 논리적 모델링(Logical Data Modeling)
-개념적 모델을 더 구체화하여 데이터베이스로 구현할 수 있도록 구조화 한다.
-식별자를 도출하고 필요한 모든 릴레이션을 정의한다.
-정규화를 통해 중복 데이터 제거 및 데이터 무결성을 확보하고, 재사용성을 높인다. - 물리적 모델링(Physical Modelig)
-논리적 모델을 실제 DBMS에 맞게 구현한다.
-테이블, 컬럼, 데이터타입, 인덱스 등을 정의한다.
-성능, 보안, 가용성을 고려하여 데이터베이스를 구축한다.
ERD 작성 절차
- 엔터티를 도출하고 그린다.
-업무에서 관리해야하는 엔터티를 도출한다. - 엔터티를 배치한다.
-중요한 엔터티를 왼쪽 상단에 배치한다. - 엔터티 간의 관계를 설정한다.
- 관계명을 서술한다.
-엔터티 간의 행위나 존재가 있는지 표현한다.
-ex) 계좌를 개설한다. 주문을 발주한다. - 관계 참여도를 표현한다.
-관계 참여도는 한개의 엔터티와 다른 엔터티간의 참여하는 관계수를 의미한다.
-ex) 고객이 여러개의 계좌를 개설할 수 있다. - 관계의 필수여부를 표현한다.
-필수는 반드시 존재해야 하는 것 이다.
-ex) 모든 고객은 반드시 하나의 계좌를 개설해야 한다.
ERD Tool
3층 스키마(3-Level Schema)
- 데이터베이스 설계와 관리에서 데이터 독립성을 제공하기 위해 정의된 구조이며, 각 계층을 뷰(View)라고도 한다.
- 데이터베이스를 3개 계층으로 나눠 사용자와 데이터베이스 간의 상호작용을 체계적으로 관리할 수 있게 한다.
- 데이터의 독립성을 확보하면 데이터의 복잡도 감소, 중복 제거, 사용자 요구사항 변경에 따른 대응력 향상, 관리 및 유지보수 비용이 절감된다.
- 외부 스키마(External Schema)
-사용자 관점에서 데이터를 정의한다.
-전체 데이터 중 일부만 접근 가능(A는 A의 주문내역만 볼 수 있음)
-관련 데이터베이스의 뷰를 표시한다.
-응용 프로그램이 접근하는 데이터베이스를 정의한다. - 개념 스키마(Conceptual Schema)
-조직 전체의 관점에서 데이터를 정의한다.
-통합 데이터베이스 구조이다.
-엔티티, 속성, 관계 등을 포함한다. (고객테이블, 주문테이블, 고객과 주문간의 관계정의) - 내부 스키마(Internal Schema)
-물리적 저장 관점에서 데이터를 정의한다.
-데이터의 실제 저장방식, 레코드 구조, 필드 정의, 파일구조, 인덱스 등을 다룬다.
-저장 효율성과 성능 최적화가 목적이다.
'백엔드 > DBMS' 카테고리의 다른 글
| 맥에서 MyCLI 설치하기 (1) | 2024.08.22 |
|---|---|
| mac에서 mysql 설치하기 (2) | 2024.07.17 |