EtoC

Database 본문

BackEnd/Database

Database

게리드 2023. 7. 31. 08:32

1. DB(DataBase)

1. 의의

  • 데이터(data): 자료로 단순한 정보들의 나열.
  • 데이터베이스(database): 논리적연관성이있는 데이터를 모은 데이터의 집합으로 데이터의 저장 형태를 말한다.

데이터의 중복을 최소화하여 목적에 맞게 효율적으로 관리하기위해 사용한다.

일반적인 데이터베이스는 ISOS로, 데이터베이스의 시스템적 특징을 말할때는 R1C3으로 정의한다.

 

약자 정의
I(integrated Data) 통합 데이터 : 데이터 중복이 최소화 된 데이터
S(Stored Data) 저장 데이터 : 컴퓨터가 접근할 수 있는 매체에 저장된 데이터
O(Operational Data) 운영 데이터: 고유한 업무를 수행하는데 필요한 데이터
S(Shared Data) 공용 데이터: 여러 응용 시스템이 공동으로 소유하고 유지하는 데이터

 

R1C3은 첫 글자 R이 1개 C가 3개임을 의미한다.

 

용어 정의
R(realtime Accessilbility) 실시간 접근성: 사용자 질의에 실시간으로 처리하여 응답
C(Continuous Evolution) 지속적 변화: 삽입,삭제,수정을 통해 지속적으로 최신 데이터를 동적으로 유지
C(Concurrent Sharing) 동시 공유: 목적이 다른 여러 사용자가 동시에 같은 데이터를 공유
C(Content Reference) 내용에의한 참조: 데이터베이스에있는 데이터를 참조할때 레코드의 주소나 위치가 아닌 사용자가 요구하는 데이터내용으로 참조

2. RDBMS(Database Management System)

데이터베이스는 DBMS(데이터베이스관리시스템)으로 관리된다.
데이터의 입력, 수정, 삭제같은 다양한 기능을 제공한다.

DB는 데이터를 모아둔 것이고, DBMS는 DB의 관리시스템으로 DB를 관리하는 소프트웨어이다.

3. DB의 종류

1) 계층형 DB

  • 데이터가 부모와 자식의 관계를 이루는 트리구조의 데이터베이스이다.

2) 네트워크형 DB

  • 노드로 데이터를 표현한 모델로, 노드는 네트워크상에 존재하며 서로 대등한 관계로 계층형 DB의 데이터 중복,상하 종속관계의 문제를 해결했다.
  • 노드는 주인노드가 될수도 멤버노드가 될수도있어 레코드의 관계를 일대다 또는 다대다로 표현살 수 있지만 종속성의 문제가 생길 수 있어 데이터베이스의 구조를 변경하기 어렵다.

3) 키-값 DB

  • NOSQL의 한종류로 key-value를 일대일로(한쌍으로) 저장하는 비관계형 데이버베이스로 관계형 데이터베이스와함꼐 가장 많이 사용된다.
  • 데이터의 중복이 발생할 수 있으며 비정혁적인 데이터 저장에 유리하다.

NoSQL?
비관계형 데이터베이스를 말할때 사용하며, 관계형 DB의 한계를 극복하기위한 데이터저장소로 document,graph,key-value, search 등 다양한 데이터 모델을 사용한다.

유형 특징 종류
키-값   Redis, Mecached, LevelDB
도큐먼트   MongoDB, CouchDB,MarkLogic
컬럼   HBase, Cassandra, Hypertable
그래프   Neo4j, Blazegraph, OrientDB

4) 관계형 DB

실무에서 가장 많이 사용하는 데이터베이스 종류로 데이터를 테이블의 형식으로 저장한다.
테이블 형식이란 데이터를 열(column)행(row)으로 구성한 테이블로 정리하며, 고유키(primary)가 각행을 식별한다.
데이터는 행단위로 저장되며, 각 항목의 속성은 열이라고한다.
정보가 저장된 집합을테이블이라한다.

용어 설명
열(column, field, attribute) 고유한 이름을 가지고 자신만의 타입을 가진다.
행(row, tuple, record) 관계형 데이터의 묶을으로 한테이블의 모든 행은 같은 수의 열을 가진다.
테이블 행과 열의 값의 모음으로 특성에따라 데이터를 논리적으로 그룹화한것이다.

💭

이번 공부글은 monggoDB를 사용하다가 어려워서 mySQL이 더좋은거같다고 말했다가, mongoDB부터 사용하셨던분이 "몽고디비가 얼마나 편리한데요!한번 써보세요. 생각이 달라질겁니다" 라는 말을듣고 DB에대해 알아보고자했다.
이제껏 학원에서 MySQL만 사용하기만해서 몰랐는데 생각보다 다양한 데이터베이스가 있었다.