[ MySQL ] 데이터베이스

Wooju Kang ·2025년 3월 26일

[ RDMBS ] MySQL

목록 보기
1/9
post-thumbnail

GIF 출처 : https://logpresso.store/ko/apps/mysql

🖥 Contents


1 ) 데이터베이스란?

2 ) 데이터베이스 종류

3 ) SQL





1 ) 데이터베이스란?


  • 데이터베이스 ( Database ) : 여러 사람이 공유할 목적으로 통합 관리하기 위해 논리적으로 연관된 데이터를 모아 일정한 형태로 저장해놓은 것
  • 데이터베이스 정의 : ISOS
정의설명
통합된 데이터 ( Intergrated Data )데이터 중복을 최소화한 데이터이다.
저장된 데이터 ( Saved Data )컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터이다.
운용 데이터 ( Operational Data )조직의 고유한 업무를 수행하는 데 반드시 필요한 데이터이다.
공용 데이터 ( Shared Data )여러 응용 시스템이 공동으로 소유하고 유지하는 데이터이다.
  • 데이터베이스 시스템의 특징 : R1C3
정의설명
실시간 접근성 ( Real Time Accessibility )사용자 질의에 실시간 응답으로 처리한다.
지속적인 변화 ( Continuous Evolutuion )삽입 , 삭제 , 수정 작업을 하여 항상 최신 데이터를 동적으로 유지한다.
운용 데이터 ( Operational Data )조직의 고유한 업무를 수행하는 데 반드시 필요한 데이터이다.
공용 데이터 ( Shared Data )여러 응용 시스템이 공동으로 소유하고 유지하는 데이터이다.
  • 데이터베이스 관리 시스템 ( Database Management System : DBMS )
    : 데이터 입력 , 수정 , 작데 등의 기능을 제공하는 별도의 소프트웨어를 의미한다.
출처 : https://www.geeksforgeeks.org/structure-of-database-management-system/




2 ) 데이터베이스 종류


계층형 데이터베이스

: 데이터가 부모와 자식 관계인 트리 구조이다. 상위 레코드 아래에 하위 레코드가 존재하는 구조이며 계층형 데이터베이스는 다음과 같은 특징을 지닌다.

(1) 데이터 중복이 쉽게 발생한다.
(2) 데이터가 상하 종속 관계이다.

출처 : https://www.google.com/search?q=hierarchical+database%C2%A0&client=safari&sca_esv=2a2a93e8be91f013&rls=en&udm=2&ei=JJPjZ6SeF9TK1e8P9eL8kA0&ved=0ahUKEwikwNefhKeMAxVUZfUHHXUxH9IQ4dUDCBE&uact=5&oq=hierarchical+database%C2%A0&gs_lp=EgNpbWciF2hpZXJhcmNoaWNhbCBkYXRhYmFzZcKgMgcQABiABBgTMgcQABiABBgTMgcQABiABBgTMgcQABiABBgTMgcQABiABBgTMgcQABiABBgTMgcQABiABBgTMgcQABiABBgTMgcQABiABBgTMgcQABiABBgTSJFEUNAGWORAcAR4AJABAJgB8AKgAewnqgEIMC44LjE0LjG4AQPIAQD4AQGYAhugAowpwgIFEAAYgATCAgsQABiABBixAxiDAcICBBAAGAPCAggQABiABBixA8ICBBAAGB6YAwCIBgGSBwg0LjYuMTYuMaAHv36yBwgwLjYuMTYuMbgH-ig&sclient=img#vhid=NhDOMTyBYrqnGM&vssid=mosaic

네트워크형 데이터베이스

: 데이터를 노드로 표현한 모델이며 이는 모든 데이터가 동등한 계층 관계를 이루고 있음을 의미한다. 네트워크형 데이터베이스는 다음과 같은 특징을 지닌다.

( 1 ) 동등한 계층 관계를 지니기 때문에 구조가 복잡하다.
( 2 ) 복잡한 구조로 인해 변경 및 운영이 어렵고 데이터 종속성 문제가 발생한다.

출처 : https://www.educba.com/dbms-network-model/

키 - 값 데이터베이스 ( Key - Value Database )

: 해당 데이터베이스는 NoSQL의 한 종류로 키 - 값을 1:1 대응하여 데이터를 저장한다. 키 - 값 데이터베이스는 다음과 같은 특징을 지닌다.

( 1 ) 데이터 중복이 발생하며 비정형 데이터 저장에 유리하다.
( 2 ) 스키마 없이 작동한다.
( 3 ) 데이터 구조를 미리 정의할 필요가 없다.

출처 : https://www.scylladb.com/glossary/nosql-storage-types/

💫 참고

  • NoSQL의 종류
NoSQL 유형특징종류
키 - 값 데이터베이스 ( Key - Value Database )키 - 값 형태로저장하며 수평 확장이 쉽다. 값의 내용으로 쿼리가 불가능하다.Redis , LevelDB
도큐먼트 데이터베이스 ( Document Database )키 - 값 모델이 진화한 형태이며 키 - 도큐먼트 형태로 저장된다. 값이 계층적인 형태로 저장된다. MongoDB , CouchDB
컬럼 데이터베이스 ( Column Database )키에 해당하는 값에 각기 다른 스키마를 가질 수 있으며 대용량 데이터 압축 , 분산처리 , 집계 처리 등에 뛰어나다.HBase , Cassandra
그래프 데이터베이스 ( Graph Database )데이터를 노드로 표현하며 노드 사이의 관계를 엣지로 표현한다. 소셜 미디어나 네트워크 다이어그램 등에서 사용할 수 있다.Neo4j , OrientDB

관계형 데이터베이스
: 데이터를 열과 행으로 구성한 테이블로 정리하며 기본키 ( Primary Key : PK ) 가 각 행을 식별한다. 데이터는 행 ( Row ) 단위로 저장되며 , 각 항목의 속성은 열 ( Column ) 이라 표현한다.

출처 : https://velog.io/@auddwd19/02.RDB
구성 요소설명
열 ( Column )각 열은 고유한 이름을 가지며 자신만의 타입을 가지고 있다. 열은 필드 ( Field ) 또는 애트리뷰트 ( Attribute ) 라고도한다.
행 ( Row )관계된 데이터의 묶음을 의미하며 한 테이블의 모든 행은 같은 수의 열을 가지고 있다. 이때 행을 튜플 ( Tuple ) 혹은 레코드 ( Record ) 라고도 한다.
테이블 ( Table )행과 열 값들의 모음을 나타내는 것으로 , 도메인 특성에 따라 데이터를 논리적으로 그룹화하여 모아놓은 것

⭐️ ERD ( Entity Relationship Diagram )
: 테이블 간의 관계를 표현한 그림을 의미하며 ERD를 표현하는 모델에는 2가지가 존재한다.

논리 모델
: 데이터 모델의 첫 단계로 고객의 요구 사항을 수집 & 분석하여 데이터베이스의 전체 모양을 구성하는 것

물리 모델
: 논리 모델을 바탕으로 실제 데이터를 저장할 수 있는 모델을 표현한 것

출처 : https://www.datamation.com/big-data/logical-vs-physical-data-model/



3 ) SQL


  • SQL ( Structured Query Language )
    : RDBMS 의 데이터를 관리하는 프로그래밍 언어를 의미한다.

    • SQL의 종류

    DBMSSQL 이름
    SQL 서버Transact-SQL(T-SQL)
    오라클 데이터베이스PL/SQL
    MySQLSQL
    국제 표준ANSI SQL

    : DBMS 제조사는 ANSI SQL 즉, 국제 표준을 따르면서도 자사 제품에 특화된 문법이나 명세를 추가한 SQL을 사용한다.

    출처 : https://onurdesk.com/what-is-the-history-of-mysql-with-3-layers/
    • SQL 문법
      : SQL 문법은 총 3가지로 크게 분류할 수 있다.

    1. 데이터 정의 언어 ( DDL )
    2. 데이터 조작 언어 ( DML )
    3. 데이터 제어 언어 ( DCL )

      ① 데이터 정의 언어 ( DDL : Data Define Language )

      : 데이터 정의 언어는 말 그대로 데이터베이스를 정의하는 언어이다. 테이블 스키마를 관리하는 역할을 하며 테이블 생성 초기화 및 수정 등의 명령어를 포함한다.

      ex ) CREATE , ALTER , DROP , TRUNCATE


      ② 데이터 조작 언어 ( DML : Data Manipulation Language )

      : 데이터 조작 언어는 데이터베이스에 입력된 데이터를 조회 & 입력 & 수정 & 삭제하는 명령어이다.

      ex ) SELECT , INSERT , UPDATE , DELETE

      ③ 데이터 제어 언어 ( DCL : Data Control Language )

      : 데이터 제어 언어는 데이터베이스에 접근하거나 객체에 권한을 부여하는 등의 역할을 하는 명령어이다.

      ex ) GRANT , REVOKE , COMMIT , ROLLBACK


profile
배겐드 📡

0개의 댓글