db
Database - 테이블 관계 설정
ERD 설계 중 테이블 간 관계 설정에 대해 알아보자. 관계의 유형두 테이블 사이 관계로는 아래 세 유형이 있다.1대11대다(1대N)다대다(N대M)이들에 대해 하나씩 알아보자. 1대1 관계두 개의 테이블 A, B에 대해 A의 레코드 하나가 B의 레코드 하나에만 연결되고 B의 레코드 하나가 A의 레코드 하나에만 연결되는 경우 1대1 관계라고 한다. ERD에선 아래와 같이 표현한다. 세로 선은 테이블의 한 레코드가 상대 레코드의 한 레코드와 연결된다는 것을 의미한다. 테이블 A의 세로 선은 B의 한 레코드가 A의 한 레코드와 연결된다는 의미이며테이블 B의 세로 선은 A의 한 레코드가 B의 한 레코드와 연결된다는 의미이다. 1대다 관계두 개의 테이블 A, B에 대해 A의 레코드 하나가 B의 여러 레코드와 ..
Database - 트랜잭션(Transaction)
최근 ERD 설계를 진행하고 있는데 DB에 대한 지식이 생각보다 부족하다고 느껴 개인적으로 중요하다고 생각하는 내용들을 정리하고자 한다. 트랜잭션DBMS는 DB가 항상 정확하고 일관된 상태를 유지할 수 있도록 다양한 기능을 제공한다. 트랜잭션(Transaction)은 이러한 기능들 중 하나이다. 트랜잭션은 하나의 작업을 수행하는 데 필요한 DB의 연산들을 모아놓은 것으로 논리적인 작업의 단위가 된다.일반적으로 DB는 SQL문을 활용하므로 SQL문의 모임이라고 생각해도 된다. 상의 판매를 예로 들어보자.만약 100개 중 1개가 판매되었다면 데이터를 최신화하기 위해 아래의 과정을 거쳐야 한다.재고 수를 1 낮춘다.판매 수를 1 높인다.즉, UPDATE문이 두 번 실행되어야 한다. 이 과정을 트랜잭션으로 구..