본문 바로가기

컴퓨터/컴퓨터 시험

정보처리 기능사 - 데이터베이스의 개념

728x90

1. 데이터베이스(Database)란?

데이터베이스는 여러 사용자가 공유하여 사용할 수 있도록 체계적으로 저장한 데이터의 집합이다.

  • 예를 들어, 은행의 고객 정보, 학교의 학생 성적 관리 시스템 등이 데이터베이스를 활용한다.
  • 데이터베이스는 중복을 최소화하고 데이터의 일관성을 유지하는 것이 핵심이다.

2. 데이터베이스의 특징

  • 실시간 접근성: 사용자는 필요할 때 즉시 데이터를 검색할 수 있음.
  • 동시 공유: 여러 사용자가 동시에 데이터를 사용할 수 있음.
  • 데이터 독립성: 프로그램과 데이터가 분리되어 있어 수정이 용이함.
  • 무결성(Integrity): 데이터의 정확성과 일관성을 유지함.
  • 보안(Security): 허가된 사용자만 접근할 수 있도록 보호됨.

3. 데이터 모델 (Data Model)

데이터를 논리적으로 표현하는 방법으로, 데이터 간의 관계를 정의하는 방식이다.
대표적인 데이터 모델에는 다음과 같은 것이 있다.

① 계층형 데이터 모델

  • 트리 구조(부모-자식 관계)로 데이터를 저장.
  • 한 부모가 여러 자식을 가질 수 있지만, 한 자식은 하나의 부모만 가짐.
  • 예: 조직도, 파일 시스템.

② 네트워크형 데이터 모델

  • 그래프 구조를 이용하여 데이터 간의 복잡한 관계를 표현.
  • 한 자식이 여러 부모를 가질 수 있음.
  • 예: 항공 예약 시스템.

③ 관계형 데이터 모델 (RDB, Relational Database)

  • 데이터를 테이블(표) 형태로 저장하고, 테이블 간 관계를 설정.
  • 키(Key)와 관계(Relationship)를 이용해 데이터를 관리.
  • 대표적인 DBMS: MySQL, Oracle, MS SQL Server 등.

4. 데이터베이스 관리 시스템(DBMS)

DBMS(Database Management System)는 데이터베이스를 관리하는 소프트웨어다.

  • 데이터를 저장, 검색, 수정, 삭제하는 기능을 제공.
  • 대표적인 DBMS
    • 오픈소스: MySQL, PostgreSQL
    • 상용 DBMS: Oracle, Microsoft SQL Server

DBMS의 주요 기능

  • 데이터 정의 기능 (DDL, Data Definition Language)
    • 테이블 생성 및 삭제
    • 예: CREATE TABLE, DROP TABLE
  • 데이터 조작 기능 (DML, Data Manipulation Language)
    • 데이터를 삽입, 수정, 삭제
    • 예: INSERT, UPDATE, DELETE
  • 데이터 제어 기능 (DCL, Data Control Language)
    • 데이터의 보안 및 권한 부여
    • 예: GRANT, REVOKE

5. 키(Key)와 무결성(Integrity)

데이터베이스에서 키는 레코드를 식별하는 역할을 한다.

① 기본 키(Primary Key)

  • 테이블에서 각 행을 유일하게 식별하는 키.
  • 중복될 수 없고, NULL 값을 가질 수 없음.

② 외래 키(Foreign Key)

  • 다른 테이블의 기본 키를 참조하는 키.
  • 두 테이블 간 관계를 설정하는 데 사용됨.

③ 무결성(Integrity)

데이터의 정확성과 일관성을 유지하기 위한 제약 조건.

  • 개체 무결성: 기본 키는 NULL이 될 수 없음.
  • 참조 무결성: 외래 키는 참조하는 기본 키 값이 존재해야 함.
  • 도메인 무결성: 컬럼 값이 허용된 범위 내에 있어야 함.

6. 정규화(Normalization)

데이터의 중복을 줄이고, 효율적으로 저장하기 위한 과정.

  • 제1정규형(1NF): 테이블의 각 열이 원자값(더 이상 나눌 수 없는 값)을 가져야 함.
  • 제2정규형(2NF): 부분 함수적 종속 제거 (기본 키의 일부에 종속된 속성 제거).
  • 제3정규형(3NF): 이행적 종속 제거 (기본 키가 아닌 컬럼이 다른 컬럼에 종속되는 경우 제거).

7. 트랜잭션(Transaction)과 트랜잭션 특성(ACID)

트랜잭션(Transaction)은 데이터베이스에서 하나의 논리적인 작업 단위를 의미한다.

ACID 특성

  • 원자성(Atomicity): 트랜잭션이 모두 실행되거나 모두 실행되지 않아야 함.
  • 일관성(Consistency): 트랜잭션 실행 후에도 데이터의 무결성이 유지됨.
  • 고립성(Isolation): 트랜잭션 실행 중에는 다른 트랜잭션이 간섭할 수 없음.
  • 지속성(Durability): 트랜잭션이 완료되면 결과가 영구적으로 저장됨.

8. 데이터베이스 용어 정리

용어 설명
테이블(Table) 데이터를 저장하는 표 형태의 구조
필드(Field) 테이블의 열(속성, 컬럼)
레코드(Record) 테이블의 행(튜플)
SQL 데이터베이스를 조작하는 언어
인덱스(Index) 검색 속도를 빠르게 하기 위한 데이터 구조
뷰(View) 가상의 테이블, 특정 데이터를 조회하는 용도로 사용

정보처리기능사 시험에서는 SQL 문법, 정규화 개념, 무결성, 데이터 모델 등 기본적인 데이터베이스 개념을 잘 이해하는 것이 중요하다.

728x90