The best قام بنشر منذ 19 ساعات قام بنشر منذ 19 ساعات السلام عليكم ورحمة الله وبركاته إخوتى وأساتذتى الأفاضل بمشيئة الله أنا بصدد تصميم برنامج لشئون العاملين بجهة عملى ومحتاج لمساعدتكم واقتراحاتكم مرحلة أولى فى المرفق التالى هل يصح وضع البيانات فى جدول واحد علشان عملت 3 جداول Personnel_affairs.rar
Foksh قام بنشر منذ 19 ساعات قام بنشر منذ 19 ساعات وعليكم السلام ورحمة الله وبركاته، بالنسبة لسؤالك حول وضع البيانات في جدول واحد أو توزيعها على عدة جداول ، فمن الأفضل استخدام 3 جداول منفصلة كما فعلت ( هذا بالنسبة لي طبعاً ) ، وذلك للأسباب التالية : 🔹 لماذا لا أفضل وضع البيانات في جدول واحد ؟؟؟ 1️⃣ تجنب تكرار البيانات :- إذا وضعت جميع البيانات في جدول واحد ، فقد تضطر إلى تكرار بيانات الموظف أكثر من مرة عند إضافة مؤهلاته أو تغيير بياناته الوظيفية . 2️⃣ تحسين الأداء وسهولة الاستعلامات :- الجداول الصغيرة تسهّل عمليات البحث والتحديث مقارنةً بجدول واحد ضخم يحتوي على بيانات مكررة . 3️⃣ التوسّع المستقبلي :- تقسيم البيانات يسهل إضافة ميزات جديدة مثل ترقيات الموظفين أو دورات تدريبية دون إعادة تصميم الجدول بالكامل . 🔹 ونقطة مهمة وهي كيف يتم الربط بين الجداول ؟؟؟ لضمان عمل الجداول بشكل صحيح ، يجب استخدام المفاتيح الأساسية (Primary Keys) والمفاتيح الأجنبية (Foreign Keys) كما يلي :- ✅ جدول البيانات الشخصية (Personal_data) :- اجعل rkm_mlf (رقم الملف) هو المفتاح الأساسي (Primary Key) ، لأنه فريد لكل موظف . ✅ جدول البيانات الوظيفية (Functional_data) :- أضف Functional_ID (ترقيم تلقائي) كمفتاح أساسي . استخدم rkm_mlf كمفتاح أجنبي (Foreign Key) لربطه بجدول البيانات الشخصية . ✅ جدول المؤهلات (Qualification_data) :- أضف Qualification_ID (ترقيم تلقائي) كمفتاح أساسي . استخدم rkm_mlf كمفتاح أجنبي (Foreign Key) لربطه بجدول البيانات الشخصية . هذا وقد أكون قد غفلت عن شيء ، فإن كنت قد سهوت فعل الأخوة والأساتذة يساندني ويذكرها 😇 .
The best قام بنشر منذ 18 ساعات الكاتب قام بنشر منذ 18 ساعات 19 دقائق مضت, Foksh said: وعليكم السلام ورحمة الله وبركاته، بالنسبة لسؤالك حول وضع البيانات في جدول واحد أو توزيعها على عدة جداول ، فمن الأفضل استخدام 3 جداول منفصلة كما فعلت ( هذا بالنسبة لي طبعاً ) ، وذلك للأسباب التالية : 🔹 لماذا لا أفضل وضع البيانات في جدول واحد ؟؟؟ 1️⃣ تجنب تكرار البيانات :- إذا وضعت جميع البيانات في جدول واحد ، فقد تضطر إلى تكرار بيانات الموظف أكثر من مرة عند إضافة مؤهلاته أو تغيير بياناته الوظيفية . 2️⃣ تحسين الأداء وسهولة الاستعلامات :- الجداول الصغيرة تسهّل عمليات البحث والتحديث مقارنةً بجدول واحد ضخم يحتوي على بيانات مكررة . 3️⃣ التوسّع المستقبلي :- تقسيم البيانات يسهل إضافة ميزات جديدة مثل ترقيات الموظفين أو دورات تدريبية دون إعادة تصميم الجدول بالكامل . 🔹 ونقطة مهمة وهي كيف يتم الربط بين الجداول ؟؟؟ لضمان عمل الجداول بشكل صحيح ، يجب استخدام المفاتيح الأساسية (Primary Keys) والمفاتيح الأجنبية (Foreign Keys) كما يلي :- ✅ جدول البيانات الشخصية (Personal_data) :- اجعل rkm_mlf (رقم الملف) هو المفتاح الأساسي (Primary Key) ، لأنه فريد لكل موظف . ✅ جدول البيانات الوظيفية (Functional_data) :- أضف Functional_ID (ترقيم تلقائي) كمفتاح أساسي . استخدم rkm_mlf كمفتاح أجنبي (Foreign Key) لربطه بجدول البيانات الشخصية . ✅ جدول المؤهلات (Qualification_data) :- أضف Qualification_ID (ترقيم تلقائي) كمفتاح أساسي . استخدم rkm_mlf كمفتاح أجنبي (Foreign Key) لربطه بجدول البيانات الشخصية . هذا وقد أكون قد غفلت عن شيء ، فإن كنت قد سهوت فعل الأخوة والأساتذة يساندني ويذكرها 😇 . هكذا أستاذنا صح وكمان لسة فى جداول خاصة بالإجازات والتدريبات وتدرج الوظائف والجزاءات والعقوبات وغيرها أجهز تلك الجداول بالطريقة السابقة
Foksh قام بنشر منذ 18 ساعات قام بنشر منذ 18 ساعات 3 دقائق مضت, The best said: هكذا أستاذنا صح نعم صحيح أخي الكريم .. وبالنسبة للجداول المتبقية ، فيفضل استخدامك لنفس الطريقة السابقة ، وطبعاً سيكون حقل المفتاح الفريد rkm_mlf هو الرابط بين الجداول لذا اربط الجداول كافة بجدول الموظفين لضمان تنظيم البيانات واسترجاعها بسهولة لاحقاً .
ابوخليل قام بنشر منذ 18 ساعات قام بنشر منذ 18 ساعات مشاركة مع اخي العزيز فادي واضافة الى ما افاد به وأجاد بعض الملاحظات البسيطة من واقع تجربة : ملاحظة فنية : - تسميات الحقول .. مثلا rkm_mlf في الجدول الرئيسي يجب ان يختلف في الجداول الأخرى اختلافا طفيفا اما بزيادة حرف او رقم .. وهذا ينطبق على جميع تسميات الحقول بين الجداول السبب في افضلية ايجاد فارق في التسمية هي احيانا تضطر الى ضم هذه الجداول في استعلام واحد .. حينها ستعرف فائدة التفرقة . ملاحظات في التصميم : تنقسم البيانات المتجددة الى نوعين .. 1- نوع يكون اصله في جدول الاسماء .. وما يستجد في جدول منفصل ، مع تحديث القيمة في جدول الاسماء عند كل حركة جديدة .. مثل الرتبة وترقياتها ، والوظيفة وتدرجاتها ، والنقل داخل المحافظة نفسها ( مكان العمل ) ، والمؤهل وتاريخه ونحو ذلك هذه الفكرة ستجد ثمرتها عظيمة مستقبلا عند البحث والتصفيات الجماعية وعمل التقارير .. ستكون سلسة وسريعة .. لان المصدر جدول واحد فقط التفاصيل الأخرى غالبا لن تحتاجها الا في الاستعلام عن موظف محدد بعينه 2- النوع الثاني الاصل يكون في جدول مستقل مثل الإجازات والتدريبات والجزاءات والعقوبات .. ونحو ذلك ------------------------------------- لا ننسى الجداول الخدمية وهي مهمة جدا مثل : جدول المؤهلات ، جدول الوظائف ... الخ وجميع الأشياء التي تتوقع البحث والاستعلام عنها يجب ان يكون لها جداول خدمية خاصة المهم يجب ان تعلم ان اي مشروع 80% منه هو اجادة وضبط الجداول فلا تخرج من الجداول ابدا حتى تتأكد انك استوفيت وأحكمت جميع اطراف مشروعك ناقش واعرض جداولك واستمر في المناقشة والاستفسار حتى تأخذ الضوء الاخضر من اخوانك هنا ..
Foksh قام بنشر منذ 17 ساعات قام بنشر منذ 17 ساعات 20 دقائق مضت, ابوخليل said: تنقسم البيانات المتجددة الى نوعين .. هذه ملاحظة تصميمية رائعة جداً . حيث توضح أن البيانات المتغيرة يجب تقسيمها إلى نوعين بناءً على طبيعتها :- 🔹 النوع الأول وهو بيانات متغيرة تحتاج إلى تحديث مستمر في الجدول الأساسي . مثل الرتبة ، الوظيفة ، مكان العمل ، المؤهل ... إلخ . ويتم الاحتفاظ بأحدث قيمة داخل جدول الموظفين الرئيسي ، ويتم تحديثها عند حدوث تغيير . كما يتم تسجيل جميع الحركات السابقة في جدول منفصل ، بحيث يمكن الرجوع إليها عند الحاجة . برأيي هذه النقطة مهمة لأن البحث والتصفية على جدول واحد يكون أسرع وأسهل . أيضاً عند البحث عن بيانات حديثة لكل الموظفين ، لن تحتاج إلى جلب جميع الحركات السابقة ، بل فقط أحدث حالة لكل موظف . ويمكن تطبيق هذه الفكرة على سبيل المثال في الجدول personal_data ، أضافة حقول مثل :- current_rank ( الرتبة الحالية ) ، current_job ( الوظيفة الحالية ) ، current_workplace ( مكان العمل الحالي ) ، latest_qualification ( آخر مؤهل ) . وفي جداول الحركات ( مثل الترقيات والتعديلات ) ، يتم تسجيل جميع الحركات السابقة ، وعند حدوث تغيير جديد يتم تحديث الحقل المناسب في جدول الموظفين الرئيسي . 🔹 النوع الثاني من البيانات وهو بيانات مستقلة بالكامل . مثل الإجازات ، التدريبات ، الجزاءات ، العقوبات ... إلخ ، فهذه البيانات متغيرة لكنها لا تؤثر على المعلومات الأساسية للموظف بشكل مباشر . لكن لكل منها جدول مستقل ويتم ربطه بـ rkm_mlf . أيضاً هذه نقطة مهمة لأن الموظف يمكن أن يكون لديه عدد غير محدود من الإجازات والتدريبات والجزاءات ... إلخ ، وبالتالي لا يُفضل إضافتها إلى الجدول الرئيسي للموظفين . وكما أن الفصل بين البيانات يجعل الاستعلامات أكثر كفاءة ودقة ، حيث يمكنك البحث عن الإجازات دون التأثير على بيانات الموظفين الآخرين . وأيضاً يمكن تطبيق هذه الفكرة على سبيل المثال بحيث يكون لكل نوع بيانات جدول مستقل ، مثل :- Leave_data ( جدول الإجازات ) ، Training_data ( جدول التدريبات ) ، Penalty_data ( جدول الجزاءات ) ، Promotion_data ( جدول الترقيات ) . 💥 أما فيما يخص التسميات الخاصة بحقل الربط بين الجداول وكما أشار أستاذي @ابوخليل ؛ فبدلاً من استخدام rkm_mlf في جميع الجداول ، يمكن تسميته بشكل متمايز كما يلي :- rkm_mlf في جدول personal_data ( جدول الموظفين الرئيسي ) rkm_mlf_func في جدول functional_data rkm_mlf_qual في جدول qualification_data 1
ابوخليل قام بنشر منذ 17 ساعات قام بنشر منذ 17 ساعات 2 دقائق مضت, Foksh said: هذه ملاحظة تصميمية رائعة جداً . حيث توضح أن البيانات المتغيرة يجب تقسيمها إلى نوعين بناءً على طبيعتها :- الأروع من ذلك شرحك الوافي الدقيق 1
Foksh قام بنشر منذ 17 ساعات قام بنشر منذ 17 ساعات 2 دقائق مضت, ابوخليل said: الأروع من ذلك شرحك الوافي الدقيق جزاكم الله خيراً ، ونفع بكم وبعلمكم .. والحمد لله على ما تعلمناه بفضله ثم من توجيهاتكم في كثير من المواضيع ومتابعتي لخطواتكم
The best قام بنشر منذ 15 ساعات الكاتب قام بنشر منذ 15 ساعات سأحاول فعل ما تفضلتم به وسأعرضها على حضراتكم وبعد ذلك ننظر فيم سيحدث
The best قام بنشر منذ 11 ساعات الكاتب قام بنشر منذ 11 ساعات هل هذا هو المطلوب ؟ Personnel_affairs.rar
saud90 قام بنشر منذ 8 ساعات قام بنشر منذ 8 ساعات في نظري ما فعلته صحيح ولكن بقي كما قال الأستاذ أبو خليل ( لا ننسى الجداول الخدمية وهي مهمة جدا مثل : جدول المؤهلات ، جدول الوظائف ... الخ وجميع الأشياء التي تتوقع البحث والاستعلام عنها يجب ان يكون لها جداول خدمية خاصة) تحتاج جداول غير مرتبطة وبناء على جدول الموظفين تحتاج إلى جدول الديانات جدول الحالة الاجتماعية جدول الحنسية جدول المحافظات أو القرى جدول النوع ( ذكر - أنثى ) اعتقد هذا هو قصدك بالاضافة إلى الجداول المذكورة في كلمة الأستاذ أبو خليل الجداول الغير مرتبطة هي جداول تسهل عملية الادخال بدل الكتابة وتسهل عملية البحث والحصر عن طريق الاستعلام
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.