개인 공부

데이터베이스??

orin602 2025. 1. 19. 15:51

데이터베이스 : 컴퓨터 또는 장치에 저장된 구조화된 데이터의 집합.

(데이터베이스 관리 시스템 = Database Management System을 줄여 데이터 베이스라고도 한다.)

 

DBMS

  • 컴퓨터에 저장된 서로 관계된 데이터의 집합
  • 데이터를 접근하는 프로그램의 집합
  • DBMS는 특정 기업에 관한 정보를 포함한다
  • DBMS는 사용이 편리하고 효율적인 환경을 제공한다.

데이터베이스 시스템의 목적

  • 초기 데이터베이스 애플리케이션은 파일 시스템을 이용하여 생성.
  • 파일 시스템 사용의 문제점
    • 데이터 중복 및 불일치 : 여러 가지 파일 형식, 여러 개의 파일에 중복된 정보의 저장
    • 데이터 접근이 어려움 : 새로운 임무를 수행하기 위해 새로운 프로그램의 작성이 필요
    • 데이터의 고립성 : 여러 개의 파일과 형식.
    • 무결성 : 정확한 데이터가 유지되고 있는지 보장하기 어려움.
  • 파일 시스템 사용의 문제점
    • 갱신의 원자성(Atomicity)
      • 데이터가 갱신이 실패해 일부만 수행되었을 때 불일치한 상태로 데이터가 남아있게 된다.
      • 계좌이체 업무는 양쪽의 계정처리가 모두 실행되거나 하나도 실행되지 않아야 한다.
    • 다수 사용자의 동시 접근
      • 성능 향상을 위해 동시 접근이 필요하다.
      • 통제 되지 않은 동시 접근은 데이터의 불일치를 유발한다.
    • 보안 문제
  • 데이터베이스 시스템은 위의 문제들에 대한 해결책을 제시한다.

DBMS의 장단점

  • 장점
    • 데이터 중복이 없음
    • 공동으로 자료 이용이 가능하다
    • 일관성 유지
    • 데이터의 무결성 유지
    • 최신 데이터 유지
    • 데이터 실시간 처리 가능하다
  • 단점
    • 전문가가 필요하다
    • 전산화 비용이 증가
    • 시스템이 복잡하다
    • 복구가 어렵다

SQL(Structured Query Language) : 데이터베이스 언어

  • 데이터를 처리(정의, 조작, 제어)하기 위한 표준 언어
    • 데이터 정의(DDL), 데이터 처리(DML), 데이터 제어(DCL)

DDL : Data Definiton Language

  • 데이터 형태, 구조, 데이터베이스의 저장에 관한 내용 정의 및 변경 = 관리자(DBA) 사용
    • 생성 : CREATE
    • 수정 : ALTER
    • 삭제 : DROP
    • 삭제 후 생성 : TRUNCATE (DROP 후 CREATE)

DML : Data Manipulation Language

  • 사용자의 요구에 따라 데이터 검색, 갱신, 삽입, 삭제 등을 지원하는 기능 = 사용자가 사용
  • 사용자가 응용프로그램과 데이터베이스 상에 실질적인 데이터 처리를 위해 사용
    • 조회 : SELECT
    • 추가 : INSERT
    • 삭제 : DELETE
    • 변경 : UPDATE

DCL : Data Control Language

  • 정확성과 안정성을 유지하는 기능 = 관리자 사용
    • 무결성 유지, 보안, 권한, 병행 수행 제어, 복구 등을 제어한다.

 

'개인 공부' 카테고리의 다른 글

[Python] Numpy(1)  (0) 2025.01.25
기본 SQL 연습하기 2  (0) 2025.01.19
기본 SQL 연습하기  (0) 2025.01.18
객체지향 프로그래밍 OOP  (0) 2025.01.15
JWT를 사용한 Spring Security 기반 인증 시스템 구현  (1) 2024.12.27