필기테스트 및 전공관련 질문 대비 정보처리기사 복습&정리
참고 책 - 시나공 정보처리기사 필기, 실기
데이터베이스
- 정의 : 특정 조직의 업무를 수행하는 데 필요한 상호 관련 데이터들의 집합
또한 다음과 같이 정의할 수 있다.
- 통합된 데이터(Integrated Data) : 자료의 중복을 배제한 데이터 집합
- 저장된 데이터(Stored Data) : 컴퓨터가 접근할 수 있는 저장매체에 저장된 자료
- 운영 데이터(Operational Data) : 조직의 업무를 수행하는 데 없어서는 안 될 반드시 필요한 자료
- 공용 데이터(Shared Data) : 이러 응용 시스템들이 공동으로 소유하고 유지하는 자료
- 특징
- 실시간 접근성(Real-Time Accessibility) : 수시적이고 비정형적인 질의(조회)에 대해 실시간 처리에 의한 응답이 가능해야 한다.
- 계속적인 변화(Continuous Evolution) : 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지해야 한다.
- 동시 공용(Concurrent Sharing) : 다수의 사용자가 동시에 같은 내용의 데이터를 공유할 수 있어야 한다.
- 내용에 의한 참조(Content Reference) : 데이터베이스에 있는 데이터를 참고할 때 주소나 위치에 의해서가 아니라 데이터 내용으로 데이터를 찾는다.
DBMS
DBMS란 Database Management System의 약자로, 데이터베이스에 데이터를 저장하고 관리할 수 있게 도와주는 소프트웨어다.
File System VS DBMS
파일시스템은 저장 장치에 저장되는 파일을 관리하는 시스템으로, 같은 내용의 데이터가 서로 다른 파일에서 중복 저장되어 관리되는 데이터 중복성과, 응용 프로그램과 데이터 간의 상호 의존 관계에 따른 데이터 종속성을 초래하는 단점이 있다.
▷ 종속성
응용 프로그램과 데이터가 상호 의존적인 관계에서는 저장방식이나 데이터 접근방법을 변경할 떼 응용 프로그램도 같이 변경해야 한다.
▷ 중복성
- 일관성 : 중복된 데이터 간에 내용이 일치하지 않아 일관성이 없어진다.
- 보안성 : 파일시스템에서는 사용자 권한에 따른 세밀한 접근 제어를 하기 어렵다.
- 경제성 : 저장공간의 낭비와 동일한 데이터의 반복 작업으로 비용이 증가한다.
- 무결성 : 제어가 분산되어 데이터의 정확성을 유지하기 어렵다.
이에 비해 DBMS는 논리적, 물리적 독립성이 보장되고, 데이터의 중복을 피할 수 있어 기억공간이 절약된다. 데이터의 일관성과 무결성을 유지할 수 있고, 보안을 유지할 수 있다.
기능
- 정의(Definition) : 데이터베이스에 저장될 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능.
- 조작(Manipulation) : 데이터의 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 사용자와 데이터베이스 간으 ㅣ이터페이스를 제공하는 기능
- 제어(Control) : 데이터베이스 조작 작업이 정확하게 수행되어 데이터의 무결성을 유지하도록 제어하는 것. 정단한 사용자가 허가된 데이터만 접근할 수 있도록 보안을 유지하고 권한을 검사할 수 있어야한다. 또한 여러 사용자가 데이터베이스에 동시에 접근할 때 처리결과가 항상 정확하도록 병행 제어를 할 수 있어야 한다.
스키마
데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타 데이터의 집합이다. 데이터베이스를 구성하는 개체, 속성, 관계 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다. 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나뉜다.
- 개체(Entity) : 현실세계에서 개념적 또는 물리적으로 존재하는 개념과 정보의 단위
- 속성(Attribute) : 개체가 가지고 있는 특성. 개체에 관한 정보
- 관계(Relationship) : 개체와 개체 또는 개체와 속성간의 관계
외부 스키마
= 사용자 뷰(View)
사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것으로, 하나의 데이터베이스 시스템에 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러 명이 공용할 수도 있다.
개념 스키마
데이터베이스의 전체적인 논리적 구조로서, 전체 데이터베이스에 하나만 존재한다. 개념 스키마는 개체 간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.
단순히 스키마라고 하면 개념 스키마를 가리키는 것.
내부 스키마
물리적 저장장치의 입장에서 본 데이터베이스 구조로, 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
즉, 실세계에 존재하는 데이터들을 어떤 형식, 구조 배치로 화면을 통해 사용자에게 보여줄 것인가? = 외부 스키마
디스크에는 어떤 구조로 저장할 것인가? = 내부 스키마
데이터베이스에 실제로 어떤 데이터가 저장되었으며 데이터 간의 관계는 어떻게 되는가? = 개념 스키마
데이터베이스 언어
데이터 정의 언어 (DDL : Data Definition Language)
DB구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어.
▷ CREATE, ALTER, DROP, RENAME, TRUNCATE
데이터 조작 언어 (DML : Data Manipulation Language)
사용자로 하여금 데이터를 처리할 수 있게 해주는 도구로서, 사용자와 DBMS 간의 인터페이스를 제공한다. 응용 프로그램을 통해 사용자가 DB의 데이터를 실질적으로 자작할 수 있도록 하기위해 만든 언어로 대표적으로 질의어가 있다.
(질의어의 종류 : SQL, IMS, DBTG, TOTAL 등)
절차적 조작 언어 : 사용자가 어떤 데이터가 필요하면, 필요한 데이터를 어떻게 구하는지 절차에 맞게 구체적으로 명시하는 언어
비절차적 조작 언어 : 사용자가 어떤 데이터가 필요한지만 명시하고, 필요한 데이터를 어떻게 구하는지 절차에 맞게 구체적으로 명시하는 언어
▷ SELECT, INSERT, DELETE, UPDATE
데이터 제어 언어 (DCL : Data Control Language)
무결성, 보안 및 권한 제어, 회복 등을 하기 위한 언어
▷ GRANT, REVOKE, COMMIT, ROLLBACK