저는 데이터베이스 응용 프로그램에 익숙하지 않으며 Datamapper를 사용하여 루비 웹 응용 프로그램을 만들려고합니다.데이터베이스의 트랜잭션에 대한 이해
transaction do |txn|
link = Link.new(:identifier => custom)
link.url = Url.create(:original => original)
link.save
end
을 나는 몇 가지 질문이 있습니다 :
은 내가 이해할 수없는 코드의이 조각을 우연히 발견 정확히 거래는 무엇입니까? 그리고 왜 이렇게하는 것이 좋을까요?
link = Link.new(:identifier => custom)
link.url = Url.create(:original => original)
link.save
언제 거래를 사용해야합니까? 가장 좋은 사용 사례는 무엇입니까? 그러한 개념에 대해 더 많이 읽을 수있는 온라인 리소스가 있습니까?
감사합니다.
+1 좋은 설명입니다. 거래가 사용되는 경우 동일한 상황에서 어떤 일이 발생하는지 분명히 할 수 있습니까? 트랜잭션이 진행되는 동안 사용자 B가 객체 O에 전혀 액세스 할 수 없도록 트랜잭션이 행을 잠급니까? 난 그냥 궁금해서 ... –
구현의 숫자가 있지만 기본적으로 예 - 작업이 완료 될 때까지 행/테이블/데이터베이스가 잠긴다. 실제로 여러 수준의 격리가 있습니다. http://en.wikipedia.org/wiki/Isolation_(database_systems) –
감사합니다. Wiki 링크를 읽고 학습했습니다. –