Node 강의/숙련

1-1 관계형 데이터베이스 RDB(RelationShip Data Base)

kagan-draca 2024. 9. 5. 12:26

1. 이전에는 어떤 문제가 있었나?

 

지난 주차에는 인 메모리(In-Memory) 방식으로 데이터를 저장하거나,

NoSQL 데이터베이스인 MongoDB를 사용하여 "해야할 일" 데이터 저장하였습니다.

 

하지만, 이런 저장 방식은 정형화된 데이터를 관리하거나

복잡한 비즈니스 로직을 구현하기에는 적합하지 않았다.

 

ex) MongoDB에서 여러 컬렉션을 합쳐 조회하려고 할 때,

      특정 필드(Field)가 존재하지 않는다면, 문제가 발생할 수 있다.

 

이와 같은 문제점을 해결하기 위해 데이터의 정규화무결성보장하면서

정형화된 데이터를 효과적으로 관리할 수 있는

 

관계형 데이터베이스(RDB, Relational DataBase)가 탄생하게 됐습니다.

 

2. 관계형 데이터베이스(RDB, Relational DataBase)

 

관계형 데이터베이스(RDB, Relational DataBase)는 각 데이터를 "테이블"이라는 표형태의 구조에 저장합니다.

여기서, 각 "테이블"은 여러 정보를 저장하며, "테이블" 간에 연관 관계를 설정하여,

여러 테이블에 분산된 데이터를 서로 연결하여 관리할 수 있습니다.

 

연관 관계(Relationship)란, 각 테이블 사이의 연결된 관계를 의미합니다.

 

 

관계형 데이터베이스는 테이블(Table)이라는 구조를 가지며,

 

각 테이블은 고유한 데이터를 나타내는 행(row)

 

데이터의 속성을 나타내는 열(column)을 가집니다.

 

이 테이블들은 서로 연결될 수 있으며, 이 연결을 통해 복잡한 데이터를 관리할 수 있게 됩니다.

 

3. 관계형 데이터베이스 (RDB) 개념

 

관계형 데이터베이스는 "테이블"이라는 개념이 존재합니다.

여기서 테이블이란, 여러개의 열(column)행(row)을 가지는데,

이는 저희가 많이 사용한 엑셀의 표와 유사한 형태입니다.

 

 

각 행(row)은 고유한 데이터(record)를 나타냅니다.

ex) 1, test@emalil.com, 테스트닉네임, 1234

 

반면, 열(colum)은 해당 데이터의 속성(field)을 표현하고 있습니다.

ex) userId, email, nickname, password

 

위와 같이, "관계형 데이터베이스"는 더욱 복잡한 비즈니스 로직

정형화된 데이터를 체계적으로 관리할 수 있어 더욱 안전한 서버 환경을

구성하기 좋습니다.

 

4. MySQL이란?

MySQL은 가장 널리 사용되는 오픈소스 관계형 데이터베이스(RDB) 입니다.

 

MySQL은 오픈 소스 데이터베이스로, 다른 DBMS와 달리 라이센스 비용이 들지 않습니다.

→ 엔터프라이즈 버전에서는 추가적으로 라이센스 비용이 발생합니다.

 

데이터베이스를 관리하는 가장 대표적인 언어인

SQL(Structured Query Language)을 사용하여

데이터를 조작하고 관리할 수 있습니다.

 

트랜잭션의 특징인 (중요)ACID를 준수하여 구현된 데이터베이스로써,

트랜잭션을 안전하게 처리할 수 있습니다.