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

DBMS

Database Management System, 데이터베이스 관리 시스템

데이터란?

데이터는 어떤 필요에 의해 수집했지만 아직 특정 목적을 위해 정제하지 않은 값, 사실 또는 자료를 의미한다. 정보는 수집된 데이터를 어떤 목적을 위해 분석, 가공하여 가치를 추가하거나 새로운 의미를 부여한 결과이다.

데이터베이스란?

효율적인 데이터 관리를 위한 조건을 만족하면서 특정 목적을 위해 여러 사람이 공유하여 사용할 수 있으며, 효율적인 관리와 검색을 위해 구조화한 데이터 집합이다.

효율적인 데이터 관리를 위한 조건
1. 데이터를 통합하여 관리
2. 일관된 방법으로 관리
3. 데이터 누락중복 제거
4. 여러 사용자(응용 프로그램 포함)가 공동으로 실시간 사용 가능

DBMS를 통한 데이터 관리

  1. 하나의 소프트웨어가 데이터를 관리하므로 데이터 중복을 피할 수 있다.
  2. 여러 응용 프로그램이 하나의 DBMS를 통해 데이터를 사용하므로 데이터를 동시에 공유할 수 있다.
  3. 하나의 DBMS를 통해 데이터를 관리하기 때문에 각각의 응용 프로그램이 데이터를 관리하는 방식이 통합된다.
  4. 응용 프로그램과는 별도로 데이터가 DBMS에 의해 관리·보관되기 때문에 응용 프로그램의 업데이트 또는 변경과 관계없이 데이터를 사용할 수 있다.

01-2 데이터 모델

계층형

  • 나뭇가지 형태의 트리(tree) 구조를 활용하여 데이터 관련성을 계층별로 나누어 부모 자식 같은 관계를 정의하고 데이터를 관리
  • 기본적으로 하나의 부모 개체가 여러 자식을 가질 수 있는 반면에 자식 개체는 여러 부모 개체를 가질 수 없다는 제약이 있음
  • 따라서 일대다 구조의 데이터를 표현하기에는 알맞지만 자식 개체가 여러 부모를 가진 관계를 표현할 수 없음

네트워크형

  • 망형 데이터 모델이라고도 하며 그래프(graph) 구조를 기반으로 함
  • 자식 개체가 여러 부모 개체를 가질 수 있다는 점에서 계층형 데이터 모델과 차이가 있음

객체 지향형

  • 객체 지향 프로그래밍에서 사용하는 객체 개념을 기반으로 함
  • 데이터를 독립된 객체로 구성하고 관리하며 상속, 오버라이드 등 객체 지향 프로그래밍에 사용되는 강력한 기능을 활용할 수 있음
  • 하지만 객체 지향형 모델 개념을 완전히 데이터베이스에 적용하는 것은 쉽지 않기 때문에 이를 적용한 상용 DBMS는 많지 않음
  • 다만 오라클 데이터베이스와 같은 여러 DBMS 제품군이 관계형 데이터 모델을 바탕으로 객체 개념을 도입하여 객체 관계형 DBMS로 영역을 확장하고 있음

⭐ 관계형

  • 현대에 가장 많이 사용하는 관계형 데이터베이스의 바탕이 되는 모델
  • 다른 모델과 달리 데이터 간 관계에 초점을 둠

개체(Entity)

  • 데이터베이스에서 데이터화하려는 사물, 개념의 정보 단위
  • 관계형 데이터베이스의 테이블 개념과 대응되며 테이블(table)은 릴레이션(relation)으로 표기하기도 함

속성(Attribute)

  • 개체를 구성하는 데이터의 가장 작은 논리적 단위로서 데이터의 종류·특성·상태 등을 정의함
  • 관계형 데이터 베이스의 열(column) 개념과 대응됨

관계(relationship)

  • 개체와 개체 또는 속성 간의 연관성을 나타내기 위해 사용
  • 관계형 데이터베이스에서는 테이블 간의 관계를 외래키(foreign key) 등으로 구현하여 사용

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

관계형 데이터베이스란?

  • 관계형 데이터 모델 개념을 바탕으로 데이터를 저장·관리하는 데이터베이스
  • RDBMS: Realtional Database Management System

SQL이란?

  • Structured Query Language
  • RDBMS에서 데이터를 다루고 관리하는 데 사용하는 데이터베이스 질의 언어

SQL 종류

  1. DQL(Data Query Language)
    RDBMS에 저장한 데이터를 원하는 방식으로 조회하는 명령어
  2. DML(Data Manipulation Language)
    RDBMS 내 테이블의 데이터를 저장·수정·삭제하는 명령어
  3. DDL(Data Definition Language)
    RDBMS 내 데이터 관리를 위해 테이블을 포함한 여러 객체를 생성·수정·삭제하는 명령어
  4. TCL(Transaction Control Language)
    트랜잭션 데이터의 영구 저장·취소 등과 관련된 명령어
  5. DCL(Data Control Language)
    데이터 사용 권한과 관련된 명령어
profile
열심히 살겠습니다

0개의 댓글