• 0
atlasarab

استفسار حول قواعد البيانات

سؤال

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

بعد الصلاة والسلام على سيدنا محمد

ابدأ بطرح موضوعي

انا عندي فكر الغاء الايميل ك شرط اساسي بالتسجيل

واستبداله ب رقم التلفون

طيب هذه مكلفة شوي بس مو مهم الغرض هو الفكرة

الان في قواعد البيانات سوف يكون جدول المستخدمين على النحو التالي

id(int) phone(long int) password

السؤال عندي هو مطروح للمناقشة

لماذا لا احذف id و ال هو طبعا int

واستبدله ب phone هو صحيح long int بس شنو المشكلة

بالسرعة يعني يفرق كثير ؟؟؟؟

واذا عندي مليون مستخدم يفرق كثير

وراح يكون جدول البيانات

phone(long int) password(text) name

مفهومة إن شاء الله

والسلام عليكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

8 إجابة على هذا السؤال .

  • 0

السلام عليكم

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

ثانيا المفتاح الاساسي لا يتغير ولا يتم تعديله، ورقم الهاتف (حتى الشخصي منه) يمكن ان يتغير.

والسلام.

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بالنسبة ل هذه مافي مشكلة

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اهم خطوة في اي برنامج يعتمد على قواعد البيانات هي تصميم قاعدة البيانات

لما تجي تصمم قاعدة بيانات لابد تحط في الحسبان انك لن تعدل هذا التصميم في المستقبل ( أي الحقول الاساسية )

وحقل المفتاح يعتبر شي اساسي لانه تبنى عليه امور كثيره لذلك من الخطأ تعديله

في حالتك انت اعتقد لا مشكلة لان البرنامج صغير ولن يؤثر كثيرا ً لكن في برمجيات كبيرة هذا القرار سيتم استبعاده بلا شك الا في الحالات الظرورية جدا ً والاسباب كثيرها منها :

- في الغالب الـ Foreign Key يكون مرتبط بالـ Primary Key لجدول اخرى , وعند تغيير الـ Primary Key يلزم تغيير جميع الـ Foreign Key المرتبطه به وهذا الامر ربما يتلف بياناتك.

- فرضا ً لو عندك موقع اخباري له حوالي سنة او سنتين وانت تستعرض الخبر عن طريق Primary Key , وهذه الروابط متأرشفه في محركات البحث , اذا قمت بتغيير الـ Primary Key هذا يعني ان جميع روابط الموقع المتأرشفة قد انتهت ويلزمك حل اخر لهذه المشكلة .

طبعا ً اسم الحقل id لايهم لكن هو في الغالب الـ id يكون Primary Key , واي تغييرات في الـ Primary Key احتمال كبير يسبب لك مشاكل انت في غنى عنها.

قبل ان تتخذ قرار التعديل في تصميم قاعدة البيانات يجب ان تنظر للأضرار المتربة على ذلك اذا لم تكن هناك اي مشاكل في التعديل , عدل حسب ما تريد

ان شاء الله تكون وضحت الفكرة

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ليست هناك مشكلة

نسميه id

الفرق الوحيد سوف يكون

int vs long int

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
id(int) phone(long int) password

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

00962

عندها سيصبح في قاعدة البيانات

962

يجب أن يكون من نوع نصي

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا

و ماذا عن السرعة؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
و ماذا عن السرعة؟؟

لم أقرأ السؤال في أول مرة :) بالنسبه للسرعه طبعا هناك فرق ملحوظ ومشاكل ربما تحدث بكثره في حال وجود عدد كبير من المستخدمين كما تقول مليون !!

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا جزيلا هذة الفائدة العضيمة من هذا المنتدى

حبيبي يعني

بعد كل هذه الاسئلة سوف ابدأ بأسمه تعالى بالبرنامج الي في راسي

شكرا مرة اخرى

المهم ان الحقل الرقمي سريع صح ليس اسرع من int بس مافي مشكلة

واذا احتاجيت شي بخصوص optimization اطرحة او اكتب وارفع الصفحات جميعها

هذا سابق لأوانة حاليا

و شكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .