정보처리기사_필기_데이터베이스 - Gakgu/Gakgu.github.io GitHub Wiki
데이터베이스
정보시스템
- 정보시스템의 정의
의사 결정에 유용한 정보를 생성하고 분배하는 수단. - 정보의 정의
의사 결정에 도움을 줄 수 있는 자료를 가공해서 얻는 결과물. - 자료(데이터)의 정의
현실에서 수집한 사실이나 결과값. - 자료(데이터) 처리 시스템
자료를 정보로 가공(처리)하는 정보 시스템의 서브 시스템. - 데이터웨어 하우스
주요 업무 시스템에서 추출된 데이터베이스.
데이터베이스
정의
- 통합된 데이터(Integrated Data)
중복을 배제한 데이터 - 저장된 데이터(Stored Data)
저장 매체에 저장된 데이터 - 운영 데이터(Operational Data)
조직의 업무를 수행하는데 필요한 데이터 - 공용 데이터(Shared Data)
여러 응용 시스템들이 공동으로 소유하고 유지하는 데이터
특징
- 실시간 접근성(Real Time Accessibility)
실시간 처리에 대한 응답이 가능하다. - 계속적인 변화(Continuous Evolution)
항상 최신 데이터를 유지한다. - 동시 공유(Concurrent Sharing)
여러 사용자가 동시에 데이터를 이용할 수 있다. - 내용에 의한 참조(Content Reference)
사용자가 요구하는 데이터 내용으로 데이터를 찾는다.
DBMS
기존 파일 처리 방식의 문제점
- 종속성
응용 프로그램과 데이터가 상호 의존적이기 때문에 변경할 때 같이 변경해야 한다. - 중복성
- 일관성
중복된 데이터 간의 내용이 불일치할 수 있다. - 보안성
중복된 데이터끼리 같은 수준의 보안성을 유지하기 어렵다. - 경제성
중복된 데이터의 반복작업, 저장공간의 낭비로 인한 비용이 증가한다. - 무결성
제어의 분산으로 데이터의 정확성을 유지하기 어렵다
- 일관성
정의
- 데이터 타입과 구조, 제약조건을 명시하는 기능이다.
- 데이터끼리의 관계를 명확하게 명세할 수 있어야 한다.
- 데이터 연산은 무엇이든 명세할 수 있어야 한다.
필수기능
- 조작
- 데이터 접근 수단(검색, 갱신, 삽입, 삭제 등)을 정하는 기능
- 제어
- 데이터의 무결성이 유지되도록 하는 기능
- 보안을 유지하는 기능
- 권한을 검사할 수 있는 기능
- 병행제어를 할 수 있는 기능
장점, 단점
독립성
- 논리적 독립성
응용프로그램과 데이터베이스의 상호간 의존성을 제거한다. - 물리적 독립성
응용프로그램과 물리적 장치의 의존성을 제거한다.
스키마(Schema) = 메타 데이터(Meta-Data)
정의
데이터베이스의 구조, 제약조건에 관한 명세를 기술하는 것
데이터 개체, 속성, 관계, 제약조건을 정의하는 것
데이터 사전에 저장됨
스키마의 3계층
- 개념 스키마 or 전체적인 뷰
일반적인 스키마는 개념 스키마를 의미한다.
데이터베이스의 전체적인 논리적 구조다.
데이터베이스 관리자에 의해 구성된다. 기관이나 조직의 관점에서 DB를 정의한 것.
하나만 존재한다. - 외부 스키마 or 서브스키마 or 사용자뷰
사용자나 응용 프로그래머가 정의한 데이터베이스의 논리적인 구조다. 하나의 DB에 여러개의 외부 스키마가 존재할 수 있다. 하나의 외부 스키마를 여러 사용자가 공유할 수 있다. 서로 다른 관점을 정의할 수 있다. 일반적인 사용자는 SQL을 사용하여 DB를 사용한다. - 내부 스키마
DB의 물리적 구조를 정의한다.
물리적 저장장치의 입장에서 본 데이터베이스 구조다.
물리적인 구조, 저장된 데이터의 표현방법, 내부 레코드의 물리적 순서 등을 나타낸다.
시스템 프로그래머나 시스템 설계자가 보는 관점이다.
데이터의 실제 저장 방법을 기술한다.