[CS] - Database 기초

buckshot·2024년 5월 22일

cs

목록 보기
7/15
post-thumbnail

데이터 베이스

어떠한 데이터를 파일 시스템을 사용하여 해당 정보를 관리를 했다. 하지만 이 방법은 데이터의 중복, 검색에 있어 여러 불편한 부분이 있다.
이러한 여러 문제가 해결이 되면서 보다 효율적인 데이터 베이스를 사용을 한다.

특징

  • 실시간 접근성 : 사용자의 질의에 대하여 즉각적으로 처리하여 응답한다.
  • 계속적인 진화 : 삽입, 삭제, 갱신, 삭제를 통하여 항상 최근의 정확한 데이터를 동적으로 유지를 한다.
  • 동시 공유 : 여러 사용자가 동시에 원하는 데이터를 공유할 수 있는 특징을 갖는다.
  • 내용에 의한 참조 : 데이터 베이스에 있는 데이터를 참조할 때 투플(tuple)의 주소나 위치가 아닌 사용자가 요구하는 데이터 내용에 따라 참조한다.
  • 데이터 논리적 독립성 : 응용 프로그램과 데이터 베이스를 독립시킴으로 데이터 논리적 구조를 변경 시키더라도 응용 프로그램은 변경되지 않는다.

Database Management System

Database Management System 데이터베이스 관리 시스템은 데이터 베이스의 생성, 유지 관리, 이용을 가능하게 하는 소프트웨어 시스템이다.

DBMS의 유형

  • 관계형 테이터베이스 관리 시스템 - RDBMS

    • 관계형 데이터 모델 기반
    • 테이블(릴레이션)로 구성되어 있으며, 각 테이블의 행(레코드)과 열(필드)로 구성되어 있다.
    • 주요 언어로는 SQL을 사용한다.
    • 특징
      • 데이터 무결성 : 고유성, 참조 무결성, 도메인 무결성 등을 보장한다.
      • 정규화 : 데이터 중복을 최소화하고, 데이터의 일관성을 유지하기 위해 테이블을 분해
      • ACID특성 : 트랜잭션의 원자성, 일관성, 고립성, 지속성을 보장한다.
  • 객체 지향 데이터베이스 관리 시스템 - OODBMS

    • 객체 지향 데이터 모델을 기반
    • 객체, 클래스, 상속 등을 사용하여 데이터와 그 동작을 하나의 단위로 관리한다.
    • 특징
      • 객체 지향 프로그래밍 통합 : 프로그래밍 언어와의 일관성을 유지하며 데이터베이스를 사용할 수 있다.
      • 객체 간의 복잡한 관계와 계층 구조를 자연스럽게 표현한다.
  • NoSQL 데이터베이스

    • 비관계형 데이터 모델로 다양한 형태의 데이터 구조 지원
    • 주요 유형은 Key-Value 저장소, 문서 저장소, 열 기반의 저장소, 그래프 데이터 베이스
    • 특징
      • 데이터 스키마가 유연하고 동적이다.
      • 수평적 확장성에 강점이 있어 대량의 데이터를 처리할 수 있다.
      • 읽기 및 쓰기 작업에 있어서 높은 성능을 보여준다.
profile
let's go insane

0개의 댓글