데이터 모델링
복잡한 현실세계에 존재하는 '데이터를 단순화' 시켜 표현해 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정이다.
추상화 ( Abstraction )
현실세계를 간략하게 표현한다.
단순화 ( Simple )
누구나 쉽게 이해할 수 있도록 표현한다.
명확성 ( Clarity )
명확하게 의미가 해석되어야하고,
1가지 의미를 가져야한다.
현실세계 -> 개념적구조 -> 논리적구조
개념적 데이터 모델
- 사람의 머리로 이해할 수 있도록
현실세계를 개념적인 형태로 모델링하여,
데이터베이스의 개념적구조로 표현하는 도구논리적 데이터 모델
- 개념적 구조를 논리적 형태로 모델링하여,
데이터베이스의 논리적 구조로 표현하는 도구
관계( relationship )
개체와 개체가 맺고있는 의미있는 연관성
개체 집합들 사이의 대응관계, 즉 매핑(mapping)을 의미
예) 고객 개체 - 상품 개체 간 구매관계
"고객은 - 상품을 - 구매한다"
관계의 유형
일대일 (1:1) 관계
일대다 (1:N) 관계
다대다 (N:M) 관계
E-R 다이어그램
E-R 다이어그램 도형 기호
관계형 데이터 모델
데이터베이스 스키마 (database schema)
- 데이터베이스의 전체 구조
- 데이터베이스를 구성하는 릴레이션 스키마의 모음
데이터베이스 인스턴스 (database instance)
- 데이터베이스를 구성하는 릴레이션 인스턴스의 모음
튜플의 유일성
하나의 릴레이션에는 동일한 튜플이 존재할 수 없다.
튜플의 무순서
하나의 릴레이션에서 튜플 사이의 순서는 무의미하다.
속성의 무순서
하나의 릴레이션에서 속성사이의 순서는 무의미하다.
속성의 원자성
속성값을 원자값으로 사용할 수 있다.
키
릴레이션에서 튜플들을 유일하게 구별하는 속성 또는 속성들의 집합
유일성(uniqueness)
한 릴레이션에서 모든 튜플은 서로 다른키 값을 가져야 함
최소성(minimality)
꼭 필요한 최소한의 속성들로만 키를 구성
기본키 (primary key) PK
후보키 중에서 기본적으로 사용하기 위해 선택한 키
예) 고객 릴레이션의 기본키 : 고객ID
후보키 (candidate key)
유일성과 최소성을 만족하는 속성 또는 속성들의 집합
예) 고객 릴레이션의 후보키: 고객ID, (고객이름, 주소) 등
대체키 (alternate key)
기본키로 선택되지 못한 후보키
예) 고객 릴레이션의 대체키: (고객이름, 주소)
슈퍼키 (super key)
유일성을 만족하는 속성 또는 속성들의 집합
예) 고객 릴레이션의 슈퍼키: 고객ID, (고객아이디, 고객이름), (고객이름, 주소) 등
외래키 (foreign key) FK
다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
제약조건
무결성 제약조건
-데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙
-무결성: 데이터를 결함이 없는 상태, 즉 정확하고 유효하게 유지하는 것
외래키는 참조할 수 없는 값을 가질 수 없는 규칙
(외래키의 속성이 null값을 가진다고 참조무결성을 위반하는 것은 아님)
RESTRICTED
레코드를 변경 또는 삭제하고자 할 때, 해당레코드를 참조하고있는 개체가 있다면, 변경 또는 삭제연산을 취소
CASECADE
레코드를 변경 또는 삭제하면, 해당 레코드를 참조하고있는 개체도 변경 또는 삭제
SETNULL
레코드를 변경 또는 삭제하면, 해당 레코드를 참조하고있는 개체의 값을 null로 설정
MySQL데이터타입
숫자데이터 형식
문자데이터 형식
-한글 데이터를 BINARY로 변환하여 ORDER BY 할 수 있다.
날짜데이터 형식