<데이터 베이스 모델링>
1. 데이터 베이스 모델링 기초
- 모델링의 정의
현실세계를 추상화, 단순화, 명확하 하여 대상에 대한 모호함을 제거하는 방법.
따라서 데이터관점의 분석, 약속된 표기법에 의한 표현, 분석 및 설계 과정이 필요함. - 모델링의 3가지 관점
- 데이터 관점 : 업무를구성하는데 데이터에 집중하여 서로 관계를 맺고 사용되는지를 모델링
- 프로세스 관점 : 업무의 흐름에 집중하여 실제로 처리하는 일이 어떻게 처리되는지를 모델링
- 데이터와 프로세스의 상관관점 : 데이터와 프로세스간의 관계와 영향을 확인
- 모델링의 3가지 단계
- 개념적 모델링 : 전사적 차원의 모델링 수행시 발생--> 엔터티와 속성을 도출
- 논리적 모델링 : 키 속성 관계를 표현 하며 서로 다른 dbms에 적용이 가능한 수준까지 도출
draw.io등을 이용해서 가시화 할수있음. - 물리적 모델링 : 성능, 보안, 가용성까지 고려하여설계하는것
- ANSI에서 정의한 3단계 스키마 구조
- 외부스키마 : 사용자 관점에서 데이터베이스를 보는 관점을 정의함.
- 개념스키마 : 설계자관점에서 데이터베이스 스키마를 통합하는 것을 정의함.
- 내부스키마 : 개발자 관점에서 실질적 물리적 저장구조를 나타냄.
- 모델링의 유의점
- 중복 --> 정규화 과정으로 모면할수있는데 같은정보를 여러 곳에 담을 필요없다.
- 비유연성 -->sql의 뷰를 수정하면 원본파일 훼손이 될수있는 상황이 발생할 수있는데 이를 막아야 한다,
- 비일관성 -->상호 연관에 관환 명확한 정의를 해야함.
2. 엔터티
- 엔터티의 개념
- 정의 : 데이터 베이스의 구성요소 중 독립적으로식별가능한 객체이다.
- 특징
- 업무에서 필요로하고관리하고자 하는 정보이다.
- 식별이 가능하도록 유일한 식별자를 가져야 한다.
- 영속적으로 존재하는 인스턴스가 두 개 이상인 집합을 이루어야 한다.
- 하위 요소로 반드시 속성을 가져와야 한다.
- 엔터티는 다른 엔터티와 한 개 이상의 관계를 가져야 한다.
- 엔터티의 분류
- 발생시점/상속관계에 따른 분류
- 기본 엔터티 : 자신의 고유한 주 식별자를 가지는 독립적으로 생성되는 엔터티
- 중심 엔터티 ; 기본 엔터티로부터 주 식별자를 상속받아 생성되며 업무의 중심역할을 수행함.
- 행위 엔터티 : 두개 이상의 엔터티를 상속받아 생성되는 엔터티이며 내용이 자주 변경되거나 데이터량이 계속 증가
- 물리적 형태의 존재여부에 따른 분류
- 유형 엔터티 : 물리적형태가 존재하는엔터티
- 개념 엔터티 : 물리적 형태없이 개념적으로정의되는 데이터
- 사건 엔터티 : 업무를수행하면서 발생하는 행위나 이벤트를 나타내는 데이터
- 엔터티의 행은 인스턴스 라고 하며 열은 속성이며 내부의 값은 속성값이라고한다.
- 발생시점/상속관계에 따른 분류
3. 속성
- 속성의 개념
- 엔터티에 대한 자세하고 구체적인 정보이다.
- 속성의 분류
- 속성의특성에 따른 분류
- 기본속성 : 엔터티가 본래부터 가져야 하는 속성
- 설계속성 : 설계시 필요하다고 판단되어 도출된 속성
- 파생속성 : 다른속성으로부터계산되거나 특정 규칙에 따라 변형되어 만들어진 속성
- 속성의 구성방식에 따른 분류
- PK(기본키) 속성 : 유일하게 인스턴스를 식별할수있는 속성
- FK(외래키) 속성 : 관계를 통해 속성을 가져와 포함시킨 속성
- 일반속성 : 키가 아닌나머지 일반 속성
- 도메인
- 정의 : 속성이 가질수 있는 값의 범위 를 정의한 것으로 테이터의 타입과 크길 그리고 제약사항을 정의한다.
- 속성의특성에 따른 분류
4. 관계
- 관계의 개념 : 엔터티간에 맺고 있는 연관성.
- 존재적 관계 : 존재 자체로 서로 연관성을 갖는 관계를 의미
- 행위적 관계 : 엔터티가 특정 해우이나 이벤트를 일으킬경우에 연관성이 발생하는 관계
- 표기법
- 관계명 : 존재적 관계와 행위적 관계를 기술
- 관계차수 : 1:1관계, 1:다 관계, 다대다 관계와 같이 관게르 나타냄
- 관계선택사항 : 필수적 관계에서는 null값을가질수 없으나 선택적 관계에서는 null값을 가질수있다
5. 식별자
- 식별자의 개념
- 엔터티 인스턴스 역시 유일하게 구별할 수있는 속성이 있어야 하며 이런 속성을 식별자라고 부른다.
- 주식별자
- 유일성
- 최소성
- 불변성
- 존재성
- 식별자의 분류
- 대표성여부
- 주식별자 :인스턴스를 유일하게 구별하수있는 식별자
- 보조식별자 : 해당 엔터티를 유일하게 구별할수있는 식별자이나 대표성을 가지지 못하는 식별자
- 스스로 생성 여부
- 내부식별자 : 엔터티 내웁에서 스스로만들어지는 식별자
- 외부식별자 : 관계를 통해 다른 엔터티로부터 받아오는 식별자이다.
- 속성의 수
- 단일 식별자 : 식별자를구성하는 속성이 하나인 식별자
- 복합 식별자 : 식별자를 구성하는 속성이 둘이상인 식별자
- 대체여부
- 본질식별자 : 원조 식별자
- 인조식별자 :인위적으로 만든 식별자
- 대표성여부
'PlayData 백엔드 부트캠프 정리' 카테고리의 다른 글
PlayData 백엔드 부트캠프 Start 17일차 - CSS (1) | 2024.09.01 |
---|---|
PlayData 백엔드 부트캠프 Start 16일차 (2) | 2024.08.29 |
PlayData 백엔드 부트캠프 Start 15일차 - 1 (0) | 2024.08.28 |
PlayData 백엔드 부트캠프 Start 14일차 (0) | 2024.08.28 |
PlayData 백엔드 부트캠프 Start 13일차 (0) | 2024.08.26 |