DBMS를 시작하기에 앞서

최동민·2022년 6월 9일
0

DBMS

목록 보기
1/6

DBMS(Database Management System)

은 아래 두가지로 나뉜다.

RDBMS(Relational DBMS, 관계형 데이터베이스)

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

관계형 데이터베이스

MariaDB - PHP/JSP
MySQL - PHP/JSP
MS-SQL - 윈도우ASP
Oracle DB - JSP

  • 데이터 간의 종속성/연결성을 부여, 무결성(Integrity) 보장

비관계형 데이터베이스

MongoDB
HBase

  • 쉬운 방식으로 대용량의 자료를 병렬 형태로 저장

사이트의 데이터베이스가 커질수록 규모가 커지는데 그럴수록 비관계형 데이터의 속도가 관계형 데이터베이스에 비해 기하급수적으로 느려진다. 같은 동작을 하기 위해 같은 성능의 두 데이터베이스를 비교해보면 비관계형 데이터베이스가 데이터가 쌓이면 쌓일수록 굉장히 느려진다. (작은 회사나, 많은 데이터가 필요없는 경우엔 비관계형 데이터베이스를 사용하기도 한다.)

Oracle DB은 데이터가 적을 경우엔 MySQL보다 느리다.
하지만 데이터가 많아지면 많아질수록 MySQL보다 오라클 엔진이 빠르다.

서버에서 DB가 왜 쓰일까?
웹서버가 하나 돌아가고 있다 가정하자. 사용자 정보, 게시글, 댓글, 보안 로그 등을 메모리 위에 올려두었다면 큰일 날 것. 메모리는 휘발성 저장 장치이다. (=RAM : 컴퓨터를 껐다 키면 싹 날라간다는 것.)
데이터베이스는 웹서버가 꺼졌다 켜지더라도 기억해야 하는 모든 내용들을 DB에 다 집어넣는 것이라 보면 된다.


  • 스키마(Schema, Database) 안에는
  • 테이블(Table) 이 있고, 그 안에는
  • 열(Column) 로 이루어져 있고, 또 그 안에는
  • 레코드(Record) 가 있다.

    스키마는 엑셀 파일이라 생각하면 된다.
    테이블은 시트(Sheet)
    그럼 하나의 테이블 안에 여러개의 테이블이 있을 수 있겠다.
    그리고 한 행 한 행을 DB에서는 레코드라 부른다.

우리가 DBMS를 통해 궁극적으로 공부할 목표는 CRUD이다

CREATE

스키마, 테이블, 열, 사용자, 레코드 등등 만든다.
없는 것을 만드는 것. (ex. 글쓰기)
가입도 가능하다.

READ

데이터를 가지고 오는 행위. 레코드와 밀접한 관련이 있다.
즉 게시글 정보를 가져온다. (ex. 글읽기)

UPDATE

테이블 구조 수정, 레코드 자료 수정 등이 있다.
무언가를 수정하는 것과 관련이 있다. (ex.글수정)

DELETE

스키마, 테이블, 열, 사용자, 레코드 등등 삭제.
회원 탈퇴가 가능하다.
(ex. 글삭제)

DB를 잘 배웠다면 단언컨대 가장 어려운 파트는 READ일 것이다.

profile
코드를 두드리면 문이 열린다

0개의 댓글