Database
프로그래밍/Database
2020. 3. 29.
[DB] 트랜잭션(Transaction)이란?
Transaction이란? 데이터베이스의 상태를 변화시키기 위해서 수행해야 할 연산들의 집합으로 하나의 작업 처리를 위한 논리적 단위를 뜻한다. 데이터베이스의 상태를 변화시킨다는 것을 간단하게 표현하면, SELECT, INSERT, DELETE, UPDATE의 쿼리를 사용하여 DB에 접근하는 것을 의미한다. 일반적인 경우, 작업 처리의 단위는 한 건의 쿼리(즉 연산)가 아닌 여러 개의 연산이 복합적으로 구성되는 것이 일반적이다. 현재 작성하고 있는 글을 등록하는 작업을 생각해보자. 글의 내용을 작성한 뒤, 등록 버튼을 눌렀을 때 새로운 글이 등록된 최신 글 목록이 보여지는 작업 처리의 단위는 등록할 때의 INSERT와 최신 리스트를 보여주는 SELECT가 하나의 단위에서 구성되는 것으로 이러한 작업의 단..
프로그래밍/Database
2020. 3. 25.
[MySQL] Inner Join과 Left Join의 차이
신입 개발자 면접에서 단골 질문이었다. " Inner Join과 Outer Join의 차이점을 아시나요? " 아마 join과 관련된 차이점을 검색할 때 가장 많이 나오는 이미지가 아래의 이미지일 것이다. 가장 간단하게 표현하면 Inner Join : Table A와 Table B의 교집합을 조회 Outer Join : Table A와 Table B의 합집합을 조회 사물의 이름을 저장하고 있는 table_A와 무게를 저장하고 있는 table_B, 그리고 해당 사물과 무게의 관계를 표현하는 rel_table_a_b 3개가 있는 상황이라고 해보자. Left Join 즉, Left Outer Join을 한 결과는 아래와 같다. select * from table_a as a left join rel_table_..