공부하고 기록하는, 경제학과 출신 개발자의 노트

Database 2

Transaction Isolation - MySQL과 Postgresql 비교

Transaction Isolation Level / read phenomena ACID 4요소 중 하나가 isolation. 가장 높은 수준의 isolation -> all concurrent txn will not affect each other. 반대로 말하면, txn이 다른 txn에게 영향을 줄 수 있는 정도가 구분된다는 뜻. 이걸 Read Phenomenon이라 부른다. Dirty Read : uncommitted txn값을 읽어들이는 것. txn이 commit일지 rollback일지 알 수 없기 때문에 incorrect data를 사용하게 될 가능성이 높음 Non-Repeatable Read : 동일한 쿼리 요청을 했는데 응답값이 달라지는 경우 Phantom Read : 2와 비슷하지만, 하나..

빠르게 정리하는 데이터베이스 (3) Normalization

Database Normalization DB 정규화: 목적저장되는 데이터의 중복을 줄이고불필요한 데이터 변경을 최소화하며단순한 쿼리로 원하는 데이터를 얻기 위함. 예컨대 위와 같은 테이블 구조에서university 이름과 주소는 서로 의존적임. (일반적으로) 이름이 바뀌면 주소도 같이 바뀌어야 함.정규화 관점에서는 이런 형태의 데이터를 Redundancy로 취급한다.따라서, 서로 의존성을 띄고 있는 university 이름 / 주소 정보는 별도의 테이블로 만든 뒤, primary key를 Student 테이블에 매핑한다.제1정규화 (1NF) 확장하기 쉬운 DB 테이블 구조여야 한다.모든 DB 테이블의 value는 atomic해야 한다하나의 컬럼에는 하나의 데이터 타입만 허용한다.컬럼명은 unique해야..