본문 바로가기
Study

[SQLD] 1과목 핵심 개념 모아보기

by 셀린Celinee 2023. 11. 13.
728x90

모델링

'시스템구현을 포함한' 업무분석 및 형상화를 위함

정혹화, 단순화, 추상화

데이터 모델링의 개념

1. 개념적 모델링 방식
: 추상화 수준 높음, 포괄적

2. 논리적 모델링 방식

3. 물리적 모델링 방식
: 실제 DB에 이식 가능한 수준, 물리적 성격 고려

데이터베이스 스키마 구조

[데이터 독립성요소 (각각의 고유기능O)]

1. 개념스키마
: 통합관점 (모든 사용자) (전체 DB)

2. 외부 스키마
: 사용자 관점 (외부의 사용자)

3. 내부 스키마
: 물리적 관점 (내부의 실질적 데이터) (저장구조, 컬럼정의 등)

"내부" = "물리" / "외부" = "개념"&"논리" 

독립성 : 외부의 변수에 영향 받지 X

1. 논리적 독립성 : 개념스키마가 변경되어도 -- 외부 스키마는 영향 받지 X

2. 물리적 독립성 : 내부스키마가 변경되어도 -- 개념스키마와 외부스키마는 영향 받지 X

매핑 Mapping 

1. 논리적 사상 : 외부와 개념을 '연결'

2. 물리적 사상 : 내부와 개념을 '연결' 

데이터 모델링이 필요한 이유

: DB의 단순 구축 + 업무의 설명 분석

1. 업무내용의 정확한 분석 (정보의 일정한 표기 (!= 별도의 표기))

2. 개발 데이터 관리에 사용 (분석된 모델로 실제 DB 생성)

데이터 모델링 시 유의사항

1. 중복성 Duplication
: 여러 장소에 같은 정보 저장 X

2. 비유연성 Inflexibility
: 데이터의 정의와 데이터 사용프로세스 '분리'하기
(문제에 "변경" 있을 시 비유연성 문제)

3. 비일관성
: 데이터간 상호 연관 관계를 명확히 정의 = 연계성 향상

엔터티

: 2개 이상의 속성과 인스턴스를 가짐 / '정보의 저장과 관리를 위한 집합'

엔터티 배치

가장 중요한 엔터티 -- 왼쪽 상단 배치
-- 왼쪽 상단에서 아래쪽 중앙 배치하여 => 전체 엔터티와 어울릴 수 있도록 함 & 관계선 연결시 용이

엔터티 특징 (조건)

1. 반드시 업무에서 필요하고 관리하고자하는 정보의 집합

2. 유일한 식별자에 의해 식별이 가능해야 함

3. 영속적으로 존재하는 2개 이상의 인스턴스의 집합

4. 업무 프로세스에 의해 이용

5. 2개 이상의 속성을 가짐

6. 다른 엔터티와 최소 1개 이상의 관계를 가짐 (공통코드/통계성 엔터티 제외)

7. 이름에 약어 사용 금지 

속성

: 업무에서 관리 가능한 최소한의 의미 단위 

1. 기본속성 : 원래 가져야 하는 속성 / 업무로부터 추출한 모든 일반적인 속성 (ex. 이자율)

2. 설계속성 : 업무의 규칙화를 위해 새로 정의 및 변형하는 속성 (ex. 일련번호)

3. 파생속성 : 다른 속성에 영향받아 발생하는 속성
-- 적을수록 좋음, 빠른 조회성능을 위함 (ex. 이자, 합 등 계산된 결과)

- 명칭 = 복합명사 사용 & 구체/명확히 기술 & 전체 데이터에서 유일성 확보 (!= 일관) & 서술식 용어 사용 불가

도메인 Domain

: 속성의 데이터 타입/크기/제약사항 지정 -- 어떤 유형의 값이 들어가는지 정의하는 개념 

관계

: 서로에게 연관성이 부여된 상태 (엔터티와 인스턴스의 논리적 연관성)
-- 동사 : 관계 서술

1. 존재적 관계
ex. 소속관계 (부원-사원)

2. 행위에 의한 관계 
ex. 배송근거 (주문->배송)

관계 표기법 3가지

1. 관계명

2. 관계 차수 -- 1:1 / 1:N / N:M

3. 선택성 (!= 식별성)

UML Unified Modeling Language 에서의 관계

1. 연관 관계 (실선표기)
: 항상 이용되는 관계 -- ex. 소속

2. 의존 관계 (점선표기)
: 상대 행위에 의해 발생 -- ex.주문 

식별자

: 엔터티 내에서 인스턴스 구분 (PK로 사용)

식별자 특징

1. 유일성 : 엔터티 내 모든 인스턴스를 유일하게 구분

2. 최소성 : 최소의 속성으로 구성 (유일성을 만족하는 선에서)

3. 불변성 : 자주 변하지 X (변할 시 이전 기록 말소)

4. 존재성 : 주식별자가 지정되면 반드시 값이 들어와야 함 

식별자 종류 8가지

1. 대표성 여부 

1-1. 주식별자 : 타 엔터티와 참조관계를 연결함

1-2. 보조식별자 : 연결 안함

2. 스스로 생성 여부

2-1. 내부식별자 : 스스로 생성함

2-2. 외부식별자 : 안함

3. 속성의 수

3-1. 단일식별자 : 속성 1개로 구성

3-2. 복합식별자 : 속성 2개 이상으로 구성 

4. 대체

4-1. 본질식별자 : 업무에 의해 생성

4-2. 인조식별자 : 인위적으로 생성

비식별자 관계

: 엔터티의 컬럼 -- 고유하게 식별 X /  중복된 값 포함

ex. 이름, 이메일주소, 등록일자 등

[이해를 위한 예시 : 아이폰]

식별자 = 일련번호 -- 전체 아이폰들 중에서 내 아이폰을 찾아줌

비식별자 = 개통일자 -- 같은 날 개통한 아이폰은 N개임 (유일성을 갖지 않음)

 

 

728x90