DBMS : DB를 관리하는 소프트웨어
DATA BASE : 저장소
SQL : DB를 조작하는 명령어
스키마(Schema) : 사용자의 종속된 오브젝트의 논리적인 모음
오브젝트(Object) : DBMS상의 논리적인 데이터 구조 (EX. 테이블, 인덱스, 뷰 등)
식별자 : 하나의 엔터티에 구성되어 있는 여러개의 속성 중에 엔터티를 대표할 수 있는 속성, Key는 물리적 데이터 모델링 단계에서 사용. (각각의 인스턴스를 식별할 수 있는 속성)
식별자의 특징
- 유일성 : 주 식별자에 의해 모든 인스턴스들이 유일하게 구분
- 최소성 : 주 식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야함
- 불변성 : 저장된 주 식별자의 값은 자주 변하지 않아야함. (변하면 이전 기록이 말소된다)
- 존재성(Not null) : 주 식별자가 지정되면 반드시 값이 들어와야한다 ( 값이 존재해야한다)
식별자의 분류
- 대표성 여부
- 주 식별자 : 엔터티내에서 각 어커런스를 구분할 수 있는 구분자. 타 엔터티와 참조관계를 연결 O
- 보조 식별자 : 구분자이지만 대표성을 갖지 않는다. 참고관계 연결 X
- 스스로 생성여부
- 내부식별자 : 스스로 생성되는 식별자
- 외부식별자(FK) : 타 엔터티로부터 받아오는 식별자
- 속성의 수
- 단일식별자 : 하나의 속성으로 구분
- 복합식별자 : 2개 이상의 속성으로 구성
- 대체여부
- 본질식별자 : 업무에 의해 만들어지는 식별자
- 인조식별자 : 인위적으로 만든 식별자
모델링의 특징
- 추상화 : 일정한 형식에 맞게 간략하게 표현하는 것
- 단순화 : 약속된 규약에 의한 제한된 표기법
- 명확화 : 애매모호를 제거하고 명확하게 하는 것
데이터 모델링
- 정보시스템을 극복하기 위한 데이터 관점의 업무분석 기법
- 현실 세계의 데이터에 대해 약속된 표기법에 따라서 표현하는 과정
- 데이터 베이스를 구축하기 위한 분석/설계의 과정
데이터 모델링 3단계
- 개념적 데이터 모델링 : 추상화 수준이 높다, 전사적 포괄적 엔터티 도출
- 논리적 데이터 모델링 : 데이터 베이스 모델에 종속. 세부속성, 식별자 관계등 표현. 정규화완료
- 물리적 데이터 모델링 : 추상화 수준이 낮음. 구체적. 성능과 보완, 가용성 고려
데이터 모델링의 3가지 요소
- 엔터티(ENTITY) : 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것
- 속성(ATTRIBUTES) : 업무에서 필요로 하며 의미상 더이상 분리되지 않는 최소한의 데이터 단위
- 관계(RELATIONSHIP) : 엔터티의 인스턴스 사이의 논리적인 연관성
엔터티 : 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것, 보이지 않는 개념 포함
엔터티의 특징
- 반드시 해당 업무에서 필요하고 관리하고자 함
- 유일한 식별자에 의해 식별이 가능
- 두 개 이상의 인스턴스의 집합
- 업무 프로세스에 의해 이용되어야 함
- 반드시 속성이 있어야 함
- 다른 엔터티와 최소 1개 이상의 관계가 있어야 한다 ( 통계성/코드성 엔터티는 관계 생략 가능)
엔터티 분류
- 유무형에 따른 엔터티 분류 : 유형 엔터티(물리적 형태), 개념 엔터티(개념적 정보), 사건 엔터티(업무 수행시 발생)
- 발생시점에 따른 엔터티 분류
- 기본 엔터티 : 그 업무에 원래 존재하는 정보, 타 엔터티의 부모역할, 자신의 고유한 주 식별자를 가진다
- 중심 엔터티 : 기본 엔터티로부터 발생, 다른 엔터티와의 관계로 많은 행위 엔터티 생성
- 행위 엔터티 : 2개 이상의 부모 엔터티로부터 발생, 자주 바뀌거나 양이 증가
속성 분류
- 속성의 특성에 따른 분류
- 기본속성 : 업무로부터 추출한 모든 일반적인 속성
- 설계속성 : 업무를 규칙화하기 위해 새로 만들거나 변형, 정의하는 속성
- 파생속성 : 다른 속성에 영향을 받아 발생하는 속성, 빠른 성능을 낼 수 있도록 원래 속성의 값을 계산. 적을수록 좋다
- 엔터티 구성방식에 따른 분류
- PK속성
- FK속성
- 일반속성
관계 분류
- 존재에 의한 관계
- 행위에 의한 관계
- 관계의 표기법
- 관계명 : 관계의 이름
- 관계자수 : 1:1 , 1:M , M:N
- 관계선택성 : 필수관계, 선택관계 ( O가 있으면 선택관계 , 없으면 필수관계 )
데이터 베이스 3단계 구조
- (사용자) 외부스키마 : 개개인 사용자가 보는 개인적 DB스키마 (예시 : 사용자 뷰)
- (개발자) 개념스키마 : 모든 사용자 관점을 통합한 전체 DB (예시 : 통합적인 뷰)
- (설계자) 내부스키마 : 물리적 장치에서 데이터가 실제적 저장 (예시 : 내부적인 저장장치와 관련된 특성)
데이터 베이스 구조간 독립성 및 사상(Mapping)
- 논리적 독립성 : 개념스키마 변경, 외부스키마에 영향을 주지 않음
- 물리적 독립성 : 내부스키마 변경, 외부/개념스키마에 영향을 주지 않음
- 외부적/개념적 사상 = 논리적 사상
- 개념적/내부적 사상 = 물리적 사상
좋은 데이터 모델의 요소 6가지
- 완전성 : 업무에 필요한 모든 데이터가 모델에 정의
- 중복배제 : 하나의 DB내의 동일한 사실은 한번
- 업무규칙 : 많은 규칙을 사용자가 공유하도록 제공
- 데이터 재사용 : 데이터가 독립적으로 설계되어야 함
- 의사소통 : 업무규칙은 엔터티, 서브타입, 속성, 관계등의 형태로 최대한 자세히 표현
- 통합성 : 동일한 데이터는 한번만 정의, 참조 활용
'SQL > SQLD 시험관련 정리' 카테고리의 다른 글
SQLD 시험을 위한 정리 2. 데이터 모델과 성능 (1) | 2023.11.13 |
---|