KOSTA DAY25
DataBase
실전 데이터 모델링 & 데이터 베이스 설계와 구축
- 우리나라는 데이터 위주의 설계를 하기 때문에 ERP 다이어그램 위주로 설계를 한다.
데이터 모델링
정보화 시스템을 구축하기 위해 , 어떤 데이터가 존재하는지 또는 업무가 필요로 하는 정보가 무엇인지를 분석하는 방법
- 프로젝트에 참여한 모든 사람은 데이터모델링에 참여하거나, 모델내용을 이해해야한다.
- 업무가 관여하는 어떤것(THING)
- 업무가 관여하는 어떤것간의 관계(RELATIONSHIPS)
- 어떤 것이 가지는 성격(ATTRIBUTES)
엔티티 타입
- 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한것
- 영속적으로 존재하는 단위
- 엔티티 타입이 생성되는 의미대로 명명한다.
엔티티타입의 특징
업무에 필요하고 관리하고자 하는 정보
필요없는관계X
식별자에 의해 실별이 가능
ex) PRIMARY KEY와 같이 주키가 있어 식별이 가능해야 한다.영속적으로 존재하는 엔티티의 집합
엔티티의 수가 1개가 아니라 2개이상이어야 한다.
업무 프로세스에 이용되어야 한다.
반드시 속성이 있어야 한다.
최소한개이상의 관계가 있어야 한다.
예외가 있을 수 있다. ex) GRADE table
엔티티 타입의 분류
- 기본 : 해당업무에 기본적으로 존재하는 정보
- 중심 : 업무에 핵심적인 역할을 하는 정보
- 행위 : 기본과 중심 엔티티타입을 근간으로 업무가 흘러가면서 발생되는 엔티티타입
식별자
- 엔티티 타입내에서 엔티티들을 구분할 수 있는 구분자이다.
- 주로 PRIMARY KEY라고 생각할 수 있다.
대리식별자
- 주식별자의 속성이 복합식별자일 경우 여러 개의 속성을 묶어 하나의 속성으로 만들어 주식별자로 활용하는 경우 대리식별자라 한다.
- 주키(식별자)가 많으면 작업이 용이하지 않기때문에 사용
- 주키로 사용할 것이 마땅치 않을때, 주키가 많을때 대리식별자 사용을 고려해봐야 한다.
관계
두개의 엔티티타입 사이의 논리적인 관계(서로에게 영향을 주는 형태)
- 존재에 의한 관계 / 행위에 의한 관계
관계의 카디넬러티
1:1(ONE TO ONE)
1:M (ONE TO MANY)
M:M (MANY TO MANY)
관계의 종류
주식별자 / 비식별자
- 주식별자 : 부모의 주식별자 = 자식의 주식별자
- 비식별자 : 부모의 주식별자 = 자식의 일반속성
- 업무의 로직에 따라서 선택한다.
결합력이 강하며, 제한적으로 사용되는 경우에만 주식별자를 사용하는것이 좋다.
속성
업무에 필요한 엔티티에서 관리하고자 하는 더 이상 분리되지 않는 최소의 데이터 단위
정규화
다양한 유형의 검사를 통해 데이터 모델을 더 구조화 하고 개선시켜 나가는 절차에 관련된 이론이다.
오류를 최소화 시키는 것.
중복된 데이터가 없도록 하는것이 기본원칙
함수의 종속성
정규화
- 제1차 정규화 : 중복된 속성값을 갖는 속성을 분리
- 제2차 정규화 : 주식별자에 종속적이지 않은 속성을 분리
- 제3차 정규화 : 일반속성인데 주키 역할을 하는것과 그것을 종속하는 속성들을 분리