[1] 관계형 데이터베이스

JIN·2022년 1월 1일
0
post-thumbnail

MySQL 은 RDBMS 이다!

RDBMS가 뭐야? ⇒ Relational Database Management System

RDBMS를 알아보기 전에 먼저, 데이터 베이스를 알아보자

“데이터베이스”란? ⇒ 한 곳에 저장된 정보들을 원하는 어떤 곳에서든 사용할 수 있고,

특정 소프트웨어나 프로그램에 종속되지 않고 독립된 정보의 집합 내지 저장소 이다.

하지만 “데이터베이스” 자체는 빈 창고나 캐비넷처럼 별다른 기능이 없다.

그래서 DBMS가 등장했다.

DBMS?? ⇒ Database Management System

DBMS는 하나의 소프트웨어이며 데이터 베이스에 정보를 집어넣고 꺼내는 등의 자판기 처럼 기능이 있는 것으로 만든 것이다.

그리고 이러한 DBMS에서 사용자가 정보들을 입력, 조회 , 삭제하는 등 데이터를 관리 할 수 있도록 제공하는 방식을 SQL이라 한다.

SQL?? ⇒ Structured Query Language

어떤 백화점에 푸드코트의 모든 메뉴정보를 서버라는 컴퓨터에 저장한다면 어떤식으로 할 수 있을까?

  1. 정보들을 각각 파일, 문서로 정리해서 개별적으로 관리한다 ex) Mongo DB, Dynamo DB

장점: 데이터를 읽어오는 속도가 빠르고 데이터의 입력이 자유롭다.

단점: 각 정보들마다 일정한 형식이 없어서 오류가 발생할 수 있다. → 데이터의 형식을 맞출 필요가 있다.
그래서 쓰이는 것이 표 형태의 데이터베이스!(물론 1번 방법도 장점이 많긴 하다)

  1. 일정한 형식의 표 형태의 데이터베이스를 이용한다.

이렇게 하면 속도가 느리고 형식에 제한이 있지만,
데이터 조작 언어를 통해 정보를 일괄적으로 조작 할 수 있다.

이때 정보를 조작하는데 사용하는게 SQL 이다. (구조화 질의언어 ! )

SQL은 용도가 한정되어 있어서 범용 프로그래밍 언어가 아닌 도메인 특화 언어라고 불린다.

RDBMS를 사용하는 이유? : 표 형태의 형식을 가진 데이터에 중복되는 데이터가 있을 수 있다.

예를 들어 분식의 층이 3층으로 바뀐다면? 전부 바꿔야하는 번거로움이 있다. 그래서 비효율적이고 , 오류가 발생할 수 있다.

그래서 이 테이블을 적절히 분리해야한다.

이 테이블은 코너정보, 식당정보, 메뉴정보로 분리할 수 있다.

이 세 테이블의 “관계”를 맺어준다. → 식별 가능

번호, id 로 연결 시킨다.
“관계형 데이터 베이스”는 JOIN을 통해 테이블들을 엮어서 한페이지에 보여준다.

테이블을 효율적으로 사용 가능

결론 | 관계형 데이터베이스는 데이터를 정보로 가공해서 효율적인 사용이 가능하다.

DynamoDB, MongoDB → NoSQL , 비 관계형 데이터베이스

profile
배우고 적용하고 개선하기

0개의 댓글