السلام عليكم و رحمة الله و بركاته
لدي داتابيز و فيها جدول أشخاص و جدول شركات
و في البرنامج أقوم بأخذ View فيها البيانات موحدة و أخرى خاصة بالأشخاص لوحدهم و أخرى خاصة بالشركات لوحدهم
أقوم بالعمل في البرنامج على Disconnected Mode اي أن التخزين يكون في Dataset و يغلق Connection
فهذه الحلول التي أراها:
عمل Panel فيها Datagrid لها إتصال مع AllContacts View و التي هي الأولى
و Panel أخرى تتعامل مع View التي للأشخاص
و أخرى للشركات
لقد قمت بوضع Column في كل من الأشخاص و الشركات و فيه بت تحدد لي إن كانت 1 فيعني بأن هذا شخص و إن كانت 0 فإن هذه شركة
و إستفدت من هذه في عملية الدمج Union to the views للأشخاص و الشركات أي views الأولى
و لقد إرتأيت إلى تحديث ال dataset بعد فتح البرنامج أو إدخال أي Contact جديد من أي Client على الشبكة
بما أن الداتابيز على السيرفر
و في كل مرة أسحب المعلومات من Views الثلاثة إلى كل من Datagrid View الموجودين
و لكن هل هذه الطريقة سليمة فإن كانت الشركة لديها من المعلومات الضخمة و تستخدم البرنامج فلو قلنا بأن
عدد الأشخاص و الشركات أكثر من مليون مثلا فهل هذه العملية سترهق الشبكة
و هل الحل بأن أسحب المعلومات من View الأولى التي فيها جميع Contacts و أقوم بتقسيم ما فيها
على حسب Bit التي تحدد نوع Contact إن كان شركة أو شخصا و لكن هذه العملية ألن تستغرق الوقت
بما أنها ستكون على Client و لكن في كل مرة يأتي مدخل جديد على الداتابيز سيقوم جميع Clients بهذه العملية
تلقائيا ، أولن تكون مزعجة جدا في حلة البيانات الضخمة و هل الحل في وضع داتابيز أخرى على Client
لتحتمل هذه البيانات و بتعامل البرنامج معها و يكون Thread لتعبئة الداتابيز بكل جديد
فما رأيكم ؟