데이터베이스

1. 데이터베이스 1주차 이론 정리

기디기디 2026. 3. 7. 23:47

#1. 데이터베이스와 데이터 베이스 시스템

  • 데이터: 현실 세계에서 단순히 관찰하거나 측정하여 수집한 정량적/정성적인 값
  • 정보: 데이터에 맥락과 의미를 부여한 것
  • 지식: 정보를 바탕으로 사물이나 현상에 대한 이해를 형성한 것
  • 구조에 따른 데이터 분류
정형 데이터 구조화된 데이터, 행/열이 명확히 저장됨 ex) 엑셀 스프레드 시트
반정형 데이터 일정한 구조는 있으나 고정되지 않음, 키-값으로 유연하게 저장 ex) JSON, XML
비정형 데이터 구조가 없고 자유로운 형태 ex) 이미지, 영상, 텍스트 문서
  • 특성에 따른 데이터 분류
범주형 데이터 범주를 구분할 수 있는 값인 종류를 나타내는 값을 가진 데이터 질적 데이터(크기 비교/산술적 연산 가능 x)
수치형 데이터 크기 비교와 산술적인 연산이 가능한 숫자값을 가진 데이터 양적 데이터
  • 데이터베이스: 여러 사용자가 공유하여 사용할 수 있도록 통합하여 저장한 운영 데이터의 집합
    • 데이터베이스의 활용: 데이터의 검색과 변경 작업을 주로 수행 -> 시간에 따라 변하는 데이터 값을 데이터베이스에 반영하기 위해 수행하는 삽입, 삭제, 수정 등의 작업 -> 검색/변경 빈도에 따라 시스템 구축의 난이도가 결정
  • 주요 데이터베이스
공유 데이터 특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있는 공용 데이터 사용자가 다수
통합 데이터 최소의 중복과 통제 가능한 중복만 허용하는 데이터 중복 x
저장 데이터 컴퓨터가 접근할 수 있는 매체에 저장된 데이터 저장, 영구적
운영 데이터 조직의 주요 기능을 수행하기 위해 지속적으로 꼭 필요한 데이터 실시간, 지속적 운영

 

  • 데이터베이스 시스템: 각 조직에서 사용하던 데이터 통합/공유할 때 생기는 장점을 이용하는 시스템
  • 구성
데이터베이스 실제 데이터를 저장하는 공간, 통합/공유/저장/운영 데이터 포함
DBMS 데이터베이스를 관리하는 소프트웨어로 사용자와 데이터베이스 연결
데이터 모델 데이터를 설계하는 논리와 저장 기법
데이터베이스 사용자 최종 사용자, 개발자/관리자
인터페이스 데이터베이스 언어(SQL), 응용 프로그램

#2. 데이터베이스 시스템의 발전

  • 정보 기술과 데이터베이스 시스템의 발전

       1. 동네 서점

       2. 초기 전산화

       3. 데이터베이스 시스템 도입

       4. 홈페이지 구축

       5. 인터넷 쇼핑몰로 확장

  • 데이터 처리 관점에서 본 기업 정보 시스템의 발전 과정
    1. 파일 시스템
    2. 데이터베이스 시스템
    3. 웹 데이터베이스 시스템
    4. 분산 데이터베이스 시스템

#3. DBMS

  • DBMS의 장점
    • 데이터 중복 통제
    • 데이터 독립성 확보
    • 데이터 동시 공유 가능
    • 데이터 보안 향상
    • 데이터의 무결성 유지 가능
    • 표준화 가능
    • 장애 발생시 회복 가능
    • 응용 프로그램 개발 비용 감소
  • DBMS의 단점
    • 도입비용 증가
    • 백업과 장애 회복 방법 복잡
    • 중앙 집중 관리로 인한 취약점 존재
    • 대규모 사용자의 동시 접속이나 복잡한 쿼리 처리시 성능 저하 발생
    • 설계, 운영, 최적화, 튜닝에 전문 지식 요구
  • DBMS의 발전 과정
    1. 네트워크 DBMS, 계층 DBMS
    2. 관계 DBMS
    3. 객체지향 DBMS, 객체관계 DBMS
    4. NoSQL, NoSQL DBMS

#4. 데이터베이스 시스템의 구성

  • 데이터베이스 언어(SQL): 사용자와 데이터베이스 관리 시스템 간의 통신 수단
  • SQL의 구성
데이터 정의어(DDL) DBMS에 저장된 테이블 구조 정의
데이터 조작어(DML) 데이터 검색/삽입/삭제/수정
데이터 제어어(DCL) 내부적으로 필요한 규칙이나 데이터의 사용 권한 관리
  • 데이터베이스 사용자
데이터베이스 사용자 데이터베이스를 이용하기 위해 접근하는 모든 사람
일반 사용자 데이터베이스에 접근하며 데이터를 조작하는 사람
SQL 사용자 SQL을 사용하여 업무를 처리하는 사용자
응용 프로그래머 일반 사용자가 사용할 수 있도록 프로그램을 작성하는 사람
데이터베이스 관리자 데이터베이스 시스템을 운영하고 관리하는 사람
  • 데이터 모델 관계 표현 방법
포인터 사용 계층 데이터 모델, 네트워크 데이터 모델 프로그램 속도 빠름, 개발 속도 느림
속성값 사용 관계 데이터 모델 개념이 쉬움, 개발 속도가 빠름
객체 식별자 사용 객체 데이터 모델 객체지향언어의 상속, 캡슐화 개념 도입 가능
  • 스키마와 인스턴스
스키마(schema) 데이터베이스에 저장되는 데이터 구조와 제약조건 정의
인스턴스(instance) 스키마에 따라 데이터베이스에 실제로 저장된 값
  • 데이터베이스의 개념적 구조
외부 단계 개별 사용자 관점 일반 사용자나 응용 프로그래머가 접근하는 계층 여러 개의 외부 스키마 있을 수 있음
개념 단계 조직 전체의 관점 개념 스키마 - 개념 단계에서 전체 데이터베이스의 논리적 구조 정의 통합 조직별로 하나만 존재, DBA가 관리
내부 단계 저장 장치의 관점 물리적 저장 장치에 데이터베이스가 실제로 저장되는 방법 표현  하나의 데이터베이스에는 내부 스키마 하나만 존재
  • DBMS 사상
외부/개념 사상 응용 인터페이스 외부 스키마와 개념 스키마의 대응 관계
개념/내부 사상 저장 인터페이스 개념 스키마와 내부 스키마의 대응 관계
  • 데이터 독립성: 하위 단계의 내용 추상화하여 상위 단계에 숨김으로써 다른 단계와 상호 간섭이 없도록 하는 것
논리적 데이터 독립성 외부 단계와 개념 단계 사이의 독립성
물리적 데이터 독립성 개념 단계와 내부 단계 사이의 독립성