- 모델링의이해
데이터베이스 표현 의해서 추상화
특징 - 추상화(간략하게 표현) 단순화(쉽게 이해할 수 있도록 표현) 명확성(한 가지 의미를 지님)
모델링 단계 - 독립적으로(중복제거), 간결하게 표현
개념적 모델링 - 엔터티와 속성 도출 개념적, ERdiagram 작성
- 추상화 수준이 가장 높음
논리적 모델링 - 식별자 도출, 릴레이션 정의, 독립성 확보
- 정규화를 통해 재사용성 높임
물리적 모델링 - 테이블 인덱스 함수 생성
*ERdiagram 작성 절차 - 쉽고 간단하게
엔터티 도출, 배치(중요한 것을 왼쪽 상단)-> 관계 설정-> 관계 서술(어떠한 행동)-> 참여도와 필수 여부 표현( ex) 1:M M:1)
- 3층 스키마 - 외부 스키마, 개념 스키마, 내부 스키마
3단계 계층으로 분리해서 독립성을 확보 각 계층을 뷰라고 함
독립성 - 논리적 : 개념 스키마가 변경되더라도 외부 스키마 영향 X
- 물리적 : 내부 스키마가 변경되더라도 개념 스키마 영향 X
- 외부스키마 - 응용프로그램이 접근하는 데이터베이스, 사용자 관점의 구조
- 개념스키마 - 통합 데이터베이스 구조, 설계자 관점의 구조
- 내부스키마 - 물리적 저장구조, 개발자 관점의 구조(데이터 저장구조 , 레코드 구조, 필드, 인덱스)
- 엔터티 - 관리해야할 데이터 집합
특징 - 식별자 : 유일한 식별자(pk)가 있어야 함
- 인스턴스 집합 : 2개이상의 인스턴스
- 속성 : 속성을 가지고 있어야 함
- 관계 : 다른 엔터티와 한 개이상의 관계를 가짐
- 업무 : 업무에서 관리되어야 하는 집합
*인스턴스 - 각행 데이터 의미
ex) 은행의 엔터티 도출하면 고객 계좌엔터티가 나올 수 있음
유형과 무형에 따른 종류
종류 | 설명 |
유형 엔터티 | 지속적으로 사용 ex) 고객, 사원 |
개념 엔터티 | 물리적 형태가 없음 ex) 종목 가격 |
사건 엔터티 | 프로세스 실행시 생성되는 엔터티 ex) 주문 체결 취소 |
발생시점에 따른 종류
종류 | 설명 |
기본 엔터티 | 독립적으로 생성되는 엔터티 ex) 고객 상품 부서 |
중심 엔터티 | 기본엔터티로부터 발생되고 행위엔터티를 생성 ex) 계좌 주문 취소 채결 |
행위 엔터티 | 2개 이상의 엔터티로부터 발생 ex) 주문이력 채결이력 |
- 속성
엔터티가 가지는 항목
인스턴스의 구성요소, 더이상 분해되지 않는다
행의 제목으로 생각하면 쉬움, 하나의 값만 가진다.
분해 여부에 따른 속성의 종류
종류 | 설명 |
단일 속성 | 하나의 의미로 구성된 것 ex) 이름 회원아이디 |
복합 속성 | 여러 의미가 있는 것 ex) 주소 - 시 군 동 구 등으로 분해 |
다중값 속성 | 여러 개의 값을 가질 수 있는 것 다중값 속성은 엔터티로 분해됨 ex) 상품 리스트 |
특성에 따른 속성의 종류
종류 | 설명 |
기본 속성 | 프로세스에서 도출되는 기본속성 ex) 이름 번호 |
설계 속성 | 모델링 과정에서 발생되는 속성 ex) 상품코드 지점코드 |
파생 속성 | 다른 속성에 의해 만들어지는 속성 ex) 합계 평균 |
- 관계
존재관계 - 두 개의 엔터티가 존재 여부에 관계를 가짐
행위관계 - 두 개의 엔터티가 어떤 행위에 관계를 가짐
- 관계차수
1:1 - 관계되는 엔터티가 반드시 존재(완전 1:1), 관계되는 엔터티가 존재하지 않아도됨(선택적 1:1)
1:M - 하나의 엔터티가 여러개의 다른 엔터티의 관계를 가짐 ex) 고객은 여러개의 계좌를 가질 수 있음
M:N - 서로 여러개의 관계를 가짐, 해당 관계의 조인에서 카테시안 곱이 발생하기 때문에 1:M M:1의 관계로 변경해서 해소 해야함
필수적 관계 - 반드시 있어야 함 ' | ' 로 표시
선택적 관계 - 없을 수도 있음 ' ○ ' 로 표시
강한개체 : 독립적으로 존재할 수 있는 엔터티
약한개체 : 독립적으로 존재할 수 없는 엔터티
식별관계 - 강한개체가 다른 엔터티에게 기본키를 공유, 실선으로 표시 ex) 고객
비식별관계 - 강한개체의 기본키를 다른 엔터티의 일반 칼럼으로 관계를 가지는 것, 점선으로 표시 ex) 계좌
- 식별자
데이터베이스 키 | 설명 |
기본키(primary key) | 대표할 수 있는 키 다른 엔터티와 참조관계로 연결 |
후보기(candidate key) | 기본키의 후보, 유일성 최소성 만족 |
슈퍼키(super key) | 유일성만 만족 |
대체키(alternative key) | 후보키중 기본키를 뺀 나머지 대표성을 만족 못함 |
외래키(foreign key) | 다른 테이블에서 가리키는 키 참조무결성을 확인하기 위해 사용되는 키 즉 허용된 값만 저장하기 위해 사용되는 키 |
내부 식별자 - 내부에서 스스로 생성되는 식별자
외부 식별자 - 다른 엔터티와의 관계로 만들어지는 식별자 ex)계좌 엔터티에 회원id가 생김
단일 식별자 - 하나의 속성으로 이루어짐
복합 식별자 - 여러개의 속성으로 이루어짐
본질 식별자 - 프로세스에서 만들어짐
인조 식별자 - 인위적으로 만들어짐 ex) sequence number를 인위적으로 만들어 사용
'자격증 > SQLD' 카테고리의 다른 글
SQLD(4)-SQL활용1 (0) | 2021.08.13 |
---|---|
SQLD(3)-SQL기본3 (0) | 2021.08.12 |
SQLD(2)-SQL기본2 (0) | 2021.08.12 |
SQLD(3)-SQL기본1 (0) | 2021.08.11 |
SQLD(2)-데이터 모델과 성능 (0) | 2021.08.10 |