[SQLD 정리노트] 정리노트
# 데이터 모델링 단계
개념적 모델링
- 비즈니스 프로세스를 분석
- 기업전체에 대하여 데이터 모델링 수행
- 엔터티와 속성을 도출
- 개념적 ERD를 작성
논리적 모델링
- 식별자 도출 및 모든 릴레이션 정의
- 정규화 수행, 데이터 모델의 독립성 확보
물리적 모델링
-실제 데이터 베이스 구축
-테이블, 인덱스, 함수 생성
- 성능, 보안, 가용성을 고려하여 구축
# 데이터 독립성 확보시
1. 데이터 복잡도가 증가
2. 데이터 중복 제거
3. 사용자 요구사항 변경에 따른 대응력 향상
4. 관리 및 유지보수 비용 절감
# 엔터티
유형,무형에 따른 엔터티
유형엔터티 : 업부에서 도출되어 지속적으로 사용되는 엔터티
개념엔터티 : 개념적으로 사용되는 엔터티
사건엔터티 : 비즈니스 프로세스를 실행하면서 생성되는 엔터티
발생시점에 따른 엔터티
기본엔터티 : 다른엔터티로부터 영향을 받지 않고 독립적으로 생성되는 엔터티
중심엔터티 : 기본엔터티로부터 발생되고 행위엔터티를 생성하는 엔터티
행위엔터티 : 2개이상의 엔터티로부터 발생되는 엔터티
#릴레이션
행과 열로 구성된 테이블
#테이블
릴레이션에 기본키 및 제약조건에 설정된 상태
# 인스턴스
정의된 스키마에 따라 실제 테이블에 저장되는 데이터 집합
# 속성
분해여부에 따른 분류
단일속성 : 여러개의 의미로 구성된것
복합속성 : 여러개의 값을 가지고 있는것
다중값속성 : 속성 안에 여러개의 값을 가지고 있는것
특성에 따른 분류
기본속성 : 비즈니스 프로세스에서 도출되는 본래 속성
설계속성 : 데이터모델링 과정에서 발생되는 속성
파생속성 : 다른 속성에 의해서 만들어 지는 속성
# 반정규화
반정규화가 필요한 상황
- 정규화로 인한 수행속도가 늦어진 경우
- 다량의 범위를 자주 처리해야하는 경우
-특정 범위의 데이터를 빈번하게 처리해야하는 경우
- 요약/집계 정보가 자주 요구되는 경우
# 분산 데이터베이스
분할투명성 :
논리적 릴레이션이 여러 단편으로 분할되어 각 단편의 사본이 여러 시스템에 저장되어 있음을 인식할 필요가 없음
위치투명성 :
고객이 사용하려는 데이터의 저장장소를 명시할 필요가 없음
고객은 데이터가 어느위치에 있더라도 동일한 명령을 사용하여 데이터에 접근할 수 있어야함
지역사상 투명성 :
로컬 DBMS와 물리적 데이터베이스 사이의 매핑이 보장되어 각 지역 시스템 이름과 무관한 이름을 사용 가능
중복 투명성 :
데이터베이스 객체가 여러 시스템에 중복되어 존재함에도 고객과는 무관하게 데이터의 무결성이 보장
장애투명성 :
데이터베이스가 분산되어있는 각지역의 시스템이나 통신망에 이상이 발생해도, 데이터의 무결성이 보장
병행투명성 :
여러 고객의 응용 프로그램이 동시에 분산 데이터베이스에 대한 트랜잭션을 수행하는 경우에도 이상이 없음
분산데이터베이스 장점
- 데이터베이스 신뢰성과 가용성이 높음
- 분산 데이터베이스가 병렬처리를 수행함으로 빠른 응답
- 분산 데이터베이스를 추가하여 시스템용량 확장이 쉬움
분산데이터베이스 단점
데이터베이스가 여러 네트워크를 통해서 분리되어 있기 때무넹 관리와 통제가 어려움
보안관리가 어려움
데이터 무결성 관리가 어려움
데이터베이스 설계가 복잡함
#숫자형 함수
ABS(숫자) : 절대값을 돌려준다.
SIGN(숫자) : 양수,음수,0을 구별
MOD(숫자1,숫자2) : 숫자1을 숫자2로 나누어 나머지를 계산 또는 % 사용
CEIL / CEILIG(숫자) : 숫자보다 크거나 같은 최소의 정수를 돌려줌
FLOOR : 숫자보다 작거나 같은 최대의 정수를 돌려줌
ROUND(숫자, M) : 소수점 m자리에서 반올림
TRUNC(숫자,M) : 소수점 M자리에서 절삭