데이터 저장소
- 데이터를 논리적 구조로 조직화, 혹은 물리적 공간에 구축한 것
- 논리 데이터 저장소 : 데이터 간의 연관성, 제약조건 식별
- 물리 데이터 저장소 : 소프트웨어 운영 환경의 물리적 특성을 고려하여 논리 데이터저장소를 실제 저장장치에 저장한 것
데이터베이스
- 공동으로 사용될 데이터의 중복을 배제하여 통합한 것
- 저장장치에 저장하여 항상 사용할 수 있도록 하는 운영 데이터
DataBase Management system (DBMS)
- 사용자 요구에 따라 정보를 생성하고, DB를 관리하는 소프트웨어
- 필수 기능
- Definition (정의) : 데이터 타입, 구조, 이용 방식, 제약 조건
- Manipulation (조작) : 검색, 갱신, 삽입, 삭제를 위한 인터페이스 수단
- Control (제어) : 무결성, 보안, 권한 검사, 병행 제어 제공
병행 제어 : 데이터 베이스의 일관성을 유지하면서, 공유를 최대화 하는 것이 목적
무결성 : 데이터 값이 정확한 상태. 데이터베이스의 데이터와 구조는 변경된 순서대로 전체 데이터베이스에 적용된다.
일관성 : 트랜잭션이 실행을 성공적으로 완료하면 언제나 모순 없이 누구에게나 일관성 있는 데이터베이스 상태를 보존함
Schema (스키마)
- DB 구조, 제약조건에 관한 전반적인 명세 사항
- 외부 스키마 : 각 사용자 단계의 개인적 DB 스키마, 사용자 관점, 응용 프로그램이 접근하는 DB를 정의함
- 개념 스키마 : 조직 전체의 통합된 DB 스키마, 설계자 관점, DB 전체적 논리 구조
- 내부 스키마 : 물리적으로 데이터가 저장되는 방법을 표현하는 스키마, 개발자 관점, 물리적 저장 구조임
데이터 베이스 설계
-
요구 조건을 분석하여 DB구조에 맞게 변형 후, DBMS로 DB를 구현하여 일반 사용자들이 사용하게함
-
고려 사항
- 무결성 : 연산 후에도 데이터가 제약 조건을 항상 만족해야 함
- DB에 저장된 데이터 값과 현실 세계의 실제 값이 일치하는 정확성
- 부정확한 자료가 DB내에 저장됨을 방지하기 위한 제약 조건
- 일관성 : 특정 질의에 대한 응답이 처음부터 끝까지 변함이 없어야 함
- 회복 : 장애 발생 시, 발생 직전 상태로 복구가 가능해야 함
- 보안 : 데이터의 불법적 노출, 변경, 손실로부터 보호 가능해야 함
- 효율성 : 응답시간 단축, 시스템 생산성, 저장 공간 최적화
- 데이터 베이스 확장 : DB 운영에 영향을 주지 않으면서, 지속적으로 데이터 추가 가능
-
순서 : 요구 조건 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현
데이터 모델
-
현실 세계의 정보들을 체계적으로 표현한 개념적 모형
-
구성 요소
- Entity (개체)
- DB에 표현하려는 개념, 정보단위 들 현실 세계의 대상
- Attribute (속성)
- DB를 구성하는 가장 작은 논리적 단위
- 속성의 수를 차수(Degree)라고 함
- Relationship (관계)
- 개체 사이의 논리적인 관련성
-
종류 : 개념적 데이터 모델링, 논리적 데이터 모델링, 물리적 데이터 모델링
Identifier (식별자)
- 개체를 대표할 수 있는 유일성을 만족하는 속성
- 모든 개체는 한개 이상의 식별자를 반드시 가짐
- 특징
- 유일성 : 주 식별자에 의해 유일하게 구분
- 최소성 : 최소한의 속성으로만 구분
- 불변성 : 한 번 지정되면, 주 식별자는 변하지 않아야 함
- 존재성 : 식별자 속성에 반드시 데이터 값이 존재 해야 함
Key (키)
E-R (개체 - 관계) 모델
- 개체 간 관계를 기본 요소로 하여, 현실 세계의 데이터를 개념적 논리 데이터로 표현한 것
- 개념적 데이터 모델링의 대표적인 것
- 데이터를 개체, 관계, 속성으로 묘사