Uma transacção agrupa um conjunto de operações que transformam a base de dados de uma estado consistente n para outro estado consistente n+1. Pode considerar-se que há uma história – ou cronograma ou processo – que modela/transforma a execução em simultâneo (interleaved)
de um conjunto de transacções numa série temporal de operações lienares
sobre determinadas peças de informação.
Duas operações nesse cronograma
entram em conflito quando pertencem a transacções distintas e, pelo
menos, uma delas efectua uma operação de escrita sobre a mesma peça de
informação. Uma peça de informação pode ser, por exemplo, uma linha de
uma tabela, uma coluna de uma tabela, uma tabela inteira, ou um espaço
de tabelas.
Uma história pode resumir-se num grafo de dependências que estabelece as marcas temporais no fluxo de dados entre transacções. Uma história é compreensível e é considerada realizável (serializable)
quando é equivalente a um conjunto de eventos realizados em série,
i.e., quando o seu grafo de dependências tem a mesma cronologia de uma
história que execute sequencialmente (em série) as transacções.