공부중/데이터베이스

[데이터베이스] 1주차 강의 요약

eooonion 2026. 3. 7. 00:38

Chapter1. 데이터베이스 시스템


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

데이터, 정보, 지식

  • 데이터: 현실 세계에서 단순이 관찰하거나 측정하여 수집한 정량적/정성적인 값
  • 정보: 데이터에 맥락과 의미를 부여한 것
  • 지식: 정보를 바탕으로 사물이나 현상에 대한 이해를 형성한 것

데이터 과학 시대의 데이터

  • 구조에 따른 데이터 분류
정형 데이터 구조화된 데이터(행, 열 명확히 저장)
(엑셀 스프레드시트)
반정형 데이터 일정한 구조는 있으나 고정되지 않고, 키값으로 유연하게 저장
(JSON, XML 등)
비정형 데이터 구조가 없고 자유로운 형태
(이미지, 영상, 텍스트문서)
  • 특성에 따른 데이터 분류
범주형 데이터 범주로 구분할 수 있는 값, 즉 종류를 나타내는 값을 가진 데이터(정적 데이터)
수치형 데이터 크기 비교와 산술적인 연산이 가능한 숫자값을 가진 데이터(양적 데이터)

데이터베이스의 활용

  • 일상 생활 거의 모든 곳에서 생성되고 활용됨
  • 데이터의 검색과 변경 작업을 주로 수행

데이터베이스의 개념 및 특징

  • 데이터베이스의 개념: 여러 사용자가 공유하여 사용할 수 있도록 통합하여 저장한 운영 데이터의 집합

공유데이터 특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있는 공용 데이터
통합 데이터 최소의 중복과 통제 가능한 중복만 허용하는 데이터
저장 데이터 컴퓨터가 접근할 수 있는 매체에 저장된 데이터
운영 데이터 조직의 주요 기능을 수행하기 위해 지속적으로 꼭 필요한 데이터

데이터베이스 시스템의 기본 구성요소

  • 데이터베이스 시스템: 각 조직에서 사용하던 데이터를 통합하고 공유할 때 생기는 장점을 이용
  • 구성: 데이터베이스 관리 시스템(DBMS), 데이터베이스, 데이터 모델

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

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

  1. 동네 서점
  2. 초기 전산화(로컬 컴퓨터)
  3. 데이터베이스 시스템 도입(원격 통신)
  4. 홈페이지 구축(인터넷)
  5. 인터넷 쇼핑몰로 확장

정보 시스템의 발전

  1. 파일 시스템
  2. 데이터베이스 시스템
  3. 웹 데이터베이스 시스템
  4. 분산 데이터베이스 시스템


3. 파일시스템과 DBMS

파일시스템과 DBMS 비교

  • DBMS 사용시 프로그램이 훨씬 간단하고 개발생산성이 높음
  • 파일 시스템에만 저장하면 도서정보 구조변경 시 구조체 정보 수정후 재작성해야 함.

DBMS의 장단점

  • 장점: 데이터 중복 통제, 독립성 확보, 동시 공유, 보안 향상, 무결성 유지, 표준화 가능, 장애 발생시 회복 가능, 개발비용 줄어듦
  • 단점: 도입비용 높음, 백업과 장애 회복 방법 복잡함, 대규모 사용자의 동시 접속 혹은 복잡한 쿼리 처리시 성능 저하 발생

DBMS의 발전 과정

  1. 네트워크 DBMS(그래프 형태), 계층 DBMS(트리 형태)
  2. 관계 DBMS
  3. 객체지향 DBMS, 객체관계 DBMS
  4. NoSQL, NewSQL DBMS


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

데이터베이스 시스템의 구성

  • 데이터베이스/DBMS/데이터 모델
  • 데이터베이스 사용자
  • 인터페이스
    • 데이터베이스 언어(SQL)
    • 응용프로그램

데이터베이스 언어(SQL)

  • 사용자와 데이터베이스 관리 시스템 간의 통신 수단
  • SQL(Structured Query Language)의 구성
    • 데이터 정의어(DDL): DBMS에 저장된 테이블 구조를 정의하는 데 사용
    • 데이터 조작어(DML): 데이터를 검색, 삽입, 삭제, 수정하는 데 사용
    • 데이터 제어어(DCL): 내부적으로 필요한 규칙이나 데이터의 사용 권한을 관리하는 데 사용
  • SQL의 핵심
    • 데이터 조작어 중 데이터를 검색하는 질의문
    • 질의문은 SELECT-FROM-WHERE 구조로 되어 있음

데이터베이스 사용자

  • 데이터베이스 사용자
    • 데이터베이스를 이용하기 위해 접근하는 모든 사람
    • 최종 사용자, 데이터베이스 관리자, 응용 프로그래머, SQL 사용자로 구분
  • 일반사용자
    • 데이터베이스에 접근하여 데이터를 조작하는 사람
    • 캐주얼 사용자와 초보 사용자로 구분
  • SQL 사용자
    • SQL을 사용하여 업무를 처리하는 사용자
    • 응용 프로그램으로 구현되지 않은 업무를 SQL을 사용해 처리
  • 응용 프로그래머
    • 일반 사용자가 사용할 수 있도록 프로그램을 작성하는 사람
  • 데이터베이스 관리자(DBA)
    • 데이터베이스 시스템을 운영하고 관리하는 사람, 주로 DDL, DCL를 이용

데이터베이스와 DBMS

  • 데이터베이스
    • 실제 데이터가 저장되는 물리적 저장소
  • DBMS
    • 데이터베이스를 관리하고 운영하는 제어센터

데이터 모델

  • 데이터 모델의 개념
    • 현실 세계의 데이터를 DB 구조로 변환하는 논리적 가이드라인
    • 관계를 표현하는 방법에 따라 계층/네트워크/관계/객체모델 등이 존재
  • 관계 표현 방법: 포인터 사용, 속성값 사용, 객체 식별자 사용

데이터베이스의 개념적 구조

  • 스키마: 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것
  • 인스턴스: 스키마에 따라 데이터베이스에 실제로 저장된 값
  • 외부 단계: 개별 사용자 관점
    • 일반 사용자나 응용프로그래머가 접근하는 계층
  • 개념 단계: 조직 전체의 관점
    • 통합 조직별로 하나만 존재하며 DBA과 관리함
  • 내부 단계: 저장 장치의 관점
    • 물리적 저장 장치에 데이터베이스가 실제로 저장되는 방법을 표현한 것
    • 하나의 데이터베이스에는 내부 스키마 하나만 존재
  • 데이터 독립성: 하위 단계의 내용을 추상화하여 상위 단계에 숨김으로써 다른 단계와 상호 간섭이 없도록 하는 것
    • 논리적 데이터 독립성(외부-개념 사이) - 새로운 속성을 테이블에 추가해도 기존 사용자 질의는 그대로 동작함!(하위 스키마 변경해도 상위 스키마 영향 X)
    • 물리적 데이터 독립성(개념-내부 사이) - 인덱스 구조를 바꾸어도 논리 구조는 동일

후속활동

1. DBMS 종류에 대한 선호도 조사하고 국내 점유율 알아보기

Oracle>MySQL>Microsoft SQL Server 순서라고 한다.

2. DB 자격증

전문가용: SQLP, DAP, OCP

일반용: SQLD< DAsP, ADsP, OCA

 

  • DBMS별 자격증
    • Oracle: OCP/OCM
    • Google Cloud: Professional Database Engineer
    • MongoDB: Associate DBA/Developer