데이터베이스 설계: 사용자의 다양한 요구사항을 고려하여 DB 생성
요구사항 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현
이것을 반복한다.
요구사항 분석: 용도 파악, 어떤 데이터를 필요로 하는지, 요구사항 명세서를 작성한다.
개념적 설계: 개념적 구조 설계, 개념적 스키마(E-R 다이어 그램)
논리적 설계: 논리적 구조 설계, 논리적 스키마(릴레이션 스키마)
물리적 설계: 물리적, 물리적 스키마
구현: SQL문
데이터 모델링은 현실 세계 데이터를 컴퓨터 세계 DB로 옮기는 변환 과정이다.
또한 DB 설계의 핵심 과정이다.
개념적 데이터 모델링: 현실 -> 개념
논리적 데이터 모델링: 개념 -> DB
데이터 모델: 데이터 모델링의 결과물을 표현하는 도구
개념적 모델: 데이터 베이스 개념적 구조로 표현, ex) 개체-관계 모델
논리적 모델: 데이터 베이스 논리적 구조로 표현, ex) 관계 데이터 모델
개체-관계 모델: E-R 모델
피터첸이 제안, 개체와 개체간의 관계를 이용해 현실세계를 개념적 구조로 표현
핵심 요소: 개체, 속성, 관계
E-R 다이어그램
개체: 사각형
관계: 마름모
속성: 타원(밑줄이 있는 건 key속성)
개체: 저장할 가치가 있는 사람이나 사물
파일 구조의 레코드와 대응됨
속성: 개체나 관계가 가지고 있는 고유의 특성
의미있는 데이터의 가장 작은 단위
파일 구조의 필드와 대응됨
개체 타입: 고유한 이름과 속성을 정의, 파일 구조 레코드에 대응
개체 인스턴스: 속성이 실제 값을 가져 실체화된 개체, 레코드 인스턴스에 대응
개체 집합: 개체 인스턴스의 모음
속성은 갯수, 의미분해 가능성, 유도 속성을 가진다.
갯수: 단일값과 다중값, 다중값의 경우 이중 타원으로 표현
의미분해 가능성: 단순, 복합
유도 속성: 값이 별도로 저장되지 않고 기존 다른 속성으로부터 유도, 점선 타원으로 표현, ex) 생년월일로 나이 유도
널속성: 널값을 허용(널은 모르거나 존재하지 않는 값이기에 공백이나 0과는 의미가 다르다)
키속성: 개체 인스턴스를 식별하는데 사용, 모든 개체 인스턴스의 키속성 값은 다르다. 밑줄로 표현, 둘 이상의 속성들로 구성되기도 함, ex) 이름, 생년월일
관계
개체와 개체의 연관성, 개체 집합들 사이의 대응관계
참여하는 개체 타입의 수
2개: 이항
3개: 삼항
자기자신: 순환
매핑 카디널리티(상대 개체 집합의 인스턴스 수)
1:1, 1:n, n:m
관계 참여 특성
필수적 참여: 전체 참여, 이중선으로 표현
선택적 참여: 부분 참여
관계의 종속성
약한 개체: 다른 개체의 존재 여부에 의존적(필수적 참여) -> 오너 개체의 키를 포함하여 키 구성
오너 개체: 다른 개체의 존재 여부 결정
오너-약한: 1:n 관계, 약한 개체가 오너 개체의 관계에 필수적으로 참여, 이중 마름모
약한 개체: 이중 사각형
'컴퓨터과학(CS) > 데이터 베이스' 카테고리의 다른 글
관계 데이터 모델링 (0) | 2022.01.28 |
---|---|
개념적 모델링 실습 (0) | 2022.01.19 |
데이터베이스 시스템 (0) | 2022.01.13 |
데이터베이스 관리 시스템 (0) | 2022.01.12 |
데이터베이스의 기본 개념 (0) | 2022.01.07 |