본문 바로가기

Database15

JOIN의 종류(INNER, OUTER, CROSS, SELF JOIN) 목차JOIN 이란?INNER JOIN(내부 조인)OUTER JOIN(외부 조인)3-1. LEFT OUTER JOIN3-2. RIGHT OUTER JOIN3-3. FULL OUTER JOINCROSS JOIN(상호 조인)SELF JOIN(자체 조인)결론1. JOIN 이란?조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다.두 테이블의 조인을 위해서는 기본키(PRIMARY KEY, PK)와 외래키(FOREIGN KEY, FK) 관계로 맺어져야 하고, 이를 일대다 관계라고 한다.2. INNER JOIN(내부 조인)두 테이블의 컬럼 값을 비교 후 서로 연관된 내용만 검색하는 조인이다.3. OUTER JOIN(외부 조인)두 테이블 사이에 일치 하지 않는 행도 포함하여 기준이 되는 테이블을.. 2023. 6. 23.
트랜잭션 MySQL Isolation level 트랜잭션 동시 실행시 이상 현상1-1. Dirty read1-2. Non-repeatable read1-3. Phantom readIsolation level2-1. READ UNCOMMITTED2-2. READ COMMITTED2-2-1. NON-REPEATABLE READ 발생2-3. REPEATABLE READ2-3-1. PHANTOM READ 발생2-4. SERIALIZABLE결론1. 트랜잭션 동시 실행시 이상현상 트랜잭션들이 동시에 실행될때 발생 가능한 이상 현상들은 다음과 같다.Dirty readNon-repeatable readphantom read이런 이상한 현상들이 모두 발생하지 않게 만들 수 있지만 그러면 제약사항이 많아져서 동시 처리 가능한 트랜잭션 수가 줄어들어 결국 DB의 전체 처.. 2023. 6. 14.
트랜잭션이 만족해야 하는 ACID 목차트랜잭션이란?트랜잭션의 핵심 ACID2-1. Atomicity (원자성)2-2. Consistency (일관성)2-3. Isolation (독립성)2-4. Durability (지속성)결론1. 트랜잭션이란?단일한 논리적인 작업 단위논리적인 이유로 여러 SQL문들을 단일 작업으로 묶어서 나눠질 수 없게 만든 것이 트랜잭션이다.트랜잭션이 SQL문들 중에 일부만 성공해서 DB에 반영되는 일은 일어나지 않는다.2. 트랜잭션의 핵심 ACID1. Atomicity (원자성)모두 성공하거나 실패하는 것트랜잭션은 논리적으로 쪼개질 수 없는 작업 단위이기 때문에 내부의 SQL문들이 모두 성공해야 한다.중간에 SQL문이 실패하면 지금까지의 작업을 모두 취소하여 아무 일도 없었던 것처럼 rollback한다.DBMS 부분.. 2023. 6. 8.