Koalitsiya 2023. 4. 10. 16:41

데이터와 정보

  • 데이터
    • 현실 세계에서 측정하고 수집한 사실이나 값
    • 가공하기 이전의 단순한 관찰/측정을 통해 얻은 재료 즉, 사실이나 수치, 문자, 음성 등
  • 정보
    • 목적이나 의도에 맞게 데이터를 가공 처리한 것
    • 특정 목적에 맞게 가공해서 판단의 근거로 사용될 수 있도록 의미와 가치를 부여한 것
  • 데이터와 정보 구분
    • 데이터 - 1년간 아이스크림 판매량
    • 정보 - 아이스크림은 여름에 잘 팔린다.

 

Database Appplications

  • DB 활용 예시
    • 입금, 출금, 이체 등 은행 거래
    • 숙소 예약
    • 쇼핑몰에서 물품 구매
    • ...
  • DB 시스템의 특성
    • 최초 적재(Loading) 이후 이벤트 발생에 따라 빈번하게 변경(Interaction)된다.
    • 대용량의 데이터를 다루며, 그렇기에 사용자가 쉽고 빠르게 접근할 수 있도록 데이터가 체계적으로 조직화되어야 한다.

 

Database System

 

Database

  • 정의: 특정 조직 내에서 다수의 사용자가 공유할 수 있도록 통합하여 저장한 운영 데이터의 집합체
  • 실질적 의미: 데이터 및 데이터간 관계의 집합
  • 장점
    • 데이터 중복성 최소화
    • 데이터 공유성 최대화
    • 데이터 일관성 유지
    • 데이터 무결성 유지
    • 데이터 독립성 유지
    • 데이터 보안성 최대화
    • 데이터를 표준화하여 관리 가능

DBMS

  • 정의: DB를 생성하여 안정적이고 효율적으로 운영하는데 필요한 기능을 제공하는 SW, 사용자 애플리케이션과 DB간의 인터페이스 역할을 하는 논리적 프로그램
  • 실질적 의미: 사용자가 DB에 접근할 수 있도록 지원해주는 프로그램의 집합
  • DBMS의 필수 기능
    • 정의(Definition): 데이터 정의 및 저장 관리
    • 조작(Manipulation): 조회, 삽입, 삭제, 갱신
    • 제어(Control): 데이터 접근제어, 시스템 오류 발생시 복구 등
  • 종류: MS Access, MySQL, MongoDB, Oracle Database 등

 

데이터베이스 예시

 

데이터베이스 스키마(Schema)

  • 데이터베이스 구조, 데이터 타입, 그리고 제약 조건에 대한 명세
  • 데이터베이스 설계 단계에서 명시되며, 자주 변경되지 않음

 

 

데이터베이스 인스턴스(Instance)

  • 특정 시점에 데이터베이스에 실제로 저장되어 있는 데이터

 

DML/DDL

  • 데이터 정의어(DDL: Data Defination Language)
    • 데이터베이스의 논리적 구조, 즉 스키마를 기술하기 위해 사용되며, 주로 DB 설계자가 사용
  • 데이터 조작어(DML: Data Manipulation Language)
    • 데이터 처리 즉, 데이터의 조회, 삽입, 삭제, 갱신에 사용되며, 주로 이용자가 사용
  • 데이터 제어어(DCL: Data Control Language)
    • 트랜젝션 관리 즉, 권한 정의, 데이터 보안, 데이터 무결성, 데이터 복구, 병행 수행 제어에 사용
    • cf) DCL, TCL(Transaction Control Language)

독립 실행형/내장형

  • 독립 실행형: SQL 인터페이스를 이용하여 SQL 쿼리를 직접 DBMS에 입력
  • 내장형: C, C++, JAVA, 파이썬 등의 프로그래밍 언어에 내장, Host Language + Data sublanguage로 구성