Heim Datenbank MySQL-Tutorial SQL Server架构----数据库事务

SQL Server架构----数据库事务

Jun 07, 2016 pm 03:48 PM
server sql 事务 数据库 架构

ACID属性 事务是数据库的工作单元,通常包含一些读/写数据库的命令。一个工作单元要完成事务,必须满足ACID(原子性、一致性、隔离性和持久性)属性。 原子性(Atomicity): 意味着该事务的所有影响必须成功完成或者修改回滚。比如你去ATM取款,要么成功取

ACID属性

事务是数据库的工作单元,通常包含一些读/写数据库的命令。一个工作单元要完成事务,必须满足ACID(原子性、一致性、隔离性和持久性)属性。

原子性(Atomicity):意味着该事务的所有影响必须成功完成或者修改回滚。比如你去ATM取款,要么成功取出钱同时账户余额减少,要么取钱失败且余额不变。

一致性(Consistency):它要确保事务不能破坏数据库的完整性规则,必须使数据库处于一致的状态。比如你的系统要求库存水平不能为负值,性别栏位必须是男性或女性。为了保持一致,一个事务决不能破坏数据的任何限制或规则。

隔离性(Isolation):隔离是指保持运行未完成的事务的变化,同时独立于另一个。每个事务必须完全独立,并且它所做的更改不能被其他事务可读,即便SQL Server允许你通过改变隔离级别来寻求业务和性能要求之间的平衡。

持久性(Durability):一旦事务被提交,即使系统发生故障也要持续,对系统的影响是永久性的。在SQL Server中,事务提交之前,事务所做的更改相关的信息就被写入了事务日志。

SQL Server事务

在SQL Server中,有两种类型的事务,隐式和显式。它们的区别仅在于创建的方式不同。

隐式事务由SQL Server自动使用,目的是确保单一命令的ACID属性。例如,如果你写一个Update语句去更新10行,SQL Server会以隐式事务来执行它,以便应用ACID属性,这10行要么全部更新,要么都不更新。

显示事务是通过使用BEGIN TRANSACTION T-SQL命令启动,并通过使用COMMIT TRANSACTIONROLLBACK TRANSACTION命令来停止。

有效地提交一个事务,意味着使事务做的修改永久化,反之,回滚一个事务意味着撤消事务中所做的所有修改。显示事务常用于这种情况,即你想把ACID属性应用到一组更改,这些更改当成一个整体;如果业务逻辑需要你取消变更时,你也能够在任何时候回滚。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der Unterschied zwischen HQL und SQL im Hibernate-Framework? Was ist der Unterschied zwischen HQL und SQL im Hibernate-Framework? Apr 17, 2024 pm 02:57 PM

HQL und SQL werden im Hibernate-Framework verglichen: HQL (1. Objektorientierte Syntax, 2. Datenbankunabhängige Abfragen, 3. Typsicherheit), während SQL die Datenbank direkt betreibt (1. Datenbankunabhängige Standards, 2. Komplexe ausführbare Datei). Abfragen und Datenmanipulation).

Wie implementiert die Go-Sprache die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge der Datenbank? Wie implementiert die Go-Sprache die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge der Datenbank? Mar 27, 2024 pm 09:39 PM

Die Go-Sprache ist eine effiziente, prägnante und leicht zu erlernende Programmiersprache. Sie wird von Entwicklern aufgrund ihrer Vorteile bei der gleichzeitigen Programmierung und Netzwerkprogrammierung bevorzugt. In der tatsächlichen Entwicklung sind Datenbankoperationen ein unverzichtbarer Bestandteil. In diesem Artikel wird erläutert, wie die Go-Sprache zum Implementieren von Datenbank-Hinzufügungs-, Lösch-, Änderungs- und Abfrageoperationen verwendet wird. In der Go-Sprache verwenden wir normalerweise Bibliotheken von Drittanbietern, um Datenbanken zu betreiben, z. B. häufig verwendete SQL-Pakete, Gorm usw. Hier nehmen wir das SQL-Paket als Beispiel, um vorzustellen, wie die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge der Datenbank implementiert werden. Angenommen, wir verwenden eine MySQL-Datenbank.

Was ist die Architektur und das Arbeitsprinzip von Spring Data JPA? Was ist die Architektur und das Arbeitsprinzip von Spring Data JPA? Apr 17, 2024 pm 02:48 PM

SpringDataJPA basiert auf der JPA-Architektur und interagiert mit der Datenbank über Mapping, ORM und Transaktionsmanagement. Sein Repository bietet CRUD-Operationen und abgeleitete Abfragen vereinfachen den Datenbankzugriff. Darüber hinaus nutzt es Lazy Loading, um Daten nur bei Bedarf abzurufen und so die Leistung zu verbessern.

Wie steil ist die Lernkurve der Golang-Framework-Architektur? Wie steil ist die Lernkurve der Golang-Framework-Architektur? Jun 05, 2024 pm 06:59 PM

Die Lernkurve der Go-Framework-Architektur hängt von der Vertrautheit mit der Go-Sprache und der Backend-Entwicklung sowie der Komplexität des gewählten Frameworks ab: einem guten Verständnis der Grundlagen der Go-Sprache. Es ist hilfreich, Erfahrung in der Backend-Entwicklung zu haben. Frameworks mit unterschiedlicher Komplexität führen zu unterschiedlichen Lernkurven.

Handzerreißen von Llama3 Schicht 1: Implementierung von llama3 von Grund auf Handzerreißen von Llama3 Schicht 1: Implementierung von llama3 von Grund auf Jun 01, 2024 pm 05:45 PM

1. Architektur von Llama3 In dieser Artikelserie implementieren wir llama3 von Grund auf. Die Gesamtarchitektur von Llama3: Stellen Sie sich die Modellparameter von Llama3 vor: Werfen wir einen Blick auf die tatsächlichen Werte dieser Parameter im Llama3-Modell. Bild [1] Kontextfenster (Kontextfenster) Beim Instanziieren der LlaMa-Klasse definiert die Variable max_seq_len das Kontextfenster. Es gibt andere Parameter in der Klasse, aber dieser Parameter steht in direktem Zusammenhang mit dem Transformatormodell. Die max_seq_len beträgt hier 8K. Bild [2] Wortschatzgröße und AufmerksamkeitL

Ausführliches Tutorial zum Herstellen einer Datenbankverbindung mit MySQLi in PHP Ausführliches Tutorial zum Herstellen einer Datenbankverbindung mit MySQLi in PHP Jun 04, 2024 pm 01:42 PM

So verwenden Sie MySQLi zum Herstellen einer Datenbankverbindung in PHP: MySQLi-Erweiterung einbinden (require_once) Verbindungsfunktion erstellen (functionconnect_to_db) Verbindungsfunktion aufrufen ($conn=connect_to_db()) Abfrage ausführen ($result=$conn->query()) Schließen Verbindung ( $conn->close())

Wie implementiert Hibernate polymorphe Zuordnung? Wie implementiert Hibernate polymorphe Zuordnung? Apr 17, 2024 pm 12:09 PM

Die polymorphe Hibernate-Zuordnung kann geerbte Klassen der Datenbank zuordnen und bietet die folgenden Zuordnungstypen: Joined-Subclass: Erstellen Sie eine separate Tabelle für die Unterklasse, einschließlich aller Spalten der übergeordneten Klasse. Tabelle pro Klasse: Erstellen Sie eine separate Tabelle für Unterklassen, die nur unterklassenspezifische Spalten enthält. Union-Unterklasse: ähnelt der verbundenen Unterklasse, aber die Tabelle der übergeordneten Klasse vereint alle Spalten der Unterklasse.

Rezension! Fassen Sie umfassend die wichtige Rolle von Basismodellen bei der Förderung des autonomen Fahrens zusammen Rezension! Fassen Sie umfassend die wichtige Rolle von Basismodellen bei der Förderung des autonomen Fahrens zusammen Jun 11, 2024 pm 05:29 PM

Oben geschrieben und das persönliche Verständnis des Autors: Mit der Entwicklung und den Durchbrüchen der Deep-Learning-Technologie haben kürzlich groß angelegte Grundlagenmodelle (Foundation Models) bedeutende Ergebnisse in den Bereichen natürlicher Sprachverarbeitung und Computer Vision erzielt. Große Entwicklungsperspektiven bietet auch die Anwendung von Basismodellen beim autonomen Fahren, die das Verständnis und die Argumentation von Szenarien verbessern können. Durch Vortraining mit umfangreichen Sprach- und visuellen Daten kann das Basismodell verschiedene Elemente in autonomen Fahrszenarien verstehen und interpretieren und Schlussfolgerungen ziehen, indem es Sprach- und Aktionsbefehle für die Entscheidungsfindung und Planung im Fahrbetrieb bereitstellt. Das Basismodell kann durch Datenergänzung mit einem Verständnis des Fahrszenarios ergänzt werden, um jene seltenen realisierbaren Merkmale in Long-Tail-Verteilungen bereitzustellen, die bei routinemäßigem Fahren und bei der Datenerfassung unwahrscheinlich anzutreffen sind.

See all articles