데이터와 정보
- 데이터 (Data)
- 현실 세계로 부터 단순한 관찰이나 측정을 통해서 수집된 사실 이나 값
- 정보 (Information)
- 어떤 상황에 대한 적절한 의사 결정을 할 수 있게 하는 지식으로서 유효한 대이터의 해석 또는 데이터간의 관계
- 정보는 데이터를 처리해서 얻어진 결과
- I = P(D) : 데이터에서 정보를 추출하는 방법을 데이터 처리, 넓은 의미로 정보 처리라고 함
정보 시스템
- 조직체에 필요한 데이터를 수집, 조직, 저장하고 필요시에 유효한 정보를 생성하고 분배
- 조직의 운영과 외부적 상황에 관련된 과거, 현재, 예측적 미래에 대한 정보를 조직적으로 제공
- 의사 결정 과정에서 적시에 정확한 정보를 제공
- 조직의 관리, 기획, 통제, 운영을 조정
- MIS, ERP, CRM, SCM …
데이터베이스
- 같은 데이터가 다른 목적을 가진 여러 응용에 중복되어 사용될 수 있다는 공용 개념의 기초
- 한 조직의 여러 응용 시스템들이 함께 사용할 수 있도록 통합되고 저장된 데이터의 집합
데이터베이스 성질
- 통합 데이터 : 최소의 중복과 통제 가능한 중복만 허용하는 데이터
- 저장 데이터 : 컴퓨터가 접근할 수 있는 매체에 저장된 데이터
- 운영 데이터 : 조직의 주요 기능을 수행하기 위해 지속적으로 꼭 필요한 데이터
- 공유 데이터 : 특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있는 공용 데이터
데이터베이스 특징
- 실시간 접근성 : 사용자의 데이터 요구에 실시간으로 응답
- 지속적인 변화 : 데이터의 계속적인 삽입, 삭제, 수정을 통해 현재의 정확한 데이터를 유지
- 동시 사용 : 서로 다른 데이터의 동시 사용뿐만 아니라 같은 데이터의 동시 사용도 지원
- 내용 참조 : 데이터가 저장된 주소나 위치가 아닌 내용으로 참조
데이터 베이스 관리 시스템 (DBMS)
- 데이터베이스를 관리하고 운영하는 소프트웨어를 말한다.
- 데이터를 효율적으로 관리하고 조작할 수 있는 환경을 제공하며, 데이터베이스의 생성, 수정, 삭제, 검색 등의 작업을 수행한초.
DBMS 기능
- 데이터 정의 기능
- 데이터 모델과 데이터베이스를 물리적 저장 장치에 저장하는데 필요한 명세 포함
- 논리적 구조와 물리적 구조의 매핑을 명세
- 데이터 조작 기능
- 사용자와 데이터베이스 사이의 인터페이스를 위한 수단을 제공
- 사용하기 쉽고, 명확해야 함.
- 공용이라는 이유로 접근이나 처리가 비효율적 이어서는 안됨.
- 데이터 제어 기능
- 데이터의 갱신, 삽입, 삭제 작업이 정확히 실행되며, 무결성 제공
- 보안과 권한 검사
- 동시 사용자에 대한 병행성 제어
DBMS 에서 데이터의 명세 및 저장
- 개념적 모델링
- 개념적 모델링은 업무 프로세스와 데이터를 추상화하여 도식화하는 과정
- 이 단계에서 데이터베이스 설계에 필요한 개념들을 식별하고, 이들 간의 관계를 파악하여 개념적 모델을 작성한다.
- 논리적 모델링
- 논리적 모델링은 개념적 모델을 더욱 구체화하여 데이터베이스에 저장될 데이터의 구조와 관계를 정의하는 과정
- 이 단계에서 개념적 모델에서 정의한 개념들을 테이블, 컬럼 등의 논리적 요소로 변환하고, 이들 간의 관계를 정의한다.
- 물리적 모델링
- 물리적 모델링은 놀리적 모델을 구체화하여 실제 데이터베이스 구조를 정의하는 과정
- 이 단계에서 논리적 모델을 데이터베이스가 실제로 사용하는 물리적인 구조로 변환한다.
동시 접근 및 복구
- 데이터베이스에는 수 많은 사용자가 동일한 데이터에 동시 접근함
- 각 사용자의 요구사항을 상호 독립적으로 수행
- DBMS는 다른 사용자가 동일한 데이터에 접근하고 있다는 것을 사용자 관점에서 무시해도 되도록 동작
- 시스템의 장애 순간에도 일관성을 유지할 수 있도록 동작
- 장애 발생 순간에 동작에 참여중이던 데이터에 대한 일관성 유지
- 시스템이 재시동된 후 모든 대이터를 일관성 있는 상태로 유지해야 함
데이터 독립성
- DBMS의 데이터는 3단계의 추상화로 표현됨
- 각 추상화 단계 별로 응용 프로그램의 대이터 구성 및 저장 방식으로부터 격리
- 논리적 데이터 독립성 : 데이터의 논리적인 구조, 저장 방식/공간의 변화로부터 보호
- 물리적 데이터 독립성 : 디스크 파일 내부에서 데이터가 실제로 어떻게 배치되어 있는지 등의 정보를 감춤
스키마의 3계층
- 외부 스키마
- 외부 스키마는 사용자나 응용프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이다.
- 외부 스카마는 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마라고도 한다.
- 여러 개의 외부 스키마가 존재할 수 있고, 여러 사용자가 공유할 수 있다.
- SQL과 같은 질의어를 이용하여 DB에 쉽게 사용할 수 있다.
- 논리적 스키마 (개념 스키마)
- 논리적 스키마는 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재
- 개체 간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의
- 기관이나 조직체의 관점에서 데이터베이스를 정의한 것
- 물리적 스키마 (내부 스키마)
- 물리적 스키마는 물리적인 저장장치 입장에서 데이터가 저장되는 방법을 기술한 것이다.
- 실제 데이터베이스에 저장될 레코드의 물리적인 구조를 정의한다.
- 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서, 인텍스 유/무 등을 나타낸다.
- 시스템 프로그래머나 시스템 설계자가 관리
질의어 (Query Language)
- 데이터 조작어(DML : Data Manipulation Language)
- 정의된 데이터베이스에 입력된 데이터를 조회, 수정, 삭제, 입력하는 역할을 하는 언어
- 데이터 정의어(DDL : Data Definition Language)
- 데이터베이스를 정의하는 언어를 말하며, 저장된 데이터의 스키마를 정의하여 데이터가 저장되는 형식을 정의하는데 사용
- 데이터 제어어(DCL : Data Control Language)
- 데이터베이스에 대한 접근을 제어하기 위한 언어요소로, 데이터에 대해 접근 권한은 허가하고 박탈하는데 사용
트랜잭션
- 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위 (SELECT, INSERT, DELETE, UPDATE)
- 작업의 단위는 질의어 한문장이 아니다.
- ACID
- Atomicity (원자성) : 관련 작업이 전부 처리되거나 아예 처리되지 않아야 함.
- Consistency (일관성) : 트랜잭션 이전과 이후에 데이터베이스의 상태는 이전과 같이 유효해야 함
- Isolation (격리성) : 모든 트랜잭션은 다른 트랜잭션들로부터 독립되어 동작해야 함
- Durability (지속성) : 트랜잭션이 성공적으로 수행되었다면 완료의 효과는 지속되어야 함
- 원자성과 지속성을 위해 데이터베이스 로그와 로그 우선 기록을 사용
- 격리성을 위해 잠금 규약을 사용
- 일관성을 위해 제약 조건을 사용
데이터베이스 관리 시스템의 장점
- 데이터 독립성
- 효율적인 데이터 접근
- 데이터 무결성과 보안성
- 데이터 관리
- 동시성 제어 및 장애 복구
- 응용 프로그램 개발 시간 감소