본문 바로가기

DB5

[DB] JOIN ON 과 WHERE 의 차이 JOIN 시 ON 에 조건을 넣는것과 WHERE에 조건을 넣는것에 어떤 차이가 있는지 정리한다. 예제 테이블 & 데이터 create table MEMBER( MEMBER_ID int primary key auto_increment, NAME varchar(20), FAVORITE_COLOR varchar(50) ); create table ORDERS ( ORDER_ID int primary key auto_increment, ORDER_COLOR varchar(50), ORDER_DATE timestamp, MEMBER_ID int, FOREIGN KEY (MEMBER_ID) REFERENCES MEMBER (MEMBER_ID) ); insert into MEMBER(NAME, FAVORITE_COLO.. 2023. 3. 27.
JOIN 정리 (INNER JOIN, LEFT JOIN, RIGHT JOIN) 그 동안 JOIN 종류에 대한 개념을 제대로 가지고 있지않아서 확실하게 정리하고 넘어가려고 합니다. 항목 - INNER JOIN - LEFT JOIN - RIGHT JOIN 예제 테이블 & 데이터 사용 DDL (MySQL 사용) create table MEMBER( MEMBER_ID int primary key auto_increment, NAME varchar(20), FAVORITE_COLOR varchar(50) ); create table ORDERS ( ORDER_ID int primary key auto_increment, ORDER_COLOR varchar(50), ORDER_DATE timestamp, MEMBER_ID int, FOREIGN KEY (MEMBER_ID) REFERENCES.. 2023. 3. 27.
[DB] 데이터베이스 정규화 데이터베이스 정규화에 대해 추상적인 개념만 있어서 정리하며 머리속에 넣기위한 글입니다. 정규화란? 정규화의 기본적인 목표는 테이블 간에 중복된 데이터를 허용하지 않는다는 것이다. 중복된 데이터를 허용하지 않아 데이터의 무결성을 유지, DB의 저장 용량을 줄 일 수 있다. 테이블을 분해하는 정규화 단계가 있다. 제1 정규화 제2 정규화 제3 정규화 테이블을 어떻게 분해하는지는 정규화 단계에 따라 달라진다. 제1 정규화 제1 정규화란 테이블의 컬럼이 원자값을 가지도록 테이블을 분해하는 것이다. 개발자의 이름과 기술스택 컬럼을 가지는 개발자 정보 테이블을 보자. 이름 기술 스택 찰리 Java,Spring 브라운 Node.js 스누피 Kotlin, Spring 찰리와 스누피는 여러개의 기술 스택을 가지고 있다... 2022. 1. 13.
[MySQL] Replication 적용기 - 1 MySQL에 Replication을 적용하면서 학습한 내용을 정리하려고 합니다! Replication의 사전적 의미는 복제 입니다. (평소 자주 접했던 단어로 레플리카(replica)가 있는데 보통 옷의 복제품을 의미했습니다.) 그럼 Database에서 Replication은 무엇일까요? 하나의 데이터베이스 서버를 복제해서 하나 이상의 데이터베이스 서버로 복사하는 것을 의미합니다. 이때 복사의 주체를 소스(source) 서버 라고 합니다. 그리고 복사된 서버들을 복사본(replica) 서버 라고 합니다. 용어의 통일을 위해서 지금부터는 복사의 주체를 source 서버 복사된 서버를 replica 서버 라고 하겠습니다. 보통 master/slave 서버라고 불렀지만 2020년부터 해당 단어들이 변경되고 있.. 2021. 10. 22.
[MariaDB] Docker Container에 올렸던 DB서버 로컬로 빼내기 현재 놀토(Nolto) 서비스에서는 데이터베이스를 EC2 인스턴스의 Docker Container에 MariaDB를 띄워서 사용하고 있습니다. 하지만 Docker Container에 데이터베이스를 올리는것은 좋은 행위가 아니라고 합니다. 관련 자료들 - https://vsupalov.com/database-in-docker/ - https://patrobinson.github.io/2016/11/07/thou-shalt-not-run-a-database-inside-a-container/ 먼저 데이터베이스를 Docker에 올려서 얻을 수 있는 장점은 어떤것이 있을까요? - 손쉽게 버전을 맞춰줄 수 있습니다. - 환경 설정을 맞춰줄 수 있습니다. - 음.. 그럼 단점은 어떤것이 있을까요? - 데이터베이스의.. 2021. 9. 11.