현실의 무언가로부터 측정한 값
이러한 자료를 효율적으로 수집 및 저장하기 위해 데이터 베이스 사용
데이터베이스란 상호 연관 있는 데이터들의 체계적인 집합
데이터의 논리적 독립성
데이터의 물리적 독립성
데이터의 무결성 유지
데이터 중복성 최소화
데이터 불일치 제거
시스템의 효율성을 최대한 높이기 위하여 일정 시간 또는 일정량의 데이터를 모아서 한번에 처리하는 시스템
데이터 발생 즉시 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하도록 하는 방식으로 단순히 온라인 처리 시스템이라고 한다.
지리적으로 분산되어 있는 여러대의 컴퓨터를 통신 회선으로연결하여 논리적으로 하나의 시스템을 사용하느 것처럼 운영하는 방식이다.
파일 -> 시스템 -> 계층형 -> 망형 -> 관계형 -> 객체형 -> 객체 관계형
Database Management System
모든 프로그램들이 데이터베이스를 공유 있도록 관리해 주는 소프트웨어
스키마란 DB의 구조(개체, 속성, 관계)에 대한 정의 및 제약 조건들을 기술한 것

오라클: DB > 스키마
mysql: DB = 스키마
데이터의 크기 및 유형을 결정하여 DB 사용할 있도록 데이터를 정형화
요구 분석
DB를 사용할 주요 사용자를 결정
업무 관련 문서 분석, 면담, 설문 조사 등의 방법을 이용해 요구 사항 파악
개념적 설계
데이터를 구조화, 정형화시키기 위해 추상적인 개념으로 표현하는 과정
ex) E-R 다이어그램
논리적 설계
개념적 스키마를 관계형 DB인 경우 테이블과 같은 논리적 데이터 모델을 이용해 논리적 구조로 표현, 정규화 수행
물리적 설계
하드웨어나 운영체제의 특성을 고려하여 필요한 인덱스 구조나내부 저장 구조 등에 대한 물리적인 구조를 설계
구현
SQL을 사용하여 DBMS를 통해 실제 DB를 만드는 과정

현실 세계에서 필요한 사람이나 사물과같이 구별되는 모든 것
데이터로써 DB 저장할 가치가 있는 중요한 사람이나 사물 개념 사건 등
개체나 관계가가지고 있는 고유의 특성
DB 저장하는 데이터의 가장 작은 논리적 단위
| 유형 | 설명 |
|---|---|
| 단일 값 속성 | 값을 하나만 가질 있는 속성 |
| 다중 값 속성 | 값을 여러개 가질 있는 속성 |
| 단순 속성 | 의미를 더는 분해할 없는 속성 |
| 복합 속성 | 의미를 분해할 있는 속성 |
| 유도 속성 | 기존의 다른 속성의 값에서 유도되어 결정되는 속성 |
| 널 속성 | 아직 결정되지 않았거나 존재하지 않는 값 |
| 키 속성 | 각 개체를 식별하는 사용되는 속성 |
서로 다른 개체가 맺고있는 의미있는 연관성
개체 사이의 대응 관계, 즉 매핑을 의미


현실 세계의 모든 데이터를 논리적인 릴레이션 구조로 구성
현실 세계의 실제 값과DB 저장된 값이 일치하는 정확성을 의미
ER모델의 산출물인 ERD를 이용하여 논리적 설계 단계를 수행
이상 문제를 해결하기 위해 속성 종속관계를 분석 릴레이션을 분해하는 과정
DB 물리적 구조나 물리적 처리에 영향을 주는 것이 아닌 논리적 처리에 영향
이상이란 속성 간에 존재하는 여러 종속 관계를 하나의 릴레이션에 표현함으로인해 발생하는 현상
도메인이 모두 원자값
1. 각 컬럼이 하나의 속성만을 가져야 한다.
2. 하나의 컬럼은 같은 종류나 타입(type)의 값을 가져야 한다.
3. 각 컬럼이 유일한(unique) 이름을 가져야 한다.
4. 칼럼의 순서가 상관없어야 한다.
부분 함수 종속 제거
1. 제 1정규형을 만족해야 한다.
2. 모든 컬럼이 부분적 종속이 없어야 한다. 즉, 모든 컬럼이 완전 함수 종속을 만족해야 한다.
이행 함수 종속 제거
1. 제 2정규형을 만족해야 한다.
2. 기본키를 제외한 속성들간의 이행 종속성 (Transitive Dependency)이 없어야 한다.
결정자 후보키가 아닌 것들은 제거
1. 제 3정규형을 만족해야 한다.
2. 모든 결정자가 후보키 집합에 속해야 한다.
다치 종속 제거
1. BCNF를 만족해야 한다.
2. 다중값 종속(다치 종속)이 없어야 한다.
조인 종속성 제거
1. 4NF를 만족해야 한다.
2. 더 이상 비손실 분해를 할 수 없어야 한다.
잘 보고갑니다