DATABASE

동제동이·2023년 4월 9일
0

ORACLE

목록 보기
1/3

DB란?

DATABASE(DB)는 조직에 필요한 연관된 데이터를 모으고 중복되는 데이터를 최소화하여 구조적으로 통합/저장 해놓은 것이다.

예를 몇가지 들면

  • 쇼핑몰 : 상품정보, 구매자정보, 판매자정보
  • 병원 : 환자정보, 진단정보
  • 학교 : 학생정보, 수강정보

DB는 연관된 데이터를 묶어서 정리해놓은 데이터 '창고'

DB 특징

  1. 계속적인 변화
  2. 실시간접근에 용이
  3. 동시 공유
  4. 내용에 따른 참조

DB는 데이터를 실시간으로 공유해서 사용할 수 있다는 특징이 있다.
또한 프로그램을 종료해도 다시 데이터를 불러올 수 있다.

DBMS

DB의 단점을 보완하며 DB를 관리할 수 있게 여러 기능을 제공하는
데이터베이스 전용 프로그램(ORACLE, MYSQL, MONGODB...)

😕 그럼 DB랑 DBMS의 차이점이 뭐야??
😀 DBMS = DB를 관리하는 프로그램 | DB = DBMS에 의해 관리되는 데이터집합

위에서 DB의 특징에 대해 적어놨는데 여기에는 단점이 있다.

  1. 동시성 : 같은 파일에 대한 수정, 삭제 (병목현상)
  2. 성능 : 여럿이서 쓰다보니 기다려야함
  3. 보안 : 네트워크 기반으로 접근하다보니 보안 능력 저하

이를 해결하기 위해 DBMS를 사용한다.

DBMS의 특징

  1. 데이터 독립화로 동시성 해결
  2. 데이터 중복 최소화, 무결성 보장
  3. 데이터 보안 향상(권한부여)
  4. 관리 편의성 향상

바로 DB에 접근하는 것이 아닌, DBMS에 접근해서
관리자가 허락할 경우 DB에 접근하는 방식

아래는 내가 이해하기 위해 예제를 만들었다.

병원을 예로 들어

  • 환자정보
  • 진료정보
  • 처방정보

한 환자가 병원에 찾아와 진료를 받고 처방을 받았다.

  • 환자정보 : 환자이름, 환자나이, 환자증상
  • 진료정보 : 환자나이, 환자증상, 소견서
  • 처방정보 : 환자이름, 소견서, 처방약

위의 예시를 보면 같은 데이터가 각 정보에 중복되어 있는걸 볼 수 있는데
이를 해결할 수 있는게 DBMS다.

  • 환자정보 : 환자이름, 환자나이, 환자증상
  • 진료정보 : 환자정보(나이, 증상), 소견서
  • 처방정보 : 진료정보(환자정보, 소견서), 처방약

더 깔끔해져서 보기도 쉽다. ✌️
또한 JAVA처럼 접근권한이 필요해서 함부로 '환자정보'나 '진료정보'를 확인할 수 없게 할 수 있다.

0개의 댓글