1-1-2. 관계형 데이터베이스 개요

박은서's avatar
Feb 25, 2026
1-1-2. 관계형 데이터베이스 개요

1. 데이터베이스

1️⃣ 데이터베이스의 다양한 정의

1) EU의 데이터베이스 법적 보호 지침

  • 체계적 또는 조직적으로 정리된 독립된 저작물, 데이터, 기타 소재의 수집물
  • 전자식 또는 기타 수단으로 개별적으로 접근 가능

2) 우리나라 저작권법

  • 소재를 체계적으로 배열 및 구성하여 개별적으로 접근하거나 검색할 수 있도록 한 편집물
  • 법률적으로 기술 기반 저작물로 인정됨

3) 컴퓨터용어사전, 정보통신용어사전(TTA)

  • 여러 이용자의 요구에 대응하여 데이터를 받아들이고 저장 및 공급하기 위해 일정한 구조로 구성된 데이터의 집합

4) 위키피디아

  • 체계적으로 정렬된 데이터 집합
  • 데이터 양과 이용 ↑ → 대용량 데이터를 저장, 관리, 검색, 이요할 수 있는 컴퓨터 기반 시스템으로 발전

5) 한국데이터산업진흥원

  • 문자, 기호, 음성, 화상, 영상 등 다양한 콘텐츠를 체계적으로 수집 및 축적하여 다양한 용도로 이용할 수 있게 정리한 정보의 집합체

2️⃣ 데이터베이스의 발전

1960년대
• 플로우차트를 사용하여 파일 구조로 데이터를 저장, 관리하는 방식 도입
1970년대
• 데이터베이스 관리 기법의 태동 • 계층형(Hierarchical) 및 망형(Network) 데이터베이스 상용화
1980년대
• 관계형 데이터베이스 상용화 • 오라클, Sybase, DB2 등 주요 제품 등장
1990년대
• 오라클, Sysbase, DB2, Teradata, SQL Server 등이 향상된 기능 제공 → 정보시스템의 핵심 솔루션 • 객체 관계형 데이터베이스로 발전

3️⃣ 관계형 데이터베이스의 특징

1) 파일 시스템의 문제점

  • 동시에 많은 사용자가 검색할 수 있지만, 입력, 수정, 삭제 작업에서 문제 발생
  • 동일한 데이터를 여러 파일에 복사해 사용하면 데이터 불일치 발생할 수 있음

2) 관계형 데이터베이스

  • 정규화 → 데이터 중복 최소화
  • 동시성 관리와 병행 제어 기능 제공 → 여러 사용자가 동시에 데이터 조작할 수 있는 기능 제공
  • 기능 : 메타 데이터 관리, 데이터 표준화, 보안 기능, 데이터 무결성 보장, 장애 복구 등

2. SQL 개요

1️⃣ SQL 정의

1) SQL (Structured Query Language)

  • 관계형 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어

2️⃣ SQL 명령문의 종류

1) 데이터 조작어 (DML, Data Manipulation Language)

  • 데이터베이스에 저장된 데이터를 추가, 수정, 삭제, 조회하는 SQL 명령어
    • INSERT : 새로운 데이터를 데이블에 추가
    • UPDATE : 기존 데이터를 수정
    • DELETE : 데이터를 삭제
    • SELECT : 데이터를 조회

2) 데이터 정의어 (DDL, Data Definition Language)

  • 데이터베이스 객체(테이블, 인덱스, 뷰 등)를 생성, 수정, 삭제하는 SQL 명령어
    • CREATE : 새로운 데이터베이스 객체를 생성
    • ALTER : 기존 객체를 수정
    • DROP : 객체를 삭제

3) 데이터 제어어 (DCL, Data Control Language)

  • 데이터베이스에 대한 권한을 설정하고 제어하는 SQL 명령어
    • GRANT : 사용자에게 특정 권한 부여
    • REVOKE : 사용자에게 부여된 권한 취소

4) 트랜잭션 제어어 (TCL, Transaction Control Language)

  • 데이터베이스 트랜잭션을 관리하는 SQL 명령어
    • COMMIT : 트랜잭션의 작업을 영구적으로 적용
    • ROLLBACK : 트랜잭션의 작업을 취소하고 이전 상태로 복구
    • SAVEPOINT : 트랜잭션 내 저장점을 설정해 부분적으로 롤백

3️⃣ 테이블

테이블
데이터를 저장하는 2차원 구조의 객체, 데이터베이스의 기본 단위
칼럼(열, Column)
테이블의 세로 방향 구조, 각 열은 특정 데이터 속성 나타냄 예) 이름, 나이, 주소
행(Row)
테이블의 가로 방향 구조, 각 행은 개별 데이터 항목을 나타냄 예) 한 사람에 대한 모든 정보
필드(Field)
칼럼과 행이 겹치는 하나의 공간, 개별 데이터 값을 저장

3. 데이터 타입 (Data Type)

1️⃣ 데이터 타입의 정의

  • 테이블에 데이터를 입력할 때 해당 데이터의 저장 공간 유형을 정의하는 기준

2️⃣ 데이터 타입의 중요성

  • 잘못된 데이터 입력 방지
  • 데이터 무결성 유지

3️⃣ 데이터 타입의 종류

1) 숫자 타입

  • NUMERIC : 정확한 소수
  • DECIMAL(DEC) : NUMERIC과 유사하지만 소수 자릿수 지정 가능
  • INTEGER(INT) : 정수
  • BIGINT : 큰 정수
  • SMALLINT : 작은 정수
  • FLOAT, REAL, DOUBLE PRECISION : 부동 소수
  • MONEY, SMALLMONEY : 화폐 금액

2) 문자 타입

  • CHAR : 고정 길이 문자열
  • VARCHAR : 가변 길이 문자열
  • TEXT : 긴 문자열

3) 날짜 및 시각 타입

  • DATE : 날짜
  • TIME : 시각
  • DATETIME : 날짜와 시각
  • TIMESTAMP : 날짜와 시각

4) 기타 타입

  • BINARY : 고정 길이 이진 데이터
  • VARBINARY : 가변 길이 이진 데이터
  • BOOLEAN : 참(True) / 거짓(False)

5) 벤더별 데이터 타입 차이

  • 벤더마다 지원하는 데이터 타입과 함수 다를 수 있음
Share article