2023. 8. 21. 20:47ㆍ자격증/SQLD
모델링이란?
데이터의 개념적 표현을 만들고, 데이터 엔터티가 서로 관련되는 방식을 설정하고, 데이터가 데이터베이스에 저장되는 방식에 대한 프레임워크를 설정하는 프로세스. 시스템에서 데이터베이스를 구현하기 위한 청사진 같은 역할이다.
추상화 : 시스템이 관리할 수 있는 방식으로 데이터를 나타내기 위해 현실의 필수 측면을 표현한다.
단순화 : 복잡한 시스템을 더 간단하고 관리하기 쉬운 구성 요소로 나누는 과정
명확화 : 사물을 명확하고 이해하기 쉽게 만드는 것.
유의점 :
- 중복 : 여러 장소에 같은 정보를 중복 저장하지 않도록 중복성 최소화한다.
- 비유연성 : 데이터의 정의를 데이터 사용 프로세스와 분리해서 유연성을 높인다. 비유연성(경직성)의 경우는 데이터베이스 시스템이 요구사항이나 어떤 구조를 바꾸려고 할 때 데이터베이스도 크게 변경을 해야 하는 상황.
- 비일관성 : 데이터 간 상호 연관 관계를 확실하게 정의해야 한다. 비일관성은 데이터의 불일치, 모순의 존재가 있을 경우이다. 일반적으로 적절한 제약조건이 부족하거나 정규화를 잘못했을 때 발생한다.
데이터 모델링의 3요소
Thing : 엔티티, 인스턴스
Attributes : 속성, 속성값
Relationships : 관계
Entity : 특정 추상표현이나 사물 같은 것. (성적, 교수)
Attribute : 엔티티의 속성이나 특성을 나타낸 것. (교수의 이름, 학생의 특정 과목 성적 등)
정규화
- 중복성을 최소화하고 데이터 무결성을 보장하기 위해 데이터를 구성하는 프로세스
1 정규형(1NF)
- 각 열에 원자값이 포함되어 있는지?
- 각 열의 항목이 같은 종류인지
- 각 열의 이름이 고유한지
- 순서는 중요하지 않음.
2 정규형(2NF)
- 키가 아닌 모든 속성이 기본키에 종속되어야 한다.
- 현재 테이블과 크게 상관 없는 속성들(partiial dependency)을 새 테이블을 만들어 분류하는 것.
3 정규형(3NF)
-이행적 함수 종속관계를 갖지 않는 것.
ex. 책 테이블에 "글쓴이의 생년월일"에 대한 열이 포함된 경우 기본 키인 "BookID"에만 의존하지 않고 "글쓴이"에도 종속된다.
그래서 이 전이 종속성을 피하기 위해 별도의 "글쓴이" 테이블을 만들어야 한다.
'자격증 > SQLD' 카테고리의 다른 글
ORA-28002 : 오라클 비밀 번호 수정하는 법. (0) | 2023.08.26 |
---|---|
sqld 공부 시작하기 1. 환경설정. ORA-12514 에러가 뜰 때 해결법. (0) | 2023.08.21 |