데이터베이스2025. 2. 25. 17:15

SQLD / SQLP 공통 : 제1과목은 데이터 모델링의 이해 이다.

 

 

1과목. 데이터 모델링의 이해

- 데이터 모델링의 이해
- 데이터 모델과 SQL

 

 

 

 

 

엔터티
- 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적, 영속적으로 존재하는 단위
- 인스턴스의 집합

속성
- 엔터티에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위
- 엔터티에 속하는 개체들의 특성
- 엔터티를 설명하고 인스턴스의 구성요소가 된다.
- 하나의 속성은 하나의 속성값을 가진다.

관계
- 엔터티와 엔터티 사이의 연결 관계성
- 두개의 엔터티로부터 인스턴스를 연관짓는 행위
- 인스턴스 간에 논리적인 연관관계로 존재 또는 행위로서 연관성이 부여된 상태



도메인
- 속성이 가질 수 있는 값의 범위
- 엔터티 내에서 속성에 대한 데이터 타입, 크기, 제약사항을 지정하는 것.



엔터티 분류

유형무형에 따른 분류

유형 엔터티 물리적인 형태가 있고, 지속적으로 활용, ex) 사원, 상품
개념 엔터티 물리적인 형태가 없고, 겨념적 정보로 구분. ex) 조직, 보험
사건 엔터티 업무에서 발생되는 자료. ex) 주문, 수강

 


발생시점에 의한 분류

기본 엔터티 업무에 독립적으로 존재하는 정보. ex) 사원,부서,고객,상품 등
중심 엔터티 기본엔터티에서 발생하는, 업무의 중심이 되는 엔터티. ex) 계약,주문 등
행위 엔터티 2개이상의 부모엔터티로부터 발생. ex) 주문내역,계약변경이력 등




스키마
외부 스키마 : 데이터베이스의 사용자 관점
개념 스키마 : 통합 관점, 데이터베이스 관리자 관점
내부 스키마 : 물리적 관점, 시스템 설계자 관점


관계(Relationship) 표기법
- 관계명
- 관계차수 : 1:1, 1:N, N:N
- 관계선택사양 : 필수, 옵션

식별자
- 엔터티를 대표하는 속성으로, 인스턴스를 구분할 수 있다.

주식별자/보조식별자
- 주식별자 : 유일성, 최소성, 존재성, 불변성을 만적하는 대표 식별자
- 보조식별자 : 유일성은 만족하지만 대표성을 만족하지 못하는 식별자

내부식별자/외부식별자
- 내부식별자: 엔터티 내부에서 스스로 생성되는 식별자
- 외부식별자: 다른 엔터티와의 관계로 생성되는 식별자

단일식별자/복합식별자
- 단일식별자 : 하나의 속성
- 복합식별자 : 2개 이상의 복합 속성

본질식별자/인조식별자
- 본질식별자 : 비지니스 프로세스에서 만들어지는 식별자
- 인조식별자 : 인위적으로 만들어지는 식별자




데이터베이스 모델링의 특징
- 추상화, 단순화, 명확화

모델링의 3단계
- 개념적 모델링 : 추상적, 업무 중심적, 포괄적인 수준의 모델링
- 논리적 모델링 : 세부속성, 식별자, 관계를 표현, 정규화
- 물리적 모델링 : 데이터베이스 성능을 고려한 설계


정규화
- 데이터의 일관성, 유연성, 중복을 제거하고 데이터를 분해를 하는 과정
- 이상현상을 제거하는 설계 기법이다.

제1정규화
- 속성의 원자성 확보 : 속성은 하나의 속성값을 가져야 한다.
- 기본키(PK) 설정

제2정규화
- 기본키 중에 특정 컬럼에만 종속된 경우, 부분 함수 종속성 제거

제3정규화
- 이행 함수 종속성 제거


이상현상

삽입이상 데이터 삽입시, 의도치 않은 값들도 삽입 되는 현상
갱신이상 데이터 수정시, 일부 데이터만 갱신되어, 데이터의 일관성 유지가 안되는 현상
삭제이상 데이터 삭제시, 의도와 다른 값들이 삭제되는 현상




반정규화
- 데이터베이스의 성능 향상을 위해 데이터의 중복을 허용하거나, 조인을 줄이는 목적으로 하는 성능 향상 방법


 
분산데이터베이스
- 병렬처리로 빠른 응답이 가능, 용량확 장이 쉬움
- 보안이나 무결성이 안좋다. 여러 네트워크에 분산되어 관리와 통제가 어렵다.




트랜잭션의 4가지 특징 (ACID)

원자성 (Atomicity) 분해가 불가능한 업무의 최소단위로, 전부 처리되거나, 전부 처리되지 않아야 한다.
일관성 (Consistency) 트랜잭션 결과로 데이터베이스 상태가 모순되지 않아야 한다.
격리성 (Isolation) 트랜잭션의 중간 값에 다른 트랜잭션이 접근할 수 없다.
영속성 (Durability) 트랜잭션의 결과가 데이터베이스에 영속적으로 저장된다.

 



Posted by 헝개