요약본 파일은 요 기 에 (*’͜’ )ʕ𐭩
1. 데이터 모델의 이해
- 데이터 모델링의 개념 : 현실 세계의 정보를 약속된 표기법을 활용하여 데이터베이스의 구조로 표현하는 과정
- 특징: 단순화, 추상화, 명확화 ⭐️
- 유의점: 유연성(변화에 유연한 대응), 유일성(중복 저장x), 일관성(명확한 관계)
- 데이터 모델링 3가지 관점
1) 데이터 관점
2) 프로세스 관점: 업무 흐름
3) 데이터와 프로세스 관점: CRUD 분석 기반 (Create, Read, Update, Delete)
데이터 모델링 3가지 요소: 대상(Entity), 속성(Attribute), 관계(Relationship)
- 데이터 모델링 3단계: 개념적 모델링 ➡️ 논리적 모델링 ➡️ 물리적 모델링
1) 개념적 모델링: 추상적 개념으로 표현, ERD 작성
2) 논리적 모델링: 정규화 활용, 재사용성 높임
3) 물리적 모델링: 물리적 구조의 데이터로 변환
(물리적 모델링으로 갈수록 높은 수준의 구체화/낮은 수준의 추상화 레벨 가짐)
- 데이터 모델의 표기법(ERD)
1) IE 표기법: 방장에게 방을 할당해줌
2) Barker 표기법: 방장에게 #이라는 명찰 할당해줌
- ERD 작성 절차 6단계
1) 엔터티 도출
2) 배치: 중요한 배치는 왼쪽 상단에 배치
3) 관계 설정
4) 관계명 기술
5) 관계 차수 기술 : 개수
6) 필수/선택사양 기술
- 스키마의 3단계 구조: 외부 스키마, 개념 스키마, 내부 스키마
1) 외부 스키마: 사용자 입장 / 여러 개 존재
2) 개념 스키마: 전체적 논리 구조 / 1개
3) 내부 스키마: 물리적 저장장치 입장에서의 구조
- 3단계 스키마의 독립성: 독립성
1) 논리적 독립성: 개념 스키마 변경 시, 외부 스키마 영향 x
2) 물리적 독립성: 내부 스키마 변경 시, 개념/외부 영향 x
2. 엔터티 (Entity)
- 엔터티의 개념: 현실 세계에 존재하며, 명확하게 구분 가능한 객체
- 엔터티의 특징
1. 유일한 식별자에 의해 식별 가능
2. 해당 업무에 필요하고 관리하고자 하는 정보
3. 인스턴스들의 집합: 2개 이상의 인스턴스들의 집합
4. 엔터티는 반드시 속성을 가짐: 2개 이상의 속성을 가짐
5. 엔터티는 업무 프로세스에 의해 이용
6. 다른 엔터티와 최소 1개 이상의 관계 성립
- 엔터티의 명명법: 협업에서 사용하는 용어, 약어 사용 지양, 단수 명사, 중복 없음, 명확한 의미
- 엔터티의 분류
- 유형과 무형에 따른 분류
1) 유형엔터티: 물리적 형태 (ex. 학생)
2) 개념엔터티: 개념적으로 구분 (ex. 과목)
3) 사건엔터티: 특정 시점에 발생 (ex. 수강)
- 발생 시점에 따른 분류
1) 기본엔터티: 다른 엔터티 영향받지 않고 독립적 존재 (ex. 학생)
2) 중심엔터티: 기본 엔터티와 행위 엔터티 연결 (ex. 수강신청)
3) 행위엔터티: 두 개 이상의 엔터티 상속받아 생성 (ex. 수강내역) / 수정사항이 많을수밖에 없음
- 엔터티와 인스턴스 표기법: 엔터티는 사격형으로 표현, 속성은 조금씩 다름
3. 속성
- 속성의 개념: 더 이상 분리되지 않는 최소의 데이터 단위 (원자성)
- 엔터티, 인스턴스, 속성, 속성값의 관계
- 속성의 특징
1) 엔터티는 속성의 집합
2) 1개의 속성은 1개의 속성 값
3) 주식별자에 함수적 종속 (함수적 종속: A속성에 의해 B가 유일하게 결정됨)
4) 업무에서 관리되는 정보
- 함수적 종속성: 완전 함수적 종속, 부분 함수적 종속
- 속성의 분류
1) 속성의 특성에 따른 분류: 기본 속성(본래 속성), 설계 속성(필요에 의해 도출), 파생 속성(변형되어 생성, ex 합계)
2) 엔터티 구성방식에 따른 분류: 기본키(PK), 외래키(FK, 다른 엔터티와의 관계로 연결), 일반 속성
(자식 엔터티는 부모의 기본키를 외래키로 포함한다)
3) 분해 여부에 따른 속성: 단일 속성, 복합 속성, 다중값 속성
- 속성의 명명규칙: 협업에서 사용하는 용어, 약어 사용 지양, 서술식 금지, 유일성
- 도메인: 속성이 가질 수 있는 데이터의 타입과 크기에 대한 제한 사항 정의 (데이터 무결성 보장)
4. 관계
- 관계의 개념 : 엔터티와 엔터티간의 논리적 연관성
- 관계의 종류: 존재적 관계, 행위적 관계
(ERD에서는 존재적, 행위적 관계를 구분하지 않으나 UML에서는 구분한다)
- 관계의 구성
1) 관계명: 관계의 이름 (ex. 소속된다, 수강한다)
2) 차수: 엔터티간의 참여자의 수 (ex. 1:1, 1:M, ...)
3) 선택성: 엔터티가 관계에 항상 참여하는지 여부 (IE 표기법에서는 'O'로 선택적 참여 구분, Barker 표기법에서는 점선)
- 관계의 차수
1) 1대 1 관계: 완전 1대 1 관계, 선택 1대 1 관계
2) 1대 N관계
3) N대 M관계
- 관계의 페어링 : 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것
1) 관계의 차수: 하나의 엔터티와 다른 엔터티 간의 레코드 연결 방식
2) 관계의 페어링: 두 엔터티 간의 특정 연결을 설명하고 추가 정보를 제공
- 교차 엔터티 (M:N 관계를 표현하기 위해 생성된 엔터티, 관계형 DB에서는 M:N 표현하지 못하기에)
5. 식별자
- 식별자 개념: 인스턴스를 유일하게 구불할 수 있는 속성 또는 속성의 집합
- 식별자 분류
1) 대표성 여부에 따른 식별자 종류: 주식별자(대표성, 유일성, 최소성, 불변성, 존재성), 보조식별자(대체키,AK)
2) 생성 여부에 따른 식별자 종류: 내부식별자, 외부식별자(FK)
3) 속성 수에 따른 식벽자 종류: 단일식별자, 복합식별자(둘 이상의 속성을 가짐)
4) 대체 여부에 따른 식별자 종류: 본질식별자, 인조식별자 (모델링을 위해 인위적으로 생성)
- 주식별자 도출기준: 업무에서 자주 이용, 명칭/내역 같은 이름 피함, 속성 수는 최대한 적게 구성(최소성)
- 관계간 엔터티 구분 : 강한 개체, 약한 개체
- 식별 관계와 비식별관계
1) 식별자 관계(=강한 연결 관계): 부모 엔터티로부터 받은 식별자를 자식 엔터티의 주식별자 이용, 부모 주기 = 자식 주기
2) 비식별자 관계 (= 약한 연결 관계): 부모 엔터티로부터 받은 속성을 일반 속성으로 사용
- Key의 종류 (식별자는 논리 모델링에서 사용, key는 물리모델링 단계에서 사용하는 단어)
1) 기본키: 후보키 중에서 대표성을 가지는 주 키, 개체무결성(Null값이나 중복된 값 저장 불가)
2) 후보키: 유일성, 최소성 만족
3) 슈퍼키: 유일성 O, 최소성 X
4) 대체키: 기본키를 제외한 나머지 후보키
5) 외래키: 다른 테이블의 기본키를 참조하는 키, 참조무결성(참조할 수 없는 외래키 값을 가질 수 없음)
'✏ 공부' 카테고리의 다른 글
[SQLD] 2과목 (1) SQL 기본 및 활용 - 관계형 데이스 개요, SELECT문, 함수, WHERE절, GROUP BY절, HAVING절, ORDER BY절, 조인, 표준 조인 (0) | 2025.05.16 |
---|---|
[SQLD] 1과목(2) - 데이터 모델링의 이해: 정규화, 관계와 조인의 이해, 트랜잭션, NULL 속성, 본질식별자와 인조식별자 (0) | 2025.05.16 |
[태블로 실습#2-5] 지리적 역할, 태블로 맵 만들기 (0) | 2025.05.09 |
[태블로 실습#2-4] 그룹 vs 집합, 계층과 총계 (0) | 2025.05.09 |
[태블로 실습#2-3] 이중 축, 결합된 축 (0) | 2025.05.09 |