DBMS - Day1 basic

김지원·2022년 6월 9일
0

DBMS

목록 보기
1/17

DBMS : Database Management System

DBMS는 크게 두 종류가 있다.

  • RDBMS(Relational DBMS, 관계형 데이터베이스)
  • Non-RDBMS(No SQL, 비관계형 데이터베이스)

각각의 특징은 밑에서 알아보도록 하자.

관계형 데이터베이스 : MariaDB, Oracle DB , MS-SQL , MySQL
(MySQL과 MariaDB와 99%유사하다.)
비관계형 데이터베이스 : MongoDB, HBase (배운다고 하면 MongoDB를 배우자.)

우리는 MariaDB를 사용 할 것이다.

MariaDB : PHP,JSP 골고루 사용한다.
Oracle DB : JSP(데이터가 적을때는 MySQL보다 느리다. 데이터가 많으면 MySQL 대비 빠르다. 금융권에서 많이 이용한다. 한번에 들어오는 정보량이 많은 카드사, 증권사에서 사용.
MS-SQL : ASP

제약조건(Constranint)을 통해 데이터의 무결성(Integrity)을 보장할 수 있는 구조로
데이터베이스를 구축하고 운영하는 것을 목적으로 한다.

관계형 데이터베이스의 특징

  • 데이터간의 종속성/연결성을 부여, 무결성(Integrity)보장.
    • 종속성/연결성을 부여한다는 자체가 관계를 부여하는 것이다.
      => 그래서 관계형 데이터베이스이다.

비관계형과 관계형의 차이

  • 비관계형 데이터베이스은 무결성을 보장하는게 어렵다.
  • 쉬운 방식으로 대용량의 자료를 병렬 형태로 저장한다.
  • 규모가 커지면 커질수록 비관계형데이터베이스의 속도가 기하급수적으로 느려진다.

DBMS을 배워야하는 이유

서버에서 DBMS가 쓰이는 이유

웹서버가 있다고 가정하자.

웹 서버가 사용자 정보, 게시글, 댓글들을 메모리 위에 올려놨다면 큰일난다.
메모리는(Ram) 휘발성 저장장치이기 때문이다. 컴퓨터를 껐다키면 날아간다.
데이터베이스는 컴퓨터가 꺼졌다켜져도 모든 정보들을 기계에 저장한다.
ex) 회원정보, 게시글, 댓글, 보안 로그....

데이터베이스를 이해를 하기위해 배그게임을 예로 들어보겠다.
M-416이라는 총이 바닥에 있을건데 떨어져있는 모양새가 글이 아닌 총 모양으로 떨어져있다.
얘가 여기 떨어져있다는 것은 '배그 서버'가 알려준다.
그런데 이 총이 이런 모양이다 라는 그림데이터는 우리 컴퓨터에 들어있다.
배그를 설치를 할때 저장 공간을 30기가나 차지하고 다운로드가 오래 걸리는 이유가 여기에 있다.


MariaDB의 구조

간략하게 적어보겠다. (MySQL과 유사)

  • 스키마라는 친구안에 테이블이 존재한다.
  • 테이블의 구조는 여러가지 열로 되어있다.
  • 그 열 안에는 레코드가 있다.

엑셀로 접근을 해보자( 많이하는 접근, 문제를 해결할때도..)
스키마는 엑셀파일, 테이블은 시트(Sheet)라고 생각해보자.
하나의 엑셀파일의 여러개의 시트가 들어갈 수 있다.
= 하나의 스키마안에 여러개의 테이블이 들어갈 수 있다.

MariaDB구조

  • 스키마(Schema, = DataBase) : 엑셀파일
    • 테이블(Table) : 시트(Sheet)
      • 열(Column) : 하나의 열
        • 레코드(Record) : 하나의 행

CRUD

백엔드, 풀스텍개발자가 되고자 한다면 CRUD를 할 줄 아는지 보게된다.

  • C : Create : 만들다 -> 스키마, 테이블, 열, 사용자, 레코드 등등
    없는 것을 만드는 것이다.
  • R : Read : 읽다 -> 레코드와 거의 관련되어있다. 데이터를 가지고 오는 행위
  • U : Update : 수정하다 -> 테이블 구조 수정, 레코드 자료 수정
  • D : Delete : 삭제하다 -> 스키마, 테이블, 열, 사용자, 레코드 등등

< ex >
C : 글 쓰기 R : 글 읽기 U : 글 수정 D : 글 삭제

위에 것들은 게시글이랑 관련지어서 예를 들어보자.
그렇다면 C는 어떤것이랑 관련이 있을까? => 회원가입!
D는 회원탈퇴, U은 회원정보 수정이 되겠고, R은 로그인할때 사용..등등이 된다.

CRUD 중에서는 R이 가장 어렵다...

profile
Software Developer : -)

0개의 댓글