как будет поддерживаться целостность и правильность базы данных?
База данных должна поддерживать собственную внутреннюю согласованность с использованием ограничений .
Пользователи должны выполнять запись в базу данных с помощью операторов SQL в транзакции , чтобы все связанные записи происходили атомарно (все они выполняются успешно или все они терпят неудачу).Транзакции также помогают при конфликтах между пользователями на более высоких уровнях изоляция , поддерживая блокировки на уровне таблицы, страницы или строки.
Обновление
Asздесь запрошен некоторый код, притворяющийся C # (я сам его мало использую):
private Method(SqlConnection connection)
{
using (SqlTransaction transaction = connection.BeginTransaction())
{
try
{
// Use the connection here
....
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
}
}
Если все операторы в блоке try завершатся успешно, они будут зафиксированы вместе.Если какой-либо оператор завершится неудачно, транзакция будет отменена, а база данных не будет изменена.
Строго говоря, оператор с использованием позаботится об откате, если транзакция не выполнена.совершено, поэтому, если вы не обрабатываете ошибки, вы можете написать такой же код, например:
private Method(SqlConnection connection)
{
using (SqlTransaction transaction = connection.BeginTransaction())
{
// Use the connection here
....
transaction.Commit();
}
}