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

سؤال تحليلي : ما الافضل في انشاء احد جداول قاعدة البيانات

بدأه FinF في 29 يناير 2014 · 4 رد · 374 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

 

اخواني بصراحة احترت في انشاء احد الجدول لقاعدة البيانات

 

الشرح :

مثلا انا عندي 3 اجهزة ، كل جهاز يقراء 72 رقم

 

حيرتي هي :

- الاول

هل اصلح جدول من 75 حقل : قراءة1 + قراءة2 + قراءة3 + قراءة4 + قراءة5 + قراءة6 ........قراءة70 + قراءة71 قراءة72 + حقل اسم الجهاز + حقل اي دي + التاريخ = 75 حقل

 

- الثاني

او اصلح جدول من 4 حقول : للقراءة + اسم الجهاز + الاي دي + التاريخ

 

 

 

في الفكرة الاولى راح يكون عند صف واحد فيه كامل البيانات للجهاز الواحد ، وإجمالي ثلاث صفوف للثلاثة اجهزة

 

في الفكرة الثانية راح يكون عندي 72 صف للجهاز الواحد ، وإجمالي 216 صف للثلاثة اجهزة

 

 

 

اي الفكرتين هي الصح ، ولماذا ؟

#2

السلام عليكم ..

أفهم من كلامك أن كل جهاز يقرأ كل الـــ 72 رقم بنفس التاريخ ...

الحل الأول أوفر بالمساحة ... و لكن :

لا تخزن اسم الجهاز بهذه الطريقة , لديك طريقتان : إذا كنت فقط تريد التعامل مع 3 أجهزة , يمكن وضع حقل اسم الجهاز من نوع bit  (يعني بت واحد قيمه هي  True/False / NULL)  فإذا كان 1 هذا يعني أن الجهاز هو الأول و إذا كان 0 فهذا يعني ان للقراءة للجهاز الثاني و إذا كان NULL  فهذا يعني ان القراءة للجهاز الثالث ... :)

أما إذا كنت تريد التعامل مع اكثر من جهاز وأقل من 255 , فخزن اسم الجهاز بجدول منفصل و يكون الــ PK  فيه من نوع byte  (حجمه بايت واحد) الذي يرمز من 0 حتى 255 و تربطه مع جدول القراءات .

حقل التاريخ :

استخدم النوع Date  إذا كنت تريد يوم - شهر - سنة  (حجمه 3 بايت)

أو smalldatetime  إذا كنت تريد ثانية - دقيقة - ساعة - يوم - شهر - سنة (حجمه 4 بايت .)

أو datetime  الذي يخزن أجزاء الثانية , ثانية - دقيقة - ساعة - يوم - شهر - سنة (حجمه 8 بايت).

استخدم النوع المناسب للقراءات (عددي بطبيعة الحال) كي لا تهدر مساحة القاعدة ..  و تكون الاستعلامات سريعة (نوعا ما) .

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

يعطيك العافيه على الرد التقني الرائع

#4

المعذرة للتاخير ..

 

اخي حسام انا اقصد بجهاز : مثل عداد الكهرب أو عداد المويه ... الخ

الموظف ياخذ 72 قراءة لهذا العداد فأنا مضطر اعطي العداد او الجهاز اسم واضح لذلك بيكون حرفي ورقمي مثل D1 , D2 ... الخ

 

 

انا كانت فكرة الجداول بطريقة

جدول خاص بالاجهزة ( الاي دي ، اسم الجهاز ، حالة الجهاز )

جدول القراءات ( الاي دي ، اي دي الجهاز ، التاريخ ، قراءة1 + قراءة2 + قراءة3 + قراءة4 ... الى 72 )

 

 

اهم شي اشكر لك تعاونك وتفاعلك معي اخوي حسام

#5

بارك الله بك أخي (FinF)

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…