Chapter 1 데이터베이스(DB)

Ruinak·2021년 5월 9일
0

Database

목록 보기
1/6
post-thumbnail

1-1 데이터와 데이터베이스, DBMS

  • 데이터베이스 : 데이터(data)와 베이스(base)의 합성어
  • DBMS : Database Management System의 약자로 '데이터베이스 관리 시스템'을 의미

데이터와 정보

  • 어학사전에서 '데이터'를 찾아보면 '자료', '정보'라는 두 가지 의미가 있음
  • 데이터베이스 분야에서 데이터(data)와 정보(information)는 다른 의미로 해석됨
  • data는 어떤 필요에 의해 수집했지만 아직 특정 목적을 위해 평가하거나 정제하지 않은 값이나 사실 또는 자료 자체를 의미함
  • infotmation은 수집한 데이터를 어떠한 목적을 위해 분석하거나 가공하여, 가치를 추가하거나 새로운 의미를 이끌어 낼 수 있는 결과로 볼 수 있음
  • 즉 data(제련되지 않은 원석), information(가공하여 새로운 가치를 지니게 된 보석)
    • 효율적인 데이터 관리를 위한 조건
      - 데이터를 통합하여 관리
      - 일관된 방법으로 관리
      - 데이터 누락 및 중복 제거
      - 여러 사용자(응용 프로그램 포함)가 공동으로 실시간 사용 가능
  • 데이터베이스 : 위 조건을 만족하면서 특정 목적을 위해 여러사람이 공유하면서 사용할 수 있으며, 효율적인 관리와 검색을 위해 구조화한 데이터 집합

파일 시스템과 DBMS

  • 데이터베이스 개념이 등장하기 전에는 주로 파일 시스템 방식을 사용하여 데이터를 관리함

파일 시스템을 통한 데이터 관리

  • 파일 시스템은 서로 다른 여러 응용 프로그램이 제공하는 기능에 맞게 필요한 데이터를 각각 저장하고 관리
    - 따라서 각 파일에 저장한 데이터는 서로 연관이 없고 중복 또는 누락이 발생할 수 있음
  • 여러 응용 프로그램이 사용할 데이터를 한 곳에서 관리하기 위해 데이터베이스를 활용함

DBMS를 통한 데이터 관리

  • DBMS는 데이터베이스의 데이터 조작과 관리를 극대화한 시스템 소프트웨어
  • 데이터베이스를 통한 데이터 관리란 여러 목적으로 사용할 데이터의 접근 · 관리 등의 업무를 DBMS가 전담하는 방식
    - 응용 프로그램이 필요한 데이터 작업을 DBMS에 요청하면, DBMS는 자신이 관리하는 데이터베이스로 관련 작업을 수행하고 결과 값을 제공
  • 작업 영역의 분리는 응용 프로그램의 서비스 제공과 데이터 관련 작업 효율을 높임
  • 여러 응용 프로그램이 하나의 통합된 데이터를 같은 방식으로 사용 · 관리할 수 있으므로 데이터 누락이나 중복을 방지할 수 있음

1-2 데이터 모델

  • 데이터 모델 : 컴퓨터에 데이터를 저장하는 방식을 정의해 놓은 개념 모형
    - ex) 계층형, 네트워크형, 관계형, 객체 지향형 등

계층형 데이터 모델과 네트워크형 데이터 모델

계층형 데이터 모델

  • 나뭇가지 형태의 트리(tree) 구조를 활용하여 데이터 관련성을 계층별로 나누어 부모 자식 같은 관계를 정의하고 데이터를 관리
  • 하나의 부모 개체가 여러 자식을 가질 수 있지만, 자식 개체는 여러 부모 개체를 가질 수 없음

네트워크형 데이터 모델

  • 망형 데이터 모델이라고도 하며 그래프(graph) 구조를 기반
  • 개체간 그래프 구조로 연결하므로 자식 개체가 여러 부모 개체를 가질 수 있음

객체 지향형 데이터 모델

  • object-oriented data model은 객체 개념을 기반으로 한 데이터 모델
  • 데이터를 독립된 개체로 구성하고 관리하며 상속, 오버라이드 등 객체 지향 프로그래밍에 사용되는 강력한 기능을 활용가능

관계형 데이터 모델

  • 데이터 간 관계(relationship)에 초점을 둠
  • 핵심 구성 요소 : 개체, 속성, 관계

1-3 관계형 데이터베이스와 SQL

관계형 데이터베이스란?

  • 관계형 데이터베이스 : 관계형 데이터 모델 개념을 바탕으로 데이터를 저장 · 관리하는 데이터베이스를 의미
  • 관계형 데이터베이스를 관리하는 시스템은 RDBMS(Realational Database Management System), 관계형 데이터베이스 관리 시스템이라고 부름
  • 대부분 유명한 DBMS 제품(MS-SQL, MySQL, MariaDB, PostgreSQL, DB2, Oracle 등)은 관계형 데이터베이스 관리 시스템이거나 최소한 부분적으로 관계형 데이터베이스를 사용하고 있음

SQL이란?

  • SQL은 Structured Query Language의 약자
  • SQL은 RDBMS에서 데이터를 다루고 관리하는데 사용하는 데이터베이스 질의언어
  • SQL 정의 : RDBMS에게 데이터에 관해 물어보고 결과를 얻는다

복습 및 연습 문제

profile
Nil Desperandum <절대 절망하지 마라>

0개의 댓글