학습 기록/데브코스 웹 풀스택 4기

백엔드 심화: DB 기본

romi__ 2024. 9. 11. 19:12

date/ 24.09.11.

 /* 공부하며 정리한 내용이니 정확하지 않을 수 있습니다. 잘못된 내용은 댓글로 알려주세요!*/

 

 

📌

데이터베이스란, 데이터를 통합하여 효율적으로 관리하기 위한 데이터 집합체를 의미합니다. 데이터를 구조화하여 관리함으로써 데이터 중복을 막고, 효율적이고 빠른 데이터 연산을 가능하게 합니다.

 

우리는 데이터베이스를 운영하고 관리하기 위한 DBMS(database management system)을 통해 데이터베이스를 사용합니다. 때문에 우리가 날것의 데이터를 직접 사용하는 사례는 거의 없을 것입니다. ㅎ.. 사실 당연합니다.

 

DBMS의 종류에는 오라클, mySQL, mariaDB 등이 있습니다. 굉장히 다양하고 운영하는 회사도 다 다르지만 명령어(SQL)는 서로 유사합니다. SQL(structured query language)은 데이터베이스에 연산을 요청하기 위해 사용되는 언어로, 데이터를 생성, 조회, 수정, 삭제 등과 같은 기능을 수행할 수 있습니다. 대표적으로 INSERT, SELECT, UPDATE, DELETE와 같은 SQL문이 있습니다.

 

그중에서도 RDBMS를 사용하는 이유는 명백합니다. relational DBMS라는 이름에서도 볼 수 있듯, 데이터간 관계에 집중하기 위해서입니다. 내가 찾고 있는 데이터가 내가 보고 있는 테이블에 없더라도 힌트를 활용해 원하는 값을 찾아낼 수 있도록 합니다.

 

 

위와 같은 데이터 테이블이 있다고 가정해 봅시다.

 

PK, Primary Key는 기본키입니다. 해당 테이블의 각 행(row)을 유일하게 구별할 수 있는 키값이라고 볼 수 있습니다. 위의 테이블에서는 게시글 번호가 PK가 될 수 있습니다.

 

다양한 정보를 갖고 있는 한 개의 테이블을 여러 개의 테이블로 쪼개는 것을 정규화를 한다고 표현합니다. 정규화를 통해 분리된 테이블에서도 위의 테이블의 PK인 게시글 번호가 사용되고 있는 경우가 있습니다. 이걸 우리는 FK라고 부릅니다.

 

FK, Foreign Key는 외래키입니다. A테이블에서 B테이블의 데이터를 찾아가고 싶을 때 사용하는 키값입니다. 정확한 정보 서치를 위해서 B테이블의 다른 값이 아닌 PK 값을 A테이블의 FK로 사용하는 것이 이상적이겠죠?

 

 

 

📌

데이터베이스 연관관계에는 1:1, 1:N, M:N 관계가 존재합니다. 여기서 말하는 연관관계란 테이블간 어떤 관계를 갖고 있는지를 의미합니다.