데이터베이스란?

Hwani·2024년 5월 21일

데이터베이스

목록 보기
1/3
post-thumbnail

데이터베이스란?

여러 사람에 의해 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 쉽게 접근하여 처리할 수 있도록 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 데이터이다.

대표적인 데이터베이스

Oracle, MySQL, MariaDB, PostgreSQL, MS-SQL 등이 있다.

데이터베이스의 특징

  • 통합된 데이터 (Integrated Data) : 자료의 중복을 배제한 데이터의 모임
  • 저장된 데이터 (Stored Data) : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료
  • 운영 데이터(Operational Data): 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 자료
  • 공용 데이터(Shared Data): 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료

데이터베이스 시스템의 구성요소

  • 데이터베이스
  • 스키마
  • DBMS(데이터베이스 관리 시스템)
  • 데이터베이스 언어
  • 데이터베이스 컴퓨터
  • 데이터베이스 사용자

SQL이란?

SQL( Structured Query Language )는 데이터를 쿼리, 조작 및 정의하고 액세스 제어를 제공하기 위해 거의 모든 관계형 데이터베이스에서 사용되는 프로그래밍 언어이다.

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

데이터베이스를 정의하는 언어이며, 데이터를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할을 한다.

  • create : 데이터베이스, 테이블 등을 생성
  • alter : 테이블을 수정
  • drop : 데이터베이스, 테이블 삭제
  • truncate : 테이블 초기화

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

정의된 데이터베이스에 입력된 레코드를 조회, 수정, 삭제 등의 역할을 한다.

  • select : 데이터 조회
  • insert : 데이터 삽입
  • update : 데이터 수정
  • delete : 데이터 삭제

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

데이터베이스에 접근하거나 객체에 권한을 주는 등의 역할을 한다.

  • grant : 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 부여
  • revoke : 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 박탈, 회수
  • commit : 트랜잭션의 작업을 저장
  • rollback : 트랜잭션의 작업을 취소, 원래대로 복구!

정규화란?

정규화는 함수의 종속성 이론을 통해 데이터의 중복성을 최소화하고 일관성 등을 보장하여 데이터베이스의 품질과 성능을 향상시키는 과정이다. 정규화 수준이 높을수록 유연한 데이터 구축이 가능하고 데이터의 정확성이 높아지는 반면, 물리적 접근이 복잡하고 너무 많은 조인으로 인해 조회 성능이 저하된다는 특징이 있다.

정규화의 목적

  • 데이터 구조의 안정성과 무결성을 유지한다.
  • 데이터 모형의 단순화가 가능하다.
  • 효과적인 검색 알고리즘을 생성할 수 있다.
  • 데이터 중복을 배제하여 이상(Anomaly) 발생을 방지하고 저장 공간을 최소화한다.

트랜잭션이란?

트랜잭션(Transaction)이란, 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻한다.

트랜잭션의 특징

  • 원자성 ( Atomicity ) : 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료 ( Commit ) 되든지 아니면 전혀 반영되지 않도록 복구 ( Rollback )되어야 함

  • 일관성 ( Consistency ) : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환함

  • 독립성 ( Isolation ) : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없음

  • 지속성 ( Durability ) : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함

데이터베이스의 가장 중요한 개념만 정리를 했다. 추후 좀 더 자세하게 공부하면서 글을 써봐야겠다.

profile
개발자될거야

0개의 댓글