**تراکنش** یا انتقال پایگاه داده مجموعه‌ای از عملیاتی پایگاه داده‌ها است که یا بایستی به طور کامل انجام شود یا در صورت بروز مشکل وضعیت به حالت قبلی بازگردانده شود. حالات میانی بین گام‌ها توسط تراکنش‌های همزمان دیده نمی‌شوند، و اگر خطایی رخ دهد که از اتمام تراکنش ممانعت کند، هیچ‌کدام از گام‌ها پایگاه داده را تغییر نمی‌دهند.

یک انتقال پایگاه داده بخشی از یک عملکرد است با یک نظام مدیریت پایگاه یا چیزی مشابه آن که قابل اطمینان است و غیر وابسته به هر انتقال دیگری. به‌طور کلی یک انتقال باید اتمی باشد، یعنی باید کامل و خودمختار باشد. به‌طور ایده‌آل، یک سیستم پایگاه باید اتمی بودن، دوام، ایزوله بودن و استحکام را ضمانت کند. در عمل این مشخصات مشخصاتی هستند برای اجرای بهتر.

هدف از تراکنش
-------------

در محصولات پایگاه داده قابلیت کنترل تراکنش کاربر را از درستی پایگاه مطمئن می‌کند.

یک تراکنش ممکن است از Queryهای زیادی تشکیل شده باشد که هر کدام آنها هم می‌خوانند، هم می‌نویسند. وقتی تراکنش صورت می‌گیرد باید مطمئن بود که چیزی از Queryها جا نمانده است. مثلاً در تراکنش مادی وقتی پول از یک حساب نقد می‌شود باید در حساب دیگر نیز ایجاد شود. تراکنشها نباید با هم تداخل داشته باشند. اطلاعات دقیق تر در بحث ACID می‌باشد.

یک انتقال ساده معمولاً با سیستم پایگاهی و در زبانی چون SQL به این شکل صورت می‌گیرد:

1. شروع انتقال
2. اجرای تعدادی Query (علیرغم اینکه بروز رسانی داخل پایگاه از خارج آن دیده نمی‌شود)
3. واگذاری انتقال (بروز رسانی‌ها در صوری درستی انتقال دیده می‌شوند)

اگر یکی از Queryها ناموفق باشد، سیستم بازمی‌گردد. این عملکرد بستگی به نوع و نحوه نصب DBMS دارد. تراکنش در هر مرحله قبل از واگذاری قابلیت بازگشت دارد.

پایگاه‌های تراکنشی

پایگاه‌هایی که عملیات تراکنش را Support می‌کنند، را گویند. بسیاری از DBMSهای جدید این امکان را دارند.

سیستمفایل‌های اتراکنشی

سیستمفایل Namesys Reiser۴ برای Linux و ورژن جدید سیستم‌فایل Microsoft NTFS هر دو عملیات تراکنش را Support می‌کنند، ولی از سیستمفایل‌های تراکنشی به دلیل کمی سازگاری با سیستم‌های قدیمی استفاده نمی‌شود.

جستارهای وابسته
---------------

* Distributed transaction
* Nested transaction
* اسید (پایگاه داده) properties
* Atomic transaction
* Software transactional memory
* انتقالهای دراز مدت
* پردازش تراکنش

پانویس
------

1. ↑  کتاب اصول پایگاه داده‌ها. روحانی رانکوهی
2. ↑  A transaction is a group of operations that are atomic, consistent, isolated, and durable (اسید (پایگاه داده)).
3. ↑
4. ↑  Transactional NTFS (TxF) (Windows)

منابع
-----

ترجمه امیرمهدی بنیامین اسحاقی، طراح وبسایت و عضو انجمن ICT مؤسسه آموزش عالی امیرکبیر.

پیوند به بیرون
--------------

* Transaction Processing

| * ن
* ب
* و
پایگاه داده‌هاs |
| --- |
| 
* مدل‌های انتزاعی پایگاه داده‌هاs
* نرمال‌سازی (پایگاه داده‌ها)
* Database storage
* پایگاه داده توزیع‌شده
* Federated database system
* Referential integrity
* جبر رابطه‌ای
* Relational calculus
* پایگاه داده‌های رابطه‌ای
* Relational DBMS
* مدل رابطه‌ای
* پایگاه داده شیء-رابطه
* پردازش تراکنش

 |
| Concepts | 
* پایگاه داده‌ها
* اسید (پایگاه داده)
* CRUD
* Null
* Candidate key
* Foreign key
* Primary key
* Superkey
* Surrogate key
* Armstrong's axioms

 |
| Objects | 
* Relation
	+ جدول (پایگاه داده‌ها)
	+ ستون (پایگاه داده)
	+ row
* دید (پایگاه داده)
* انتقال پایگاه داده
* Log
* تریگر پایگاه داده
* فهرست (پایگاه داده)
* رویه ذخیره‌شده
* Cursor
* Partition

 |
| Components | 
* کنترل همروندی
* واژه‌نامه داده
* JDBC
* XQJ
* ODBC
* زبان پرس و جو
* Query optimizer
* Query plan

 |
| Functions | 
* Administration and automation
* Query optimization
* Replication

 |
| 
Database products
Object-oriented
comparison
Relational
comparison
پایگاه داده‌های سند-گرا
پایگاه داده‌های گراف
نواس‌کیوال
NewSQL
 |


  


|  |  |
| --- | --- |
| آیکون خرد | این یک مقالهٔ خرد مرتبط با پایگاه داده‌ها است. می‌توانید با گسترش آن به ویکی‌پدیا کمک کنید. |