Database/RDBMS Modeling 4

[MySQL] Transaction

TRANSACTION 주요 트랜잭션 명령어명령어설명BEGIN TRANSACTION / START TRANSACTION트랜잭션 시작COMMIT트랜잭션 확정 → 변경 사항을 DB에 반영ROLLBACK트랜잭션 취소 → 변경 사항 모두 되돌림SAVEPOINT 이름트랜잭션 중간 저장 지점 설정ROLLBACK TO SAVEPOINT 이름지정한 SAVEPOINT까지 롤백SET TRANSACTION트랜잭션 격리 수준 지정 (READ COMMITTED, SERIALIZABLE 등) 예시START TRANSACTION; -- 트랜잭션 시작UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;UPDATE accounts SET balance = balance + 1..

[MyBatis] 1:N 객체 매핑 : <resultMap> <collection>, flatMap이란

1:N 관계를 객체 구조로 매핑할 때 사용된다. Service에서 비즈니스 로직을 처리할 때 Map 안에 List의 구조를 이중으로 넣을 수도 있지만, 의 개념을 사용하면 mybatis xml 에서 쿼리상으로 한 번에 출력할 수 있다. 즉 이런 식으로 출력한다는 것.{ "user_id": 1, "user_name": "홍길동", "order_list": [ { "order_id": 101, "product": "노트북" }, { "order_id": 102, "product": "키보드" } ]} 이게 mybatis에서 쓰일 때의 모습이다. SELECT U.user_idx, U.user_name FROM USERS U SELECT O.order_id, ..

연관관계 매핑 : 1대1, 1대다 다대1, 다대다

1대1아주 기본적인 관계. 설명 생략. 1대다관리자아파트A1, 2B3, 4 이럴때는 아파트 테이블에 관리자 id를 FK로 둔다. 다대1관리자아파트A, B1C, D2 이럴때는 관리자 테이블에 아파트 id를 FK로 둔다. 다대다관리자아파트A1, 2, 3B2, 3, 4 관리자 A의 입장에서 보면, 아파트 1,2,3을 관리.아파트 2의 입장에서 보면, 관리자 A, B가 담당. 이처럼 다대다관계가 될 때, 이 두 테이블의 연관관계를 담은 테이블을 만들게 된다. UK관리자아파트1A12A24A35B26B37B4 이 테이블에 필수적으로 들어가야 하는 사항은 관리자와 아파트간의 매핑사실을 담은 칼럼.편의성을 위해 auto increment를 담은 uk 칼럼정도를 만들 수 있다.그 외에 상황에 따라, 관리권한을 기간별로 ..

다대다 관계 N:N

다대다 관계일 때에는 그 사이에 테이블을 하나 더 만들어줘야한다. 하단에 첨부된 포스팅을 참고하자. https://yeees.tistory.com/184 항상 헷갈리는 관계형 데이터베이스 다대다 쉬운 예시 (고객 - 상품)DB를 공부할 때 다대다 관계가 제일 헷갈린다. 혼자 공부를 하면서 나중에 기억하기 쉽도록 초딩들도 이해가능한 예제를 만들어보았다. 개념적 모델링의 기본적인 ERD 작성을 위한 예시이다. 고yeees.tistory.com 이번에 해야할 프로젝트에서 만들 테이블에 대한 관계도를 고민해볼때 도움이 될 듯.