제이제이
article thumbnail

DBMS 소개와 MySQL 소개 표지

본 내용은 "이것이 MySQL이다"를 참고로 정리한 내용입니다.

 

1. DBMS의 개요


1) 데이터 베이스의 정의와 특징

❓ 데이터 베이스와 DBMS란?

데이터 베이스

🔥 데이터 베이스란 “여러 데이터이 있는 집합”이며 “여러 데이터를 저장하는 공간 자체"를 의미하기도 합니다.
  • 데이터 베이스는 여러 사용자나 응용 프로그램이 공유하고 동시에 접근이 가능해야 합니다.

 

DBMS(DataBaseManagementSystem)

 🔥 데이터 베이스를 관리, 운영하는 소프트웨어입니다.

 

다음 그림을 참고하여 데이터 베이스와 DBMS의 관계를 이해해봅시다.

데이터 베이스와 DBMS의 관계

 

그림을 살펴보면 DBMS데이터베이스를 관리하는 역할을 하는 소프트웨어입니다.

또한 데이터베이스DBMS 안에서 관리되고 있음을 확인할 수 있습니다.

DBMS는 다음 표에서 보이듯이 여러가지가 있습니다.

DBMS 제작 회사
MySQL Oracle
MariaDB MariaDB
PostgreSQL PostgreSQL
Oracle Oracle

 

🔥 데이터 베이스와 DBMS는 다음과 같은 특징을 가지고 있습니다.

데이터의 무결성

 🔥 데이터 베이스 안의 데이터는 어떤 경로를 통해 들어왔던 데이터에 오류가 있어서는 안됩니다.
       이를 위해 데이터베이스에는 제약 조건이라는 특성을 가집니다.

 

ex) 학생 데이터

  • 제약조건: 모든 학생은 학번이 반드시 있어야 하며, 각 학생의 학번은 서로 중복되서는 안된다.

이 제약 조건을 지키면, 학번만 알아도 어떤 학생이지 정확히 한 명의 학생의 정보가 추출될 수 있습니다.

 

데이터의 독립성

🔥 데이터베이스의 크기를 변경하거나 데이터 파일의 저장소가 변경되더라도 기존에 사용하던 응용 프로그램은
      전혀 영향을 받지 않아야 합니다.( 독립적인 관계여야 합니다.)

 

ex) 데이터 베이스가 저장된 디스크가 새 것으로 변경되어도 기존에 사용하던 응용 프로그램은 아무런 변경 없이 계속 사용되어야 합니다.

 

보안

🔥 데이터 베이스 안의 데이터를 접근할 때는 접근이 허가된 사람만 접근할 수 있어야 합니다.
      또한 접근할 때도 사용자의 계정에 따라서 다른 권한을 가져야 합니다.

 

데이터 중복의 최소화

🔥 동일한 데이터가 여러 개 중복되어 있는 것을 방지합니다.

 

응용 프로그램 제작 및 수정이 쉬워짐

🔥 데이터 베이스를 이용함으로써 응용 프로그램의 데이터 관리, 수정, 유지보수가 쉬워집니다.

 

데이터의 안전성 향상

🔥 대부분의 DBMS는 백업 및 복원 기능을 제공함으로써, 데이터에 문제가 있을 경우 복원 또는 복구할 수 있습니다.

 

2) 데이터 베이스의 등장하기까지의 데이터 저장 방식

데이터 베이스의 등장하기까지의 데이터 저장 방식에 대해서 간단하게 살펴보고 넘어갑시다.

데이터 베이스의 등장하기까지의 데이터 저장 방식

 

오프라인으로 관리(수기)

  • 컴퓨터가 등장하기 이전 혹은 초기에는 수기로 데이터를 관리하였습니다.

파일 시스템의 사용

  • 컴퓨터가 대중적으로 사용하게 됨으로써 컴퓨터 파일을 통해 데이터를 기록, 저장하게 되었습니다.
  • 메모장 또는 엑셀을 통해 데이터를 관리하였습니다.

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

  • 점차 관리해야 할 데이터가 많아짐으로써 대량의 데이터를 보다 효율적으로 관리하고 운영하기 위해 사용되었습니다.
  • DBMS에서는 SQL(Structured Query Language)를 통해 데이터를 관리합니다.

 

3) DBMS의 분류

DBMS의 유형은 크게 계층형 DBMS, 망형 DBMS, 관계형 DBMS, 객체 지향형 DBMS 등으로 분류됩니다.

  • 현재 사용되는 DBMS 중에는 관계형 DBMS가 가장 많은 부분을 차지합니다.

DBMS의 유형

계층형 DBMS

  • 처음에 나온 DBMS의 개념으로 그림과 같이 각 계층이 트리 형태를 가지며 1:N 관계를 갖습니다.
  • 지금은 사용하지 않습니다.

문제점

🚨 처음 구축한 이후에 구조를 변경하기에는 힘들다. 주어진 상태에서의 검색은 빠르지만, 접근의 유연성이 부족하여
      임의로 검색하기에는 어렵다.

계층형 DBMS

망형 DBMS

  • 계층형 DBMS의 문제점을 개선하기위해 등장하였으며 1:1, 1:N, N:M (다대다) 관계가 지원되어 효과적이고 빠른 데이터 추출이 가능합니다.
  • 지금은 거의 사용하지 않습니다.

문제점

🚨 매우 복잡한 내부 포인터를 사용하고 프로그래머가 이 모든 구조를 이해해야만 프로그램의 작성이 가능합니다.

망형 DBMS

 

관계형 DBMS

  • 데이터베이스는 “테이블”이라는 최소 단위로 구성되어 있습니다.
  • 테이블은 다음 그림과 같이 “하나 이상의 열”로 구성되어 있습니다.

장점

🔥 테이블에 구조를 파악하면 RDBMS를 효과적으로 사용할 수 있습니다.
      또한 변경이 편리하여 업무 변화에따라 쉽게 변경할 수 있습니다.

 

단점

 🚨 시스템 자원을 많이 차지합니다.

관계형 DBMS

 

4) SQL 개요

❓ SQL이란?

🔥 관계형 데이터베이스 시스템에서 사용되는 언어입니다.
  • 따라서 관계형 DBMS를 사용하려면 SQL를 이용해야 합니다.

SQL은 다음과 같은 특징을 갖습니다.

SQL의 특징

1. DBMS 제작 회사와 독립적입니다.

  • 표준 SQL에 맞춰 모든 DBMS 제작회사들은 DBMS을 개발합니다.
  • 따라서 표준 SQL은 대부분의 DBMS제품에서 사용할 수 있습니다.

2. 다른 시스템으로 이식성이 좋다.

  • SQL 표준은 서버,개인용 PC 등에서 운영되는 DBMS마다 상호 호환성이 뛰어납니다. 그러므로 어느 곳에서 사용된 SQL을 다른 시스템으로 이식하는데 문제가 없습니다.

3. SQL 표준은 계속 발전합니다.

  • SQL 표준은 계속 개선된 표준안이 발표되고 있습니다.

4. 대화식 언어입니다.

  • SQL은 바로 코드를 통해 질의하고 데이터 결과를 얻는 대화식 언어로 구성되어 있습니다.

5. 분산형 클라이언트/서버 구조입니다.

  • SQL은 분산형 구조인 클라이언트/ 서버 구조를 지원합니다.
 🔥 클라이언트(웹 프론트, 모바일)에서 질의하면 서버(웹 서버)에서 그 질의를 받아 처리한 후, 다시 클라이언트에게 전달하는 구조를 가집니다.

 

주의!

 🚨 모든 DBMS의 SQL문이 완벽하게 동일하지 않습니다.
       표준 SQL을 준수하려고 하나 각 회사마다의 DBMS마다 특징이 있기 때문에 완벽하게는 통일되지 않습니다.

 

다음 그림과 같이 각 회사의 제품은 모두 표준 SQL을 공통적으로 사용할 수 있으며, 각 회사 제품의 특성에 따라 호환되지 않는 SQL문이 있습니다.

표준 SQL과 각 회사의 SQL

 

2. MySQL 소개


❓ MySQL이란?

🔥 Oracle 사에서 제작한 DBMS이며 오픈 소스로 제공됩니다.

 

MySQL의 개요와 변천사

MySQL의 변천사

 

3. MySQL의 에디션 및 비교


MySQL은 크게 상용 에디션과 무료 에디션으로 구분됩니다.

  • 상용 에디션: Standard, Enterprise, Cluster CGE
  • 무료 에디션: Community

 

MySQL 에디션별 지원하는 기능들

MySQL 공식 홈페이지를 이용하면 더 자세히 알 수 있습니다. MySQL Products

 

MySQL :: MySQL Products

MySQL Products MySQL is the world's most popular open source database. Whether you are a fast growing web property, technology ISV or large enterprise, MySQL can cost-effectively help you deliver high performance, scalable database applications. Commercial

www.mysql.com

 

📒 Reference (참고 자료)


  1. 이것이 MySQL이다.
  2. 혼자 공부하는 Database [데이터베이스 이해하기] Database(DB), DBMS, SQL의 개념
 

[데이터베이스 이해하기] Database(DB), DBMS, SQL의 개념

데이터베이스(Database, DB)란? : 데이터의 저장소. DBMS(Database Management System, 데이터베이스 관리 시스템)란? 데이터베이스를 운영하고 관리하는 소프트웨어. 계층형, 망형, 관계형 DBMS 중 대부분의 DBM

hongong.hanbit.co.kr

'데이터 베이스 > MySQL' 카테고리의 다른 글

MySQL 엔진 아키텍처  (0) 2023.05.21
MySQL의 계정 생성 및 권한 부여 방법  (0) 2023.05.07
2. MySQL과 Workbench 설치하기  (0) 2022.11.11
profile

제이제이

@아사비치즈스틱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!