본문 바로가기

Programming/DataBase

Database

데이터 베이스는 여러가지 형태로 나타나 있다.

 

최근에 들어서는 RDB (Relational Data Base)와 SQL문을 사용하지 않는 No SQL Database로 나누어져 있다.

 

RDB는 쉽게 스프레드시트와 비슷하게 관계형 데이터베이스로 표 형식으로 나타난다.

지난학기때 웹사이틀 만들며, 그리고 지금 전시회 웹사이트 방명록을 만들며 사용할 예정인 DB가 여기에 속한다.

대표적으로 Oracle, mySql, MariaDB 등이 여기에 속한다.

 

반면에 NoSql DB는 겨울방학동안 잠시 빅데이터에 다루었던 MongoDB등 이러한 DB들이 여기에 속한다.

 

 

DB를 가장 잘 나타내주는 말은 다음과 같다.

Organized collection of inter-related data that models some aspect of the real-world(A. Pavlo)

 

Informal한 definition을 내리자면

Flat file strawman

  • Issue: data integrity 
  • Issue: implementation
  • Issue: durability

(이 부분이 헷갈리는 부분이 있다. ) 

 

그래서 Database는 File System과 비슷하지만 그것보다 더 잘하는 것이 DB라고 생각하면 된다.

 

DBMS as interface

 -SQL (Structured query language)은 DDL(Data definition language)와 DML(Data manipulation language)을 합쳐놓은 형태이다.

 

Data model은 세가지 형태로 되어 있는데

Structure, Operations, Constraints(filter와 같은 역할을 한다)로 이루어져 있다.

 

RDB는 애초에 관계형 데이터로 되어 있고 

NoSQL은 key - value, Graph, Document(JSON이라는 format으로 되어 있으며 debug할때도 사용한다. MongoDB가 이러한 형태로 되어 있다.)

Machine learning을 할때도 Array/matrix와 같은 형태로 되어 있다. 

 


Relational data model : A data model describes data in terms of relations

그 이후부터 나중에 정리

 

 

 

 

 

'Programming > DataBase' 카테고리의 다른 글

Database relational algebra  (0) 2021.03.09