![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2ALF4%2FbtsFEOkdQzC%2Fgcf8fKItn0IuOE2GaHddy1%2Fimg.png)
Database
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbK4FND%2FbtsFoG7NOU3%2FnTQ2NCK2uXAvbRdfKfhd11%2Fimg.png)
[Database] MongoDB
Install MongoDB Community Edition on macOS — MongoDB Manual Docs Home → MongoDB Manual MongoDB AtlasMongoDB Atlas is a hosted MongoDB service option in the cloud which requires no installation overhead and offers a free tier to get started.Use this tutorial to install MongoDB 7.0 Community Edition on macOS using www.mongodb.com Getting Started :: Spring Data MongoDB First, you need to set up a r..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0uEd1%2FbtsFg4ipuOG%2Fusy9ywKQWt0Zhco41aWxpK%2Fimg.png)
[Database] RDBMS 정규화
RDBMS에서 정규화란 테이블간의 중복 데이터를 최소화하는 전략을 말한다. 정규화는 중복 데이터를 별도의 테이블로 분리하는 1차 정규화, 복합키와 관련 칼럼을 종속 테이블로 분리하는 2차 정규화 등 여러 단계가 있는데 상황에 맞게 각 단계의 정규화 프로세스를 적용할 수 있다. 정규화를 수행하면 데이터의 중복성을 줄이고 무결성을 보장할 수 있지만, 그만큼 테이블간의 관계가 복잡해지기 때문에 적절한 정규화 단계를 적용하는것이 중요하다. 정규화와 대비되는 개념으로는 중복 데이터를 허용해 성능 향상을 기대하는 개념인 반정규화가 있다. 실제 현업에서도 성능을 고려해 중복데이터를 적절하게 허용한다고 한다.
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRk713%2FbtsFgNgZ6w3%2FfcaBewWygcmiOVeeOkrQWK%2Fimg.png)
[Database] RDBMS과 NoSQL
NoSQL과 RDBMS의 차이는 데이터의 저장 방식에 있다. NoSQL은 비관계형 데이터베이스 형식으로 Key-Value 형태의 데이터가 관계 없이 저장되고, RDBMS는 관계형 데이터베이스 형식으로 규격화된 테이블에 데이터가 저장되고 각 테이블은 연관관계를 가질 수 있다. NoSQL은 가볍고 빨라 대용량 데이터를 처리하는데 유리하다는 장점이 있지만, 단순한 구조로 복잡한 데이터를 저장할 수 없고 간단한 쿼리만 이용할 수 있다는 단점이 있다. 반면 RDBMS는 무거운만큼 데이터의 무결성, 보안, 복잡한 쿼리 처리가 가능하다는 장점이 있고, 규모 확장의 어려움과 유연성이 부족하다는 단점이 있다.
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6mhxF%2FbtsFmgVLMQL%2FH8VRtGLTkZaDUBNRBguTgK%2Fimg.png)
[SQL] UNION과 UNION ALL
Table간의 합연산 UNION UNION의 개념은 매우 쉽다. Table간의 합연산인데 A테이블과 B테이블의 합집합 테이블인 C테이블을 만드는 것이라고 보면 된다. 또한, UNION은 연산시 중복제거, 정렬 기능을 제공한다. 예제를 보면서 차근차근 이해하는게 훨씬 쉬우니 아래 두개의 테이블을 시작으로 서로 비교해가면서 UNION에 대해 이해해보도록 하자. 아래와 같이 Column이 모두 같은 user1, user2 테이블이 있다. 두 테이블을 합치려면 어떻게 해야할까? 아래와 같이 두개의 테이블에 UNION을 사용하면 된다. user1과 user2의 인스턴스가 모두 합해져 잘 출력되는것을 볼 수 있다. SELECT * FROM USER1 UNION SELECT * FROM USER2; ✅ Column의..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FecI64k%2FbtsFjLhVdGt%2FFVYzMLOFfpgjhEwDCTNyQ0%2Fimg.png)
[SQL] SQL의 종류
DML(Data Manipulation Language) 데이터 조작어 데이터 조작어로는 SELECT, INSERT, UPDATE, DELETE가 있는데 개발을 하면서 가장 많이 접했던 언어가 DML이지 않을까 싶다. 하나씩 기본적인 형식으로 사용해보면서 개념을 익혀보자. 아래 내용을 쭉 읽으면 DML은 테이블의 인스턴스에 대한 CRUD를 담당하는 문법이라고 생각이 들것이다. ✅ SELECT 먼저 SELECT이다. 테이블 안에서의 데이터를 조회하는 문법인데 모두가 한번쯤 사용해보지 않았을까 싶다. 아래와 같은 형식으로 사용한다. SELECT에 사용할 수 있는 WHERE, JOIN, GROUP BY 등이 있지만 해당 글에서의 설명하려는 내용이 아니기 때문에 생략한다. SELECT [COLUMN] FROM ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtDNnn%2FbtsFmlbHeGa%2Ffj9kID48SA1uPrIwmiUJvk%2Fimg.png)
[SQL] Join
목표 Spring을 이용하면서 SQL 최적화를 위해 Join을 꽤 사용했지만, 어떤 원리로 동작하는지는 제대로 이해하지않고 그냥 이렇게 하면 Join이 된다. 라는 안일한 생각으로 SQL을 작성했던 것 같아 이번 기회에 Join에 대해 정리해보고자 한다. 여러 Join 전략 중 가장 많이 사용하는 4가지 Join 전략에 대해 이해해보자. SQL Join이란 두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법이다. 분리되어 있는 여러 테이블을 사용자가 원하는 형식으로 조합해야할때 SQL Join문을 이용해 해결할 수 있다. Join은 아래와 같이 7개의 형식으로 사용할 수 있다. Join의 종류와 활용 방법 오늘은 위 7개 형식의 Join 중 대부분의 Join에서 사용되는 아래 4가지 ..