CS/데이터베이스

myGoodPlace
[DB] 다대다(M:N)를 일대다(1:N), 다대일(M:1)로 만들어주는 이유는 뭘까?
원숭이 엉덩이는 빨개, 빨가면 사과, 사과는 맛있어 우리는 익숙하게 사물과 사물을 연관지어서 생각할 수 있어, 관계형 데이터베이스(RDBMS)를 자연스럽게 받아들인다. 마치 객체지향을 공부할 때, 우리가 사는 세계와 비유하는 것을 자연스럽게 받아들이는 것처럼 그럼 관계형 데이터베이스에서, 두 테이블의 관계가 다대다(M:N)일 때, 이것을 일대다(1:N), 다대일(M:1)로 만들어주는 이유가 뭘까? 자, 다대다(M:N)가 되는 상황부터 살펴보자! 우리는 각 게시글마다 댓글을 등록한 회원들을 알고싶다. 하나의 게시글에는 여러 명의 회원이 댓글을 등록할 수 있고, 한 명의 회원 또한 여러 개의 게시글에 댓글 등록이 가능하다. 이러한 관계는 다대다가 될 수 있다. 다대다의 관계로 테이블을 구성을 어떻게 하면 될..
[데이터베이스] 트랜잭션(Transaction) 격리수준
Transaction(트랜잭션) 격리수준 트랜잭션 격리수준을 계속 보면서 외웠는데, 이름의 의미와 각 격리단계를 보완하기위한 전략을 이해하는 방법으로 다시 격리수준을 학습해보았다. 이번에 조금 더 깊게 공부하면서, 왜 MySQL 혼자 Repeatable Read 의 격리단계를 기본 단계로 갖는지 알 수 있었다. (Next Key Lock덕분)그리고 오라클이 고가용성에 좋다고 알고있는데, 이것이 지원하지 않는 격리 수준과 관계가 있는걸까? 하는 의문이 들었다. 물론, 아직 의문을 해결하지는 못했다. 트랜잭션하나의 기능을 수행하기 위한 SQL 연산들의 집합을 의미트랜잭션의 성질Atomicity(원자성)트랜잭션은 모든 연산이 완전히 성공적으로 수행되어야 한다. 그렇지 않다면 아예 수행되지 않아야 한다. All..
sooyeon-kr
'CS/데이터베이스' 카테고리의 글 목록