데이터베이스 개론 - 1 (개요)

김대한·2022년 9월 7일
0

데이터베이스 개론

목록 보기
1/14

DBMS 개요

DBMS는 말 그대로 데이터베이스를 효율적으로 관리하기 위함
효율적인 관리를 위해 데이터간의 관계를 정의해주는 관계형 데이터베이스 RDBMS, SQL를 활용함

DBMS에 가장 중요한 개념 스키마 외부, 개념, 내부가 존재함
외부의 경우 유저 친화적인 내용을 담고 있음
개념의 경우 개념적인 데이터의 구성 및 관계를 정의
내부의 경우 실질적인 데이터베이스에 저장되는 타입 및 크기 위치를 정의

데이터베이스의 관계도를 개념적으로 설명하기 위한 다이어그램을 ER Diagram이라고 함, 예전 객체지향에서 다루던 UML과 같은 느낌
추가로 EER은 ER에 없던 하위 그룹핑 개념을 포함한 향상된(enhanced) ER

FD(function dependency)
데이터간의 관계의존성에 대한 내용

NOSQL의 경우 SQL을 사용하지 않은 DBMS이다. 전반적인 computing power가 증가한 지금 소규모의 데이터의 경우 NOSQL을 사용해도 큰 문제가 되지 않음. 하지만 이후 대규모의 데이터를 활용하는 경우 SQL의 사용이 필연적

데이터베이스 용어 정리

  • 데이터베이스 : A colleciton of related data 연관 데이터들의 저상소!

  • 데이터 : Known facts that can be recorded and that have implicit meaning : 기록될 수 있는 함축적 의미를 가진 사실!

  • miniworld or univere of discourse(UoD) : Real world의 한 부분을 지팅하는 용어

  • DBMS(Data Base Management System) : 데이터 베이스를 효율적으로 관리하기 위한 소프트웨어 프로그램, 주로 계층형, 망형, 관계형 DBMS 등이 있으며 주로 관계형 DBMS가 사용됨

  • SQL(Structured Query Language) : 관계형 데이터베이스에서 사용되는 표준 언어, 표준 SQL을 배우면 대부분의 DBMS를 사용할 수 있다.

  • 대표적인 DBMS

DBMS의 분류

DBMS의 유형은 계층형(Hierarchical), 망형(Network), 관계형(Relational), 객체지향형(Object-Oriented), 객체관계형(Object-Relational) 등으로 분류된다. 현재 사용되는 DBMS 중에는 관계형 DBMS가 가장 많은 부분을 차지하며, MySQL도 관계형 DBMS에 포함된다.

1. 계층형

  • tree 형태의 관계도

2. 망형

  • 하위구조를 추가로 연결하여 망을 형성

3. 관계형(가장 중요)

  • 줄여서 RDBMS라 말하며 가장 많이 사용되는 형태, table이라는 최소 단위로 구성되며 table은 하나 이상의 열, 행으로 이루어 져있다.

Architecture for a DBS


데이터 베이스 정의

특정 조직의 업무를 수행하는데 필요한 상호 관련 데이터들의 모임

  • 데이터베이스 구축은 저장될 데이터의 데이터 타입, 구조, 제약조건을 구체화하는 것
  • 메타 데이터는 데이터 베이스에 저장되어 있는 데이터에 관한 정보를 모든 것
  • 데이터 베이스는 여러 사람이 공유하는 데이터를 중복없이 저장 및 관리
  • DBMS는 DB에 query를 보내고 update를 한다.
  • 데이터 베이스에는 entity(객체), Relationship(관계) 정보를 가지고 있다.
    %entity와 relationship에 대한 diagram이 entity-relationship(ER)이다.
  1. 통합 데이터 : 자료 중복을 배제한 자료
  2. 저장 데이터 : 컴퓨터에 접근할 수 있는 저장매체에 저장된 자료
  3. 운영 데이터 : 업무 수행에 없어서는 안될 반드시 필요한 자료
  4. 공유 데이터 : 공동으로 소유하고 유지하는 자료

데이터 베이스 예제


데이터 베이스 조작

  • query와 transaction으로 이루어짐.
  • query는 주로 데이터에 대한 검색을 의미하며
  • transaction은 데이터의 업데이트 혹은 새로운 데이터의 생성을 및 삭제

데이터 베이스 특징

  • self decription(metadata 보유) :
    - database에 대한 metadata(data structure, types, constrains)를 담은 database catalog 존재
  • insulation(독립성)
    - databse structure가 변경되어도 응용 프로그램이나 사용자는 최소한의 영향을 받음
  • data abstraction(추상화)
    - 실제 physical한 저장구조의 복잡성을 숨기고 table 개념만으로 구성
  • multi view
    -기존 저장되어 있는 table 기반의 data를 활용하여 다양한 view를 제공할 수 있음
  • sharing of the data
    - 데이터 공유 조건 : 데이터 중복 방지, 최신성, 일치성 보장
    - 다수 사용자 일 경우 concurrency control(동시성 제어)를 통해 consistency(일치성 )보장
    • OLTP(Online Transaction Processing)

정처기

  • 실시간 접근성(real time accessibility, OLTP)
  • 계속적인 변화(continuous evolution)
  • 내용의 의한 참고(content reference)
  • 동시 공유(concurrent sharing)
  • 데이터 논리적/물리적 독립성(independence)

데이터 베이스 사용자

  1. Actor on the scene
  • DBA(database administrator)
  • database designer
  • end-users
    - casual : 비정기적인 사용자
    • naive : 일정한 용도의 프로그램을 사용하는 사용자; 직원
    • sophisticated : DBMS 전문가
    • stand-alone : 개인 사용자
    • system analysts, application programmer : 응용기능 개발자
  1. Worker Behind the Scene
  • system designers and implementors
  • tool developers
  • operators and maintenance personnel

DBMS 장점

  • 중복성 문제 해결
    - 일관성, 보안성, 경제성, 무결성 해결
    - 저장 공간 낭비 방지
    • 중복성을 제거하여 데이터 일치성 보장
  • 종속석 문제 해결
    - 저장되는 방법이나 접근 방법이 바뀔 모두 변경
  • 권한 관리
    - database 접근시 로그인 필요
    • unauthorized된 access 대한 제한적 기능 ->보안 기능
  • 프로그램 객체를 위한 지속성 공간 제공
    - 프로그램이 종료 되어도 db에 저장된 자료는 종료와 무관하게 존재
  • 효율적인 query 처리
    - 인덱싱 기법을 통해 적은 연산(4번)으로 원하는 데이터 접근 가능
  • backup recovery service
  • 다양한고 편리한 인터페이스
  • 복잡한 db간의 관계 정리
  • 무결성 제약 조건 보장(enforcing integrity constraints)
    - 데이터베이스의 상태가 정상적인 상태로만 변경되도록

DBMS 필수 기능

  • 정의(define) : 데이터의 형식, 구조 등 DB에 저장될 때 제약 조건(NN, AI)을 명시
  • 조작(operate): insert, delete, update, request
  • 제어(control): 무결성 유지, 보안 유지, 권한 검사, 정확성 유지

when not to use a DBMS

  • DBMS의 사용은 비용을 높인다
    - 높은 초기 투자 비용과 추가적인 하드웨어 필요
    • 데이터의 보안, 동시성 제어, 회복, 무결성 등에 대한 기능이 필요하지 않을 수 있음
    • 엄격한 실시간 데이터 처리를 만족시키기 힘든 하드웨어 일 수 있음
    • 다 사용자가 아닌 단일 사용자일 경우

Reference

http://www.kocw.net/home/cview.do?mty=p&kemId=1197402

profile
나는 고양이야 다만 개같을 뿐이지

0개의 댓글