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

كيف أحدد نوع الحقل ؟

مغلق
بدأه POWER _GIRL في 26 أكتوبر 2005 · 2 رد · 699 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

(بسم الله الواحد الأحد)

إخواني :blink: ما الأفضل وضع رقم الهاتف ورقم البطاقة varchar ام intyint ولماذا !!!!!!!!!!!

فائدهvarchar أنك تحدد عدد الخانات...

وفائدة intyint أنك تحدد النوع رقمي ....

وأنا أتحدث بالنسبه للقاعدة ولا اتكلم عن الواجهات...............

:blink: وحقيقه انا الى الان غير مقتنعه تماما بأهميه تحديد أي شي فالقاعدة لا قيد null ولا نوع الحقل

حيث يمكن ويعتبر من الضروري وضع القيود للمستخدم فالواجهات..

وهذا يسبب بطيء بمراجعه قيود كثيره مكررة على الواجهات والقاعدة..(أرجوا المناقشة فهذا الجزء)

تم تعديل هذه المشاركة بواسطة POWER _GIRL في 26 أكتوبر 2005 في 16:20

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#2

الموضوع يعتمد على طبيعة ادخال رقم الهاتف...

ان كان الهاتف يحتوي فواصل مثل ال - او غيرها فأنصحك ب varchar ... و ان لم تكن تحتوي إلا على ارقام ف int بكل انواعها تصلح حسب الاحتياج...

ملاحظه ... varchar لا تحدد عدد الخانات و انما هي مفتوحه او Dynamic بقدر ما تريدين الادخال بقدر ما توسع نفسها.

الواجهه البرمجيه مهمه في التعامل مع قاعدة البيانات... مثلا وضعتي في تصميم القاعده الهاتف int و عند الادخال عن طريق الواجهه لم تقومي بعمل validation بشكل برمجي فستجهدين قاعدة البيانات بالتحقق من ان المدخل خطأ و سيرد عليك برساله (طبعا من ال sql server نفسه) بأن القيمه غير مطابقه او invalid.

ما تريدين مناقشته هنا ان اي مبرمج يفضل عمل ال Validation برمجيا في الفورم ... بمفهوم التفحص اولا (طبعا الفحص يعتمد على طبيعة البيانات المدخله و تصميم قاعدة البيانات) يريحك من عناء ارسال القيمه لل Database و فحصها هناك ... اي انك توفرين الجهد و الضغط على قاعدة البينات بغض النظر عن طبيعة التصميم و مدى تعقيده او بساطته و من دون اللجوء لما تم طرحه من جهتك.

عملية التحقق في الواجهه لم و لن تكن ابدا بديلا للفحص في الداتابيز فالداتابيز شئت ام ابيت سيقوم بالفحص تلقائيا للقيم المرسله اليه ... و لكن ما اتحدث عنه هنا هي فكرة تحديد التحقق من القيم المرسله للقاعده بقدر الامكان لتلافي اي رسالة خطأ من الداتابيز مما يظهر ضعف المبرمج و عيوبه في برمجته للواجهات.

انا مره في الجامعه كان علي مشروع ربط قواعد بيانات برمجيا مع اي لغة برمجه اختارها ... و يوم المناقشه طلع عندي error من الداتابيز :unsure: ... تخيلي شو صار ... طبعا اخدت نص العلامه :D .

#3
اقتباس
إخواني ما الأفضل وضع رقم الهاتف ورقم البطاقة varchar ام intyint ولماذا !!!!!!!!!!!

فائدهvarchar أنك تحدد عدد الخانات...

وفائدة intyint أنك تحدد النوع رقمي ....

أفضل أن يكون varchar

فرقم الهاتف قد يبدأ بصفر، والأنواع العددية تتجاهل الصفر على الشمال

وكما قال الأخ محمد أكرم، فقد يحتوي رقم الهاتف على رموز مثل - أو + ، ولن تقبلها الأنواع الرقمية.

هذا بغض النظر عن مدى استيعاب النوع tinyint ، حسب نص سؤالك ، لطول رقم الهاتف المدخل.

فكر بطريقة أخرى

هذا الموضوع مغلق.

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