Altiora Petamus

Database 본문

DataBase

Database

Haril Song 2021. 1. 3. 14:35

Database

What is Database?

  • 검색이 용이하도록 일정한 기준에 맞추어 자료를 분류하여 정리해놓은 자료의 집합을 말합니다.
  • 실시간 접근성, 실시간 최신화, 동시 공유 등의 특징을 가지고 있어야합니다.

Data model

  • 계층형 데이터 모델(hierarchical data model)

    트리(tree) 구조를 활용하여 데이터 관련성을 계층별로 나누어 부모 자식 같은 관계를 정의하고 데이터를 관리한다. 기본적으로 하나의 부모개체가 여러 자식을 가질 수 있는 반면에 자식개체는 여러 부모 개체를 가질 수 없다는 제약이 있다.

    • 데이터가 저장된 파일은 상위 개념에 하위 개념이 포함되어 있는 특징이 있다.
    • 일대다(1:N) 구조의 데이터를 표현하기에는 알맞지만 자식개체가 여러 부모를 가진 관계는 표현할 수 없다
  • 네트워크형 데이터 모델(network data model)

    망형 데이터 모델이라고도 하며 그래프(graph) 구조를 기반으로 한다. 개체 간 관계를 그래프 구조로 연결하므로 자식개체가 여러 부모 개체를 가질 수 있다.

  • 객체 지향형 데이터 모델(object-oriented data model)

    데이터를 독립된 객체로 구성하고 관리하며 상속, 오버라이드 등 객체 지향 프로그래밍에 사용되는 기능을 활용할 수 있다.

  • 관계형 데이터 모델(relational data model)

    데이터의 관계에 초점을 둔 데이터 모델이다. 관계형 데이터 모델의 핵심 구성 요소(개체, 속성, 관계)를 활용하여 데이터를 안전하게 관리하기 위해 필요한 개념들을 정의한다.

RDBMS(Relational Database Management System)

  • 관계형 데이터 모델 개념을 바탕으로 데이터를 저장, 관리하는 데이터베이스를 관계형 데이터베이스라고 한다. 관계형 데이터베이스를 관리하는 시스템을 RDBMS라고 부릅니다.
  • SQL라는 언어를 이용하여 관리합니다.
  • Oracle, MSSQL, MySQL, Sybase, DB2 등이 있습니다.

SQL(Structured Query Language)

SQL은 RDBMS 방식의 데이터베이스를 관리하는데에 있어서 필수적입니다. 이에 대해서는 간단하게 작성 후 추후에 다시 다루겠습니다.

  • RDBMS에 접근해서 데이터의 입력, 수정, 삭제, 검색 등의 명령을 관리하는 언어입니다.
  • DQL, DML, DDL, TCL, DCL 등으로 명령어를 구분합니다.