Birden çok ödeme ağ geçidini yönetmek için şema tasarımı


9

Bu daha çok geri bildirim gerektiren bir sorudur. Birden fazla ödeme ağ geçidi işleyen bir veritabanı tasarlıyorum. Ödeme ağ geçidi çoğunlukla ödemeyi yapmadan önce sipariş ayrıntıları için bir tablo (bu, tüm PG'ler için ortaktır) ve ödemeyi yaptıktan sonra yanıtı depolamak için işlem ayrıntıları için bir tablo gerektirir.

Şimdi birden fazla ödeme ağ geçidi işlemek için, ya tek bir işlem tablosu tutabilir, tüm ödeme ağ geçitlerinde bulunan tüm alanlarla ve bu satırın hangi PG'den geldiğini söyleyen bir alanla doldurabilirim;
Ya da ben gibi öneki ile PG her biri için ayrı işlem tabloları oluşturabilir paypal_ya bank_her bunların her ihtiyaç alanları olan, vb.

Bunu yapmanın en uygun yolunun hangisi olduğundan emin değilim. Gelecekte karşılaşabileceğim benzer senaryolar için de öğrenmeye ihtiyacım var.


Kesin durumunuza bağlıdır. Genel olarak, büyük bir tablonun alt kümelerini seçmek, UNION ile çok küçük minik tabloları birleştirmekten daha ucuzdur. Ancak küçük tablo tasarımının daha iyi çalıştığı durumlar vardır.
Walter Mitty

Şimdiye kadar neyin var?
Aaron

@ BryceAtNetwork23 Şimdilik iki PG kullanıyorum ve her ikisi için ayrı tablolarım var. Ama gelecekte daha fazla PG eklemeliyim. Bu yüzden her seferinde daha fazla tablo eklemeye devam etmek zorunda olduğum için bunu yapmaya devam edip etmeyeceğimi düşünüyordum. Artan tablo sayısı ve artan sütun ve kayıt sayısı ile bir tablo arasında bir seçimdir. Biraz kafam karıştı.
Şubat'ta Bibhas

@Bibhas, Kullandığınız çözümü bizimle paylaşmak mümkün mü? Aynı şüpheye sahibim.
Marcio Mazzucato

@MarcioSimao paypal_transaction_id, bank_transaction_idvb. Özellikleri ile tek bir tablo ile gittik . Çok fazla ödeme ağ geçidi yoktu, bu yüzden bizim için çalıştı. Birçok PG'yi destekleyenlerle çalışmayabilir.
Bibhas

Yanıtlar:


7

Verilerin ödeme türleri arasında ne kadar farklı olduğuna bağlıdır.

İş yerinde desteklediğim siteler için, tüm ödeme türleri için veri depolayan bir tablo var. Bu bizim için işe yarar çünkü ödeme tiplerimiz 4 çeşit kredi kartı ve şirket satın alma emri. Müşterilerimizin çoğu kredi kartı ile ödeme yapıyor, bu nedenle verilerde çok fazla sapma yok. Elbette, bu kredi kartı müşterileri için yapılan sorgular PONumber alanında her zaman NULL değerler verir. Benzer şekilde, PO müşterileri için yapılan sorgular, kredi kartıyla ilgili tüm alanlarda NULL değeri verir.

Verilerinizde birçok farklı alan varsa, her ödeme ağ geçidi için ayrı tabloları içeren bir ana işlem tablosu deneyebilirsiniz. Her ödeme ağ geçidi türü tablosunda, ana işlem tablosuna geri bağlanacak yabancı bir işlem_kimliği anahtarı bulunur.

Öte yandan, ödeme ağ geçidi türlerinizin tümü benzer alanlara sahipse, bir işlem tablosuna sadık kalırdım.


1
Temizlediğin için teşekkürler. Sanırım tam önümdeydi, ama işaret etmesi gereken birine ihtiyacım vardı. :)
Bibhas

@ BryceAtNetwork23, Eğer 5 veya daha fazla gibi birçok ağ geçidi varsa, veri almakta zorluk yaşayacağımı düşünüyor musunuz? Ana işlem tablosunun her ödeme ağ geçidi türünde birçok sol birleşim yapmak zorunda kalacağını düşündüğüm için bunu soruyorum.
Marcio Mazzucato
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.