[DB] 데이터베이스와 SQL

📁 데이터 Data

관찰 결과로 나타난 정량적, 정성적인 실제 값

  • 정보 : 데이터를 기반으로 의미를 부여한 것

📁 데이터베이스 Database

한 조직에 필요한 정보를 여러 응용 시스템에서 공용할 수 있도록 논리적으로 연관된 데이터를 모으고 중복되는 데이터를 최소화하여 구조적으로 통합, 저장해놓은 운영데이터의 집합

종류

  • 운영데이터 (Operational Data)
    조직의 목적, 고유 기능을 위해 사용되는 데이터
  • 공용데이터 (Shared Data)
    여러 응용 프로그램들이 공동으로 사용하는 데이터
  • 통합데이터 (Integrated Data)
    중복을 최소화하여 중복으로 인한 데이터 불일치 현상 제거
  • 저장데이터 (Stored Data)
    컴퓨터 저장장치에 저장된 데이터

특징

  • 실시간 접근성
    사용자가 데이터를 요청할 시 실시간으로 결과 서비스
  • 계속적인 변화
    데이터 값은 시간에 따라 항상 바뀜
  • 동시 공유
    서로 다른 업무 또는 여러 사용자에게 동시 공유됨
  • 내용에 따른 참조
    데이터의 물리적 위치가 아닌 데이터 값에 따라 참조

📂 관계형 데이터베이스 RDBMS

  • Relational DataBase Management System

데이터를 하나 이상의 컬럼과 로우로 구성된 테이블에 나타내고 고유값을 통해 테이블들 사이에 논리적 관계를 맺어주는 데이터베이스 모델

📁 DBMS

  • Database Management System

데이터베이스 관리 소프트웨어

ex. Oracle, MySQL, SQL Server, DB2 등

기능

  • 데이터 추출
    사용자가 조회하는 데이터, 혹은 응용 프로그램의 데이터 추출
  • 데이터 조작
    응용 프로그램 등 데이터를 조작하는 소프트웨어가 요청하는 데이터 삽입, 수정, 삭제 작업 지원
  • 이터 정의
    데이터의 구조를 정의하고 데이터 구조에 대한 삭제, 변경 기능
  • 데이터 제어
    데이터베이스 사용자를 생성하고 모니터링. 접근 제어 백업과 회복, 동시성 제어 등 기능 지원

장점

  • 데이터 독립화
    데이터와 응용 프로그램을 분리해 상호 영향을 줄임
  • 데이터 중복 최소화, 데이터 무결성 보장
    중복되는 데이터를 최소화해 데이터 무결성 보장, 저장공간 낭비를 줄임
  • 데이터 보안 향상
    DBMS를 통해 응용 프로그램이 접근할 수 있는 데이터를 제한
  • 관리 편의성 향상
    다양한 방법으로 데이터 백업 가능. 장애 발생시 복구 가능

📁 SQL

  • Structured Query Language

관계형 데이터베이스에서 데이터를 조회하거나 조작하기 위해 사용하는 표준 검색 언어
원하는 데이터를 찾는 방법이나 절차가 아니라 조건을 기술하여 작성

종류

종류 설명
DDL - Data Definition Language, 데이터 정의어
- 데이터베이스의 구조 정의
- CREATE, ALTER, DROP
DML - Data Manupulation Language, 데이터 조작어
- 테이블에서 데이터를 입력, 수정, 삭제
- INSERT, UPDATE, DELETE
DQL - Data Query Language, 데이터 검색어
- 테이블에서 데이터를 조회
- SELECT
TCL - Transaction Control Language, 트렌젝션 제어어
- 트렌젝션을 제어하는 명령어
- COMMIT, ROLLBACK

실행 순서

순서 설명
파싱 - SQL의 문법을 확인하고 구문분석
- 구문분석한 SQL문은 Library Cache에 저장
실행 - 옵티마이저가 수립한 실행 계획에 따라 SQL 실행
인출 - 데이터를 읽어서 전송