본문 바로가기
컴퓨터활용능력시험

컴퓨터활용능력 시험 대비_컴퓨터일반_4.데이터베이스(DB)

by 아프지말자 행복하자 2024. 12. 2.
반응형
목차

     

    컴퓨터 활용 능력 시험 대비 수준에서 데이터베이스(DB)에 대해 정리한 내용입니다.

    이 수준에서는 DB의 기본 개념, 구성 요소, 모델링, SQL, 데이터베이스 관리 시스템(DBMS)의 특징 및 활용법을 중심으로 학습합니다.

    1. 데이터베이스의 기본 개념

    1)데이터베이스(Database)의 정의

    (1)데이터베이스(Database)

    : 데이터를 효율적으로 관리하고 검색할 수 있도록 체계적으로 저장한 집합.

    (2) 특징 

    - 통합성 : 데이터 중복을 최소화.

    - 공유성 : 여러 사용자와 응용 프로그램이 데이터 접근 가능.

    - 변경 용이성 : 데이터 추가, 삭제, 수정이 쉬움.

    - 무결성 : 데이터의 정확성과 일관성을 유지.

    - 보안성 : 사용자에 따라 접근 권한을 다르게 설정 가능.

     

     

     

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

    1) DBMS의 정의

    - 데이터베이스를 관리하기 위한 소프트웨어.

    - 데이터의 저장, 수정, 삭제, 검색, 보안 등을 수행.

     

    2) 주요 DBMS 예시

    - 상용 DBMS: Oracle, MS SQL Server

    - 오픈소스 DBMS: MySQL, PostgreSQL

     

    3) DBMS의 기능

    (1) 데이터 정의(DDL) : 데이터 구조를 정의하는 기능.

    - 예: CREATE, ALTER, DROP

    (2)데이터 조작(DML) : 데이터를 추가, 수정, 삭제, 검색하는 기능.

    - 예: SELECT, INSERT, UPDATE, DELETE

    (3) 데이터 제어(DCL) : 데이터의 접근 권한을 설정하는 기능.

    - 예: GRANT, REVOKE ---

     

     

    3. 데이터 모델

    데이터 모델의 유형

    1) 계층형 모델 : 데이터가 트리 형태로 연결.

    - 특징: 부모-자식 관계, 단방향 탐색.

    - 예: 조직도.

     

    2) 네트워크형 모델 : 데이터가 그래프 형태로 연결.

    - 특징: 복잡한 관계를 표현 가능.

    - 예: 항공편 네트워크.

     

    3) 관계형 모델 : 데이터를 테이블 형태로 관리.

    - 특징: 가장 많이 사용됨, 데이터 표준화 용이.

    - 예: 학생 테이블(Student), 성적 테이블(Grade).

     

     

     

    4. 관계형 데이터베이스(RDBMS)

    1) 주요 용어

    - 테이블(Table) : 행(Row)과 열(Column)로 구성.

    - 행(Row) : 데이터를 저장하는 한 줄. (튜플)

    - 열(Column) : 데이터 속성을 나타냄. (필드)

    - 기본 키(Primary Key) : 행을 고유하게 식별할 수 있는 키.

    - 외래 키(Foreign Key) : 다른 테이블과의 관계를 나타내는 키.

     

    2) 정규화

    - 데이터의 중복을 줄이고, 무결성을 높이기 위한 과정.

    1) 제1정규형(1NF) : 모든 속성이 원자값(더 이상 분해할 수 없는 값)을 가짐.

    2) 제2정규형(2NF) : 부분 함수 종속 제거.

    3) 제3정규형(3NF) : 이행적 종속 제거.

     

     

     

    5. SQL(Structured Query Language)

    SQL의 유형

    1. DDL (Data Definition Language): 데이터 구조를 정의.

    - CREATE TABLE: 테이블 생성.

    - ALTER TABLE: 테이블 구조 변경.

    - DROP TABLE: 테이블 삭제.

    2. DML (Data Manipulation Language) : 데이터를 조작.

    - SELECT: 데이터 조회.

    - INSERT: 데이터 삽입.

    - UPDATE: 데이터 수정.

    - DELETE: 데이터 삭제.

    3. DCL (Data Control Language) : 데이터 접근 권한을 설정.

    - GRANT: 권한 부여.

    - REVOKE: 권한 회수.

     

    ### SQL 기본 구문 예시

    sql

    -- 테이블 생성

    CREATE TABLE Student (
    StudentID INT PRIMARY KEY,
    Name VARCHAR(50),
    Age INT

    );

    -- 데이터 삽입
    INSERT INTO Student (StudentID, Name, Age)
    VALUES (1, '홍길동', 20);

    -- 데이터 조회

    SELECT * FROM Student;

    -- 데이터 수정

    UPDATE Student
    SET Age = 21
    WHERE StudentID = 1;

    -- 데이터 삭제

    DELETE FROM Student
    WHERE StudentID = 1;

     

     

     

    6. 트랜잭션(Transaction)

    1)트랜잭션의 정의

    - 데이터베이스에서 수행되는 작업의 단위.

    - 예: 은행에서 계좌 이체(출금과 입금).

     

    2)트랜잭션의 ACID 특성

    (1)Atomicity (원자성) : 모든 작업이 성공하거나 모두 실패.

    (2)Consistency (일관성) : 데이터가 무결성을 유지.

    (3)Isolation (격리성) : 동시에 수행되는 트랜잭션 간 간섭 방지.

    (4)Durability (지속성) : 트랜잭션 완료 후 데이터 영구 저장.

     

     

     

    7. 데이터베이스 설계 과정

    1) 요구사항 분석 : 어떤 데이터를 저장할지 파악.

    2) 개념적 설계 : ER(Entity-Relationship) 다이어그램 작성.

    3) 논리적 설계 : 테이블로 변환, 정규화 수행.

    4) 물리적 설계 : 저장소 구조 설계, 인덱스 설정.

    5) 구현 및 테스트 : DBMS에 설계된 구조 구현.

     

     

     

    8. 데이터베이스 활용

    1) 인덱스(Index)

    (1)데이터 검색 속도를 높이기 위해 사용.

    2) 유형

    - 기본 인덱스(Primary Index)

    - 고유 인덱스(Unique Index)

    - 클러스터형 인덱스(Clustered Index)

    - 비클러스터형 인덱스(Non-clustered Index)

     

    2)백업 및 복구

    (1)백업 : 데이터를 보호하기 위해 복사본 생성.

    (2)복구 : 장애 발생 시 데이터 원상 복구.

     

     

     

    컴퓨터 활용 능력 시험 대비를 위해 위 내용을 중심으로 학습하고,

    SQL 문제를 실제로 풀어보며 연습하는 것이 중요합니다.

    반응형

    /* 티스토리 자동목차(TOC)#2-2 */ #toc * { font-size:16px; color:#444 !important; } #toc { padding:0 10px 0 0 !important; } #toc a:hover { font-weight:bold; color: #e22d6f !important; } #toc ul, #toc ol { margin-top: 5px; margin-bottom: 0px; padding:0 10px 0 0 !important; } #toc > li { padding-left:0; text-indent:0; margin-bottom:0; margin-top:7px; position:relative; } #toc > li > a { text-decoration:none; font-weight:bold; border-bottom:1px dotted #bbb; transition:color .3s ease; } #toc > li > ul, #toc > li > ol { padding-left:10px; } #toc > li > ul > li, #toc > li > ul > li { font-size:.95em; } #toc > li > ul > li > a, #toc > li > ol > li > a { font-size:1em; text-decoration:none; } #toc > li > ul > li > ul, #toc > li > ol > li > ol, { padding-left:10px; } #toc > li > ul > li > ul > li, #toc > li > ol > li > ol > li { font-size:.95em; } #toc > li > ul > li > ul > li > a, #toc > li > ol > li > ol > li > a { font-size:.975em; text-decoration:none; } /* 티스토리 자동목차(TOC)#2-2 끝 */