01 데이터 모델의 이해
모델링이란?
데이터베이스의 모델링은 '현실 세계를 단순화하여 표현하는 기법'이다.
모델은 현실 세계에서 일어날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형
모델링은 이런 모델을 만들어가는 일
모델링이 갖춰야 할 조건
- 현실세계를 반영해야 한다.
- 단순화하여 표현해야 한다.
- 관리하고자 하는 데이터를 모델로 설계한다.
모델링의 특징
- 추상화
- 단순화
- 명확화
모델링의 세 가지 관점
- 데이터 관점
- 프로세스 관점
- 데이터와 프로세스의 상관 관점
모델링의 세 가지 단계
- 개념적 데이터 모델링
- 논리적 데이터 모델링
- 물리적 데이터 모델링
3단계 스키마 구조
- 외부스키마 - 사용자의 관점
- 개념스키마 - 통합된 관점
- 내부스키마 - 물리적인 관점
3단계 스키마 구조가 보장하는 독립성
- 논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마는 영향받지 않는다.
- 물리적 독립성 : 내부 스키마가 변경되어도 외무/개념 스키마는 영향받지 않는다.
02 엔터티(Entity)
엔터티란?
엔터티의 사전적 의미는 '독립체'이다. 데이터베이스에서 엔터티는 식별이 가능한 객체라는 의미를 가지고 있다.
엔터티의 특징
- 업무에서 쓰이는 정보여야 함
- 유니크함을 보장할 수 있는 식별자가 있어야 함
- 2개 이상의 인스턴스를 가지고 있어야 함
- 반드시 속성을 가지고 있어야 함
- 다른 엔터티와 1개 이상의 관계를 가지고 있어야 함
엔터티의 분류
- 유형 vs 무형
- 유형 엔터티 - 물리적인 형태 존재, 안정적, 지속적
- 개념 엔터티 - 물리적인 형태 없음, 개념적
- 사건 엔터티 - 행위를 함으로써 발생, 빈번함, 통계 자료로 이용 가능
- 발생 시점
- 기본 엔터티 - 독립적으로 생성됨, 자식 엔터티를 가질 수 있음
- 중심 엔터티 - 기본 엔터티로부터 파생, 행위 엔터티 생성
- 행위 엔터티 - 2개 이상의 엔터티로부터 파생
03 속성(Attribute)
속성이란?
사물이나 개념의 특징을 설명해줄 수 있는 항목들을 속성이라고 부른다.
속성값
각각의 속성은 속성값을 가지며 속성값은 엔터티에 속한 하나의 인스턴스를 구체적으로 나타내주는 데이터라고 볼 수 있다.
하나의 속성은 한 개의 속성값만 가질 수 있다.
엔터티, 인스턴스, 속성, 속성값의 관계
- 한 개의 엔터티는 두 개 이상의 인스턴스를 갖는다.
- 한 개의 인스턴스는 두 개 이상의 속성을 갖는다.
- 한 개의 속성은 하나의 속성값을 갖는다.
분류
- 특성에 따른 분류
- 기본 속성 - 업무 프로세스 분석을 통해 바로 정의가 가능한 속성
- 설계 속성 - 업무에 존재하지는 않지만 설계하다 보니 필요하다고 판단되어 도출해낸 속성(인위적으로 만듦)
- 파생 속성 - 다른 속성의 속성값을 계산하거나 특정한 규칙으로 변형하여 생성한 속성
- 구성 방식에 따른 분류
- PK속성 - 엔터티의 인스턴스들을 식별할 수 있는 속성
- FK속성 - 다른 엔터티의 속성에서 가져온 속성
- 일반속성 - PK, FK를 제외한 나머지 속성
도메인
속성이 가질 수 잇는 속성값의 범위를 도메인이라고 한다.
04 관계(Relationship)
관계란?
엔터티와 엔터티와의 관계를 의미하며, 어떠한 연관성이 있는지 타입을 분류하여 존재 관계와 행위 관계로 나눌 수 있다.
존재관계
존재 자체로 연관성이 있는 관계를 의미한다. ex. 직원과 부서, 학생과 학과 엔터티
행위 관계
특정한 행위를 함으로써 연관성이 생기는 관계 ex. 회원과 주문, 학생과 출석부 엔터티
표기법
- 관계명 - 관계의 이름
- 관계차수 - 관계에 참여하는 수
- 관계선택사양 - 필수인지 선택인지의 여부
- 필수적 관계 - 참여자가 반드시 존재해야 하는 관계
- 선택적 관계 - 참여자가 없을 수도 있는 관계
05 식별자(Identifiers)
식별자란?
식별자는 속성 중에 각각의 인스턴스를 구분 가능하게 만들어주는 대표 격인 속성을 의미한다.
주식별자
- 유일성 - 각 인스턴스에 유니크함을 부여하여 식별이 가능하도록 한다.
- 최소성 - 유일성을 보장하는 최소 개수의 속성이어야 한다.
- 불변성 - 속성값이 되도록 변하지 않아야 한다.
- 존재성 - 속성값이 NULL일 수 없다.
분류
- 대표성 여부
- 주식별자
- 보조식별자
- 스스로 생성되었는지 여부
- 내부식별자
- 외부식별자
- 단일 속성의 여부
- 단일식별자
- 복합식별자
- 대체 여부
- 원조 식별자
- 대리식별자
식별자 관계 vs 비식별자 관계
- 식별자 관계
- 비식별자 관계
출처 : 정미나. 「유선배 SQL개발자(SQLD) 과외노트」. (주)시대교육. 2023
'데이터베이스 > SQL' 카테고리의 다른 글
[SQLD] SQL 활용 (1) - 서브쿼리, 뷰, 집합연산자 (0) | 2023.08.20 |
---|---|
[SQLD] SQL 기본 (3) (0) | 2023.08.19 |
[SQLD] SQL 기본 (2) (0) | 2023.08.19 |
[SQLD] SQL 기본 (1) (0) | 2023.08.18 |
[SQLD] 데이터 모델과 SQL (0) | 2023.08.17 |