نمط التسجيل النشط  في هندسة البرمجيات، نمط التسجيل النشط (Active record) هو نمط معماري موجود في البرامج التي تخزن بيانات الكائن في الذاكرة في قواعد البيانات العلائقية. تم تسميته من قبل مارتن فاولر في كتابه 2003 "أنماط هندسة تطبيقات المؤسسة (Enterprise Application Architecture)" . قد تتضمن واجهة الكائن المطابق لهذا النمط وظائف (methods) مثل الإضافة والتحديث والحذف، بالإضافة إلى الخصائص ( properties ) التي تتوافق بشكل أو بآخر مع الأعمدة في جدول قاعدة البيانات الأساسي.  نمط السجل النشط يوفر طريقة للوصول إلى البيانات في قاعدة البيانات. يتم التفاف جدول قاعدة البيانات أو طريقة العرض في فئة. وبالتالي، يتم ربط مثيل الكائن (instance) بصف واحد في الجدول. بعد إنشاء كائن، يتم إضافة صف جديد إلى الجدول عند الحفظ. أي كائن يتم تحميله يحصل على معلوماته من قاعدة البيانات. عند تحديث كائن، يتم أيضًا تحديث الصف المقابل في الجدول. وتنفذ فئة مجمع استرجاع أساليب أو خصائص كل عمود في الجدول أو طريقة العرض.  يكثر استخدام هذا النمط بواسطة أدوات ثبات الكائن (Persistence framework) وفي رسم الخرائط العلائقية للكائن (ORM). عادةً، سيتم الكشف عن علاقات المفاتيح الخارجية كمثيل كائن من النوع المناسب عبر خاصية.  يمكن العثور على هذا النمط في أطر عمل مختلفة للعديد من بيئات البرمجة. على سبيل المثال، إذا كان هناك جدول codice_1 في قاعدة بيانات مع الأعمدة codice_2 (نوع السلسلة- string type) و codice_3 (نوع الرقم- number type)، ونمط سجل نشط ( Active record ) يتم تنفيذه في الطبقة codice_4 ، الزائفة رمز part = new Part() //انشاء كائن جديد part.name = "Sample part" // اضافه قيمه الي قيمة الاسم part.price = 123.45 // اضافه فيمة الي السعر part.save() // حفظ الكائن مع اضافه خاصيه الاسم والسعر سيُنشئ صفًا جديدًا في جدول codice_1 بالقيم المحددة، وهو مكافئ تقريبًا لأمر SQL INSERT INTO parts (name, price) VALUES ('Sample part', 123.45); على العكس من ذلك، يمكن استخدام الفئة للاستعلام عن قاعدة البيانات: $b = Part.find_first("name", "gearbox") سيجد هذا كائن codice_4 جديدًا استنادًا إلى أول صف مطابق من جدول codice_1 الذي يحتوي عمود codice_2 على قيمة "gearbox". قد يكون أمر SQL المستخدم مشابهًا لما يلي، اعتمادًا على تفاصيل تنفيذ SQL لقاعدة البيانات: SELECT * FROM parts WHERE name = 'gearbox' LIMIT 1; -- MySQL or PostgreSQL مثال اخر  $customer = new Customer(); $customer->name = 'Qiang'; $customer->save();  بسبب اقتران تفاعل قاعدة البيانات ومنطق التطبيق عند استخدام نمط السجل النشط، يصبح اختبار الوحدة (اختبار الوحدة) لكائن سجل نشط بدون قاعدة بيانات أمرًا صعبًا. يمكن التقليل من التأثيرات السلبية على قابلية الاختبار في نمط السجل النشط باستخدام أطر عمل محاكاة أو ( ) التبعية لاستبدال طبقة البيانات الحقيقية بطبقة محاكاة.  نقد آخر لنمط السجل النشط هو أنه، أيضًا بسبب الاقتران القوي لتفاعل قاعدة البيانات ومنطق التطبيق، لا يتبع كائن السجل النشط مبدأ المسؤولية الفردية وفصل الاهتمامات على عكس البنية متعددة المستويات التي تتناول هذه الممارسات بشكل صحيح.   لهذا السبب، يكون نمط التسجيل النشط هو الأفضل ويتم استخدامه غالبًا في التطبيقات البسيطة التي تكون جميعها عبارة عن نماذج فوق البيانات مع وظيفة CRUD ، أو كجزء واحد فقط من بنية.  عادةً ما يكون هذا الجزء هو الوصول إلى البيانات وسبب تنفيذ العديد من ORMs نمط السجل النشط.  تعمل الأنماط المستندة إلى السجلات بشكل سيئ في الأنظمة الموزعة خاصةً عندما يكون التزامن مستحيلاً (على سبيل المثال دون اتصال). على سبيل المثال، قد يحتوي كلا التحديثين على حقل واحد صحيح ولكن يمكن للفوز واحد فقط من السجلين.