Home /Database/ DBMS
Post
Cancel

/Database/ DBMS



DBMS


DataBase Management System, 데이터베이스 관리 시스템
(관계형 데이터베이스에 한정하는 것을 강조하고 싶은 경우에는 RDBMS을 사용하기도 함)


  • 예)
    ● Oracle
    ● SQL Server
    ● DB2
    ● MySQL
    ● PostgreSQL
    ● Firebird



1. 관계형 데이터베이스


Relational DataBase, RDB


  • 데이터를 2차원 표를 사용해 관리하는 데이터베이스


여기서 말하는 Relational(관계)은 2차원 표를 표기할 때 사용하는 단어이다.
엔지니어가 보기에 가장 익숙한 2차원 표는
Excel이나 Google Docs로 대표되는 스프레드시트가 있다.



관계형 데이터베이스의 이점


  • 프로그래밍 언어를 사용하지 않아도 데이터를 조작할 수 있다.
  • 결국 프로그래밍 언어를 습득하지 않아도, 프로 엔지니어나 프로그래머가 아니어도 데이터 조작이 가능하다.
  • 이것을 가능하게 한 것이
    관계형 데이터베이스에 있는 ‘SQL’이라는 언어다.

✔️ CSV 파일로 데이터를 조작하는 경우
(관계형 데이터베이스를 사용하지 않았을 때)

  • 이 자체는 매우 간단한 로직이지만 프로그래밍 언어의 지식이 필요하고,
  • 프로그램을 실행하기 위한 환경도 준비해야 한다.
  • 또한, 갱신이나 제거를 수행하는 경우에도
    이를 실행할 수 있는 프로그램을 작성해야한다.



2. SQL 기초 지식


Structured Query Language(SQL)

  • 데이터베이스에는 4가지 기본 조작(검색, 등록, 갱신, 제거)에 대응하는 명령어 존재
    • SELECT(검색)
    • INSERT(등록)
    • UPDATE(갱신)
    • DELETE(제거)


  • 장점
    • 일반 프로그래밍 언어와 비해 간결하게 기술
    • 프로그래밍 언어에 사용되는
      반복(FOR/WHILE)이나 조건 분기(IF/CASE)를 사용하지 않아도 데이터 조작을 할 수 있음


  • 관계형 데이터베이스의 구조
    • 테이블
      • 관계형 데이터베이스에서 데이터를 관리하기 위한 유일한 단위
      • ‘어떤 테이블에 어떤 데이터를 포함하는가’
      • 시스템의 기능을 좌우
      • 테이블에 많은 정보를 채워 넣는다고 하면
        정보의 정합성을 유지 관리하기가 어렵고,
        데이터를 너무 엄격하게 분산시키면 성능이 나빠지니 주의해서 설계해야함
    • 열(컬럼) 행



3. 관계형 데이터베이스를 다루기 위한 사전 지식



DBMS와 데이터베이스의 차이


데이터베이스’와 ‘DBMS’란 단어는 실제 개별환경에서도 별로 구분되지 않고 사용되는 경우가 많지만, 둘은 약간 다르다.


  • 데이터베이스: 기능이나 구조를 나타내는 추상적인 개념
  • DBMS: 데이터베이스(기능이나 구조를 나타내는 추상적인 개념)를 실현하기 위해 작성된 구체적인 소프트웨어
  • Oracle이나 MySQL 같은 제품은 ‘DBMS이며 데이터베이스는 아니다’가 바른 표현
  • ‘MySQL은 DBMS의 한 가지다’ - 맞는 표현
  • ‘MySQL은 데이터베이스의 한 가지다’ - ‘추상’과 ‘구상’을 혼동한 이상한 표현
    • MySQL: 구체적으로 조작하는 것이 가능한 물리적 실체를 동반한 제품(구현Implementation)
    • 데이터베이스: 기능의 집합을 나타내는 추상적 개념



소프트웨어와 데이터베이스의 관계


  • SI(System Integration)
    • 데이터베이스와 다른 여러 가지 소프트웨어와 조합해서 시스템을 만드는 작업
      (단순히 데이터베이스만으로는 구축할 수 없음)
    • 어떤 소프트웨어를 조합할지는 그 시스템의 목적이나 규모에 따라 다름
    • 사용되는 소프트웨어는 크게 다음 3가지로 구분할 수 있음
      ① 운영체제
      ② 미들웨어
      ③ 애플리케이션

스크린샷 2023-01-25 오후 4 47 27

사진출처

➡️ 3가지 소프트웨어는 계층성이 있으며
한 레이어(계층)의 소프트웨어가 동작하지 않으면
상위 레이어의 소프트웨어는
설치해도 동작하지 않거나 설치조차 할 수 없는 제약이 발생

  • DBMS는 운영체제와 애플리케이션의 ‘중간(미들)’에 있으며,
    기능적으로 양쪽의 성질을 겸비해서 갖추고 있어 미들웨어에 해

스크린샷 2023-01-25 오후 4 32 06

사진출처


(참고)

  • 데이터베이스
This post is licensed under CC BY 4.0 by the author.