Post

[자격증] 정보처리(기능사_실기)_데이터베이스

[자격증] 정보처리(기능사_실기)_데이터베이스

마지막 정리가 될 지도??
이제는 복습과 문제풀이를 계속 진행해야 할듯하다..

데이터베이스

데이터베이스 유형

유형구조특징장점단점
관계형 (RDB)테이블 (Table, Relation)키(기본키, 외래키)를 사용하여 관계를 정의SQL을 사용하여 데이터 조작이 용이, 데이터 무결성 보장복잡한 관계가 많아질 경우 성능 저하 가능
계층형 (HDB)트리(Tree) 구조부모-자식 관계, 사이클 허용 안 됨데이터의 접근 속도가 빠름, 계층 구조가 명확상위 데이터 삭제 시 하위 데이터도 삭제되는 문제 발생
네트워크형 (NDB)그래프(Graph) 구조소유자-멤버 관계, 사이클 허용복잡한 데이터 구조 표현 가능, 관계 설정 유연함설계가 어렵고, 데이터 변경이 복잡함
객체 지향형 (OODB)객체(Object) 기반객체 간 상속, 캡슐화 등의 개념 적용복잡한 데이터 모델을 효과적으로 표현 가능기존 RDB보다 상대적으로 덜 일반적이고, 성능 이슈 가능

데이터베이스(Database)

특정 조직이 업무 수행하는 데 필요한 관련성 있는 자료들의 집합체


데이터베이스 관리 시스템 (DBMS: DataBase Management System)

사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성하고 데이터베이스를 관리하는 소프트웨어

DBMS의 기능

  • 정의(Definition) 기능 : 데이터베이스에 저장된 데이터의 형(Type), 구조, 이용 방식, 제약 조건 등을 명시
  • 조작(Manipulation) 기능 : 데이터 검색, 삽입, 삭제, 갱신 등의 처리를 위한 인터페이스 제공
  • 제어(Control) 기능 : 데이터의 정확성과 보안성을 유지 (무결성 관리, 병행 제어, 접근 제어 등)

데이터 조작 언어 (DML, Data Manipulation Language)

사용자의 요구에 따라 검색, 갱신, 삽입, 삭제 등을 지원하는 기능

데이터 정의 언어 (DDL, Data Definition Language)

데이터의 형태, 구조, 데이터베이스 저장에 관한 내용을 정의 및 변경

데이터 제어 언어 (DCL, Data Control Language)

정확성과 안정성을 유지하는 기능

언어 종류주요 명령어설명
DML (Data Manipulation Language)SELECT데이터 검색 (조회)
 INSERT데이터 삽입
 UPDATE데이터 갱신 (수정)
 DELETE데이터 삭제
DDL (Data Definition Language)CREATE새로운 데이터베이스 객체 생성 (테이블, 뷰 등)
 ALTER기존 데이터베이스 객체의 구조 변경
 DROP데이터베이스 객체 삭제 (테이블, 뷰 등)
DCL (Data Control Language)GRANT사용자에게 권한 부여
 REVOKE사용자에게 부여된 권한 철회
 COMMIT트랜잭션을 확정하여 데이터베이스에 영구 저장
 ROLLBACK트랜잭션을 취소하여 데이터베이스를 이전 상태로 복원

데이터베이스 사용자

  1. 응용 프로그래머 (Application Programmer)
    • DB 활용, 사용자 인터페이스 제공, 응용 프로그램 개발
  2. 일반 사용자 (End User)
    • 데이터 삽입, 삭제, 갱신, 검색 등의 목적으로 DBMS 이용
  3. DBA (DataBase Administrator, DB 관리자)
    • DBMS 운영 및 관리, 데이터 정의 및 접근 관리

스키마 (Schema)

데이터베이스를 구성하는 개체, 속성, 관계 등의 구조 정의 및 제약 조건을 기술한 것 (설계도)

스키마의 종류

  • 외부 스키마 (서브 스키마, 사용자 뷰) : 사용자 관점의 데이터 구조 (여러 개 가능)
  • 개념 스키마 : DB 전체적인 논리적 구조
  • 내부 스키마 : 실제 데이터 저장 방식

데이터 사전 (시스템 카탈로그)

시스템이 필요로 하는 여러 객체에 관한 정보를 포함한 시스템 데이터베이스

인덱스 (Index)

검색 속도를 높이기 위한 (키 값, 포인터) 쌍으로 구성된 보조적 데이터 구조


데이터베이스 설계

현실 세계의 업무 프로세스를 데이터베이스화하는 과정

설계 순서

  1. 요구조건 분석
  2. 개념적 설계
  3. 논리적 설계
  4. 물리적 설계

개념적 설계

개체 타입과 관계 타입을 이용하여 개념적으로 표현

ER 모델 (Entity-Relationship Model)

  • 개체(Entity) : 데이터베이스에 표현하려는 대상
  • 속성(Attribute) : 개체의 특성
  • 관계(Relationship) : 개체 간 상호 연관성

논리적 설계

목표 DBMS에 맞춰 논리적 모델을 설계

  • 정규화 (Normalization) 수행

물리적 설계

저장 레코드 양식의 설계 및 물리적 데이터 구조 표현

  • 레코드(Record) : 관련된 자료의 집합

데이터 모델 구성 요소 (구연제)

  1. 구조(Data Structure) : 개체 간의 관계
  2. 연산(Operation) : 데이터 처리 방법
  3. 제약 조건(Constraint) : 데이터의 논리적 제한

관계형 데이터베이스 (RDB)

데이터를 컬럼과 행으로 이루어진 2차원 구조로 저장

주요 개념

  • 도메인 (Domain) : 하나의 속성이 취할 수 있는 원자값들의 집합
  • 차수 (Degree) : 속성의 개수
  • 카디널리티 (Cardinality) : 튜플(행)의 개수
  • 속성 (Attribute) : 테이블의 열 (필드)

키 (Key)

  1. 슈퍼키 : 유일성을 만족하는 속성들의 집합
  2. 후보키 : 모든 튜플을 유일하게 식별하는 속성
  3. 기본키 (Primary Key) : 후보키 중 선택된 키
  4. 대체키 (Alternate Key) : 기본키를 제외한 후보키
  5. 외래키 (Foreign Key) : 다른 릴레이션의 기본키를 참조하는 키

무결성 (Integrity)

데이터베이스에 저장된 데이터 값과 현실 세계의 실제값이 일치하는 정확성

무결성의 종류

  1. 참조 무결성 : 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음
  2. 개체 무결성 : 기본키는 NULL 값이나 중복 값을 가질 수 없음
  3. 도메인 무결성 : 각 속성 값은 반드시 정의된 도메인에 속해야 함
  4. Null 무결성 : 특정 속성 값이 NULL이 될 수 없음
  5. Unique(고유) 무결성 : 특정 속성 값이 중복되어서는 안 됨
  6. 키 무결성 : 하나의 릴레이션에는 적어도 하나의 키가 존재해야 함
  7. 사용자 정의 무결성 : 사용자가 정의한 제약 조건을 만족해야 함
  8. 관계 무결성 : 릴레이션 간의 관계가 적합한지 규정

정규화 (Normalization)

데이터의 중복을 방지하고 보다 효율적으로 데이터를 저장하기 위한 과정

This post is licensed under CC BY 4.0 by the author.