데이터베이스(Database)

vvinter·2024년 3월 22일
0

개발용어

목록 보기
13/28

데이터베이스란?

데이터베이스는 구조화된 정보 또는 데이터의 조직화된 모음으로,
여러 명의 사용자 또는 응용 시스템들이 공유하고 동시에 접근하여 사용할 수 있도록, 구조적으로 통합되어 시스템에 저장된다.

데이터베이스는 일반적으로 데이터베이스 관리 시스템(DBMS)에 의해 제어되며, 연결된 애플리케이션과 함께 데이터와 DBMS를 하나로 묶어 데이터베이스 시스템이라고도 하고 줄여서 데이터베이스라고도 한다.

데이터베이스 관리 시스템(DBMS)이란?

DBMS는 데이터베이스와 최종 사용자 또는 프로그램 간의 인터페이스 역할을 하며, DBMS를 통해 데이터베이스를 관리하고 공유할 수 있는 환경을 제공한다.
또한 DBMS는 데이터베이스를 구축하는 틀과 효율적으로 데이터를 검색 및 저장할 수 있는 기능을 제공하여, 자료의 중복성을 제거하고 무결성, 일관성, 유용성을 보장할 수 있도록 해준다.
그뿐만 아니라 데이터베이스의 감시 및 제어가 용이하여 성능 모니터링, 튜닝, 백업, 복구, 보안과 같은 다양한 관리 작업이 가능하다.

📍 데이터베이스 구성요소

  • 개체, 속성, 관계

  • 개체 Entity
    : 개체란 데이터로 표현하고자 하는 현실 세계의 대상체로 현실 세계에서 사람이 생각하는 개념 및 정보의 단위가 되며, 서로 구별이 가능하다.

  • 개체는 하나 이상의 속성으로 구성되며 독립 개체, 종속 개체로 나눌 수 있다.

    • 독립 개체 : 다른 개체에 종속되지 x, 스스로 존재할 수 있음
    • 종속 개체 : 부모 개체로 불리는 다른 개체 집합의 존재에 존재성이 의존, 자식 개체라고도 부름
  • 속성 Attribute
    : 속성은 저장할 필요가 있는 개체에 관한 정보로, 개체의 특성 및 상태를 말한다.
    속성은 데이터베이스를 구성하는 가장 작은 논리적 단위이며, 특성, 분해 가능 여부, 엔터티 구성방식에 따라 분류할 수 있다.

    1) 특성에 따른 분류

    • 기본 속성 : 가장 일반적인 속성으로, 원래의 업무로부터 유래된 속성
    • 설계 속성 : 데이터 모델링을 위해 새로 만든 속성
    • 파생 속성 : 다른 속성들로부터 유도된 속성(계산된 값)

    2) 분해 가능 여부에 따른 분류

    • 단일 속성 : 하나의 의미
    • 복합 속성 : 여러 의미, 단일 속성으로 분해 가능
    • 단일값 속성 : 속성 1개에 한 개의 값
    • 다중값 속성 : 속성 1개에 여러 값, 엔터티로 분해 가능

    3) 엔터티 구성방식에 따른 분류

    • 기본키 속성 (PK, Primary Key): 엔터티의 인스턴스를 구별할 수 있는 속성
    • 외래키 속성 (FK, Foreign Key): 타 엔터티의 기본키를 참조하는 속성
    • 일반 속성 : 엔터티에 포함되고 기본키나 외래키 속성이 아닌 속성
  • 관계 Relationships

    : 2개 이상의 개체 간의 연관성을 뜻하며, 주로 동사의 형태로 표현된다. 관계는 사상수에 따라 1:1, 1:N, N:M으로 나뉘며, 한 관계에 연관된 개체 집합의 차수에 따라 일진관계성, 이진관계성, 삼진관계성 등으로 구분된다.

📍 데이터베이스 특징

  • 실시간 접근성 : 수시적이고 비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능해야 한다.
  • 계속적인 변화 : 데이터베이스의 상태는 동적이다. 즉, 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지한다.
  • 동시공용 : 데이터베이스는 서로 다른 목적을 가진 여러 응용자들을 위한 것이므로 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 한다.
  • 내용에 의한 참조 : 데이터베이스에 있는 데이터를 참조할 때 데이터의 레코드 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터 내용으로 데이터를 찾는다.

📍 데이터베이스 유형

데이터베이스의 유형은 매우 다양하며, 특정 조직에 가장 적합한 데이터베이스는 데이터의 사용 방식에 따라 다르다.

관계형 데이터베이스

  • 관계형 데이터베이스의 항목은 열과 행이 있는 테이블 집합으로 구성된다.
  • 관계형 데이터베이스 기술은 정형 정보에 액세스하는 가장 효율적이고 유연한 방법을 제공한다.

객체 지향 데이터베이스

  • 객체 지향 데이터베이스의 정보는 객체 지향 프로그래밍과 마찬가지로 객체 형태로 표현된다.

분산 데이터베이스

  • 분산 데이터베이스는 서로 다른 사이트에 위치한 둘 이상의 파일로 구성된다.
  • 데이터베이스는 물리적으로 동일한 위치에 있는 여러 컴퓨터에 저장되거나 다른 네트워크에 분산될 수도 있다.

데이터 웨어하우스

  • 데이터의 중앙 저장소인 데이터 웨어하우스는 빠른 쿼리 및 분석을 위해 특별히 설계된 데이터베이스 유형이다.

NoSQL 데이터베이스

  • NoSQL 또는 비관계형 데이터베이스를 사용하면 비정형 및 반정형 데이터를 저장하고 조작할 수 있다.
  • 관계형 데이터베이스는 데이터베이스에 삽입되는 모든 데이터의 구성 방식을 정의해야 한다.

그래프 데이터베이스

  • 그래프 생성 및 조작이라는 단일 용도로 특별히 설계된 플랫폼을 말하며, 엔티티 및 엔티티 간의 관계 측면에서 데이터를 저장한다.
  • 그래프는 노드, 간선, 속성으로 구성되어 있으며, 이 모든 요소를 활용하여 관계형 데이터베이스에서는 불가능한 방식으로 데이터를 표현하고 저장할 수 있다.

OLTP 데이터베이스  

  • 여러 사용자가 수행하는 많은 수의 트랜잭션을 위해 설계된 고속 분석 데이터베이스이다.

최신 데이터베이스로는 다음과 같은 것들이 있다.

오픈 소스 데이터베이스

  • 소스 코드가 오픈 소스인 시스템으로, SQL 또는 NoSQL 데이터베이스가 여기에 해당된다.

클라우드 데이터베이스

  • 클라우드 데이터베이스는 프라이빗, 퍼블릭 또는 하이브리드 클라우드 컴퓨팅 플랫폼에 상주하는 정형 또는 비정형 데이터 모음이다.
  • 클라우드 데이터베이스 모델 유형으로는 기존 및 서비스형 데이터베이스(DBaaS)가 있다. DBaaS에서는 서비스 제공자가 관리 작업과 유지 관리를 수행한다.

다중 모델 데이터베이스

  • 서로 다른 유형의 데이터베이스 모델을 단일 통합 백엔드로 결합하며, 이는 다양한 데이터 유형을 수용할 수 있다는 것을 의미한다.

문서/JSON 데이터베이스

  • 문서 지향 정보를 저장, 검색 및 관리하도록 설계된 문서 데이터베이스는 행과 열이 아닌 JSON 형식으로 데이터를 저장하는 최신 방식이다.

자율 운영 데이터베이스

  • 가장 획기적인 최신 유형의 데이터베이스인 자율구동 데이터베이스(자율운영 데이터베이스라고도 함)는 클라우드를 기반으로 하며, 머신러닝을 사용하여 데이터베이스 튜닝, 보안, 백업, 업데이트 및 기타 데이터베이스 관리자가 전통적으로 수행해 온 일상적인 관리 작업을 자동화한다.

☑️  SQL(Structured Query Language)이란?

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







📎 참고
https://aws.amazon.com/ko/what-is/database/
https://www.oracle.com/kr/database/what-is-database/
https://velog.io/@chappi/DB정리는-할껀데-핵심만-할껍니다.-데이터베이스란
https://coding-factory.tistory.com/214https://dodo000.tistory.com/12
https://dodo000.tistory.com/12
https://computer-science-student.tistory.com/473

0개의 댓글