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

أي الطرق أفضل من ناحية ال Normalisation

مغلق
بدأه C# inside في 17 يوليو 2006 · 2 رد · 801 مشاهدة · في قواعد بيانات MySQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحباً

لدي مشروع لبناء تطبيق انترنت و سيكون هناك عدد كبير من المستخدمين, يزيد عن مليون, مجرد توقع! أو لنقل أني متفائل :)

لذلك أحاول تصميم قاعدة البيانات بأفضل شكل حتى لا تحدث مشاكل في المستقبل, وأريد رأيكم

طبعا كل زائر سيدخل التطبيق سيسجل اسمه بعض المعلومات عنه فقط!

وهذه الأسكيما

@ الاقتراح الأول

|----------------------------------------------------------------------------------------|

|name_pk_|password|region|country|district|city|user_language|moreinfo|

|----------------------------------------------------------------------------------------|

|.......................................................................................................|

|----------------------------------------------------------------------------------------|

يعني أن تكون كل معلومات العضو في جدول واحد وخلاص

@ الاقتراح الثاني

نفس الأول بصراحة لكن الحقول region و country و district و city و user_language ستكون كجداول منفصله تماما, وأقوم بربطها ببعضها و بالجدول الرئيسي بعد ذلك بمفتاح غريب(وموغريب إلا الشيطان).

أي كلهم مربوطين مع الجدول الرئيسي

و city مربوط مع district و country

و district مربوط مع country

و country مربوط مع region

@ أو هل هناك طريقة أفضل لتصميم قاعدة البيانات هذه

الهدف هو الكفاءة و إمكانيه عمل بحث بعد ذلك باستخدام هذه الحقول region و country و district و city و user_language

يعني اعرض المسجلين الموجودين في region معين أو country معين أو district معين أو city معين وكذلك تحديد لغة من يتم عرضهم من المستخدمين user_language مثلا أريد العرب فقط

وكذلك عرض country الموجودة في region معين. و district الموجودة في country معين . وأخيرا city الموجودة في country معين.

@ هل أحتاج لأن أقلق حول هذا الأمر , هل هناك طريقة لأختبار قاعدة البيانات قبل تنزيلها للعمل الفعلي

شكرا

#2

اضف اول حقا: user_id واجعله INT 9 AUTO INCREMENT

واما عن التميم الاول ممتاز وكل الحقول بجدول واحد افضل

مع السلامة

#3

أهلا أخي aziz2598

وأشكرك على ردك

لكني قرأت وهو كما أذكر الشرط رقم 2 من الشروط يلي وضعها كودد الخاصة بال Normalisation

هو عدم تكرار البيانات في كل صف

ولو عملت مثل ماقلت وأكتشفت أن فيه 1000 عضو مسجلين من اليمين

وأنا كنت كاتب اليمن بشكل غير صحيح كتبتها مثلا "الييمن"

هذا يعني اني حدخل الجدول وأعدل الف صف!

أشكرك للرد و اتمنى لو كنت غلطان تصححني ولك كل الشكر

وعندي سؤال, ليه ما أقدر استخدام الـ user_Name كمفتاح رئيسي بدلا من اضافة حقل جديد

شكرا

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

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