الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل من الممكن وضع أكثر من Id لمشروع واحد؟

بدأه بو حنان ال في 19 يوليو 2009 · 4 رد · 878 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

قبل فترة كنت أظن أن التحليل كيف تعرف تحلل الجداول و كيف تربطها وبس

و في الحقيقة لا أخفيكم لم أكن مهتم به إلى أن حضرت دورة عند الاستاذ / ماجد عابدين

عندها عرفت أشياء كنت أظنها من المستحيلات

أوه السؤال !!

حسناً ، أنا أعمل حالياً على نظام عندي جدول الصادرات يعتمدون عند ترتيب المعاملات على تاريخ السنة-المنطقة-الرقم

مثال : 1430-15-1

1430-12-1

1430-15-2

1430-13-1

Primary Keyأنا الان وضعتها كمفتاح رئيسي

إلى الان ليس لدينا أي مشاكل

و لكن الان نفذنا هذا المشروع في فرع واحد و هم يرغبون بتنفيذه في عدة فروع

و المشكلة :

أن هذه الفروع لا تستخدم نفس ترتيب المعاملات فبعضها تعتمد في ترتيبها على الترتيب الذي ذكرناه سابقا و بعضها تعتمد على الترتيب العادي التلقائي

هل من الممكن أن أجعلها بطريقة ما تمكنني من أن أصنع نظام واحد لجميع الفروع

لماذا أريد أن أصنع نظاماً واحداً ؟

لانه حتماً بعد ما أنفذه على جميع الفروع سيطلبون بعض الاضافات و التعديلات

فلو أنشأته على الطريقة العادية بحيث لكل فرع أخصص لهم النظام حسب متطلباتهم فسيكون لزاماً علي إذا أجريت تعديل أن أعدله على جميع الانظمة الاخرى

مع العلم أنه ليست المشكلة في هذا الجدول فقط و لكن في أكثر من جدول

تحياتي و آسف على الاطالة

تم تعديل هذه المشاركة بواسطة بو حنان ال في 19 يوليو 2009 في 10:30

#2

ترتيب السجلات شيئ سهل جداُ فقط عليك تغيير عبارة Order by إلى الحقل/ الحقول التي تريد و هنا اما تختار التاريخ او حقل الرقم التلقائي ويمكنك اعطاء هذا الامر كخيار للمستخدم اي هو يختار على اي حقل يريد ان يرتب السجلات...

ملاحظة أخرى: أفضل شيئ في حال وجود قاعدة بيانات غير مركزية هو استخدام GUID ك Primary key للجداول هذا سوف يمكنك من المستقبل بدمج الجداول من عدة فروع و تريح راسك من الكثير من المشاكل, راجع الموضوع التالي: Auto Identity أم GUID كمفتاح أساسي؟, أيهما تفضل؟

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#3
اقتباس
ترتيب السجلات شيئ سهل جداُ فقط عليك تغيير عبارة Order by إلى الحقل/ الحقول التي تريد و هنا اما تختار التاريخ او حقل الرقم التلقائي ويمكنك اعطاء هذا الامر كخيار للمستخدم اي هو يختار على اي حقل يريد ان يرتب السجلات...

أستاذي ليست المشكلة في الترتيب ؟

الذي أسأل عنه أنا أظن أنه لا يمكن تنفيذه و لكن هو

أنني في النظام أملك جدوال الـ ID لها Identety و بعض الجداول بطريقة معينة

السؤال هل أستطيع أن أجعل جدول واحد عليه أكثر من ID

بمعنى الجدول يكون به أكثر من pramairy key

1 -كـ identety و الجدول أيضاً به 2 - بطريقة السنة-المنطقة-الرقم و 3 - الاخرى السنة-الرقم

هل أستطيع أن أجعلها في جدول واحد و في كل فرع أعتمد على طريقة معينة بـ Configration بسيط من النظام

و أيضاً أجعل كل pramry key لا يعتمد على الأخر

و يمكن أن لا أجعلها كـ pramiry key و لكن كيف أضمن عدم تكرارها

علماً بأنه كل فرع له قاعدة بيانات منفصلة و نظام منفصل و طريقة في إعطاء أرقام المعاملات مختلفة

اقتباس
ملاحظة أخرى: أفضل شيئ في حال وجود قاعدة بيانات غير مركزية هو استخدام GUID ك Primary key للجداول هذا سوف يمكنك من المستقبل بدمج الجداول من عدة فروع و تريح راسك من الكثير من المشاكل, راجع الموضوع التالي: Auto Identity أم GUID كمفتاح أساسي؟, أيهما تفضل؟

شكراً ، فعلاً موضوع مهم و لكن ياليتني أطلعت عليه قبل أن أبدا في المشروع فأنا الان في نهاية المشروع

و لا أخفيك لقد أخذ من الملل مأخذه من هذا المشروع و الذي لا يحتوي إلا عمليات مملة (إدخال ، إخراج ، بحث ، عرض سجلات)

و شكراً لك

تم تعديل هذه المشاركة بواسطة بو حنان ال في 20 يوليو 2009 في 12:47

#4

أعتقد أن ما تعنيه هو ما يدعى بـcomplex primary key أو المفتاح المركب، حيث يتكون المفتاح من أكثر من حقل. و هو حل صحيح يستخدم في العديد من السيناريوات. في الوضع الذي شرحته يمكنك عمل primary key مكون من حقل رقم المعاملة و حقل رمز الفرع.

#5

شكراً لك System Down

و لكن ليس هذا المقصود و المشكلة الاكبر من هذه المشكلة أن لدي مشكلة في الشرح

شكراً لمساعدتكم جميعاً

مواضيع مشابهة