ورود

View Full Version : سئوال در مورد طراحی پایگاه داده



meisamphp
سه شنبه 05 شهریور 1392, 12:11 عصر
سلام ،،

من یه پایگاه دارم به طور مثال ( حداکثر ۵۰ میلیون یوزر در ایران و بیش از ۱۰ هزار آموزشگاه ، هر یوزر میتونه از هرجایی به این آموزشگاهها مراجعه کنه و امتحان بده ، و نتیجه امتحان از طریق آموزشگاه توی وب سایت قرار میگیره ، هر یوزر توی وب سایت با وارد کردن کدملی و پسورد به محیط خودش دسترسی داره و میتونه نتایج امتحانات خودش رو ببینه و اگه خواست واسه کسی ارسال کنه و یا حذف کنه ... ) تقریباً شبیه یه ایمیل سنتر ..

حالا می خواستم ببینم پایگاه داده رو با این حجم اطلاعات چطوری طراحی کنم بهینه تر میشه ؟؟

۱ - اگه برای هر یوزر یه table با کد ملی خودش ایجاد کنم خوبه ؟؟
۲ - اگه برای هر آموزشگاه یه tabel ایجاد کنم چطوره ؟!

ممنون میشم کمکم کنید ،، اگه راه درست و استانداردی رو بهم راهنمایی کنین ممنون میشم ..

یاعلی..

مهدی هادیان2
سه شنبه 05 شهریور 1392, 12:50 عصر
بسم الله الرحمن الرحیم
با سلام

- اگه برای هر یوزر یه table با کد ملی خودش ایجاد کنم خوبه ؟؟
۲ - اگه برای هر آموزشگاه یه tabel ایجاد کنم چطوره ؟!
سوال هایی که شما مطرح فرمودید فکر نکنم ربطی به طراحی جداولتون داشته باشه.
نه برای هر یوزر ولی برای یوزرها بایستی جدولی در نظر بگیرید و هر یوزر به عنوان رکوردی از اون محسوب خواهد شد.
و همین طور برای آموزشگاه.
موفق باشید.

meisamphp
سه شنبه 05 شهریور 1392, 13:37 عصر
سلام ..
مرسی که جوابمو میدین دوست عزیز ..

خوب اونوقت وقتی داده هامون بالا بره چیکار کنیم ؟؟ مثلاً شما فکر کن که بیش از ۱۰۰ میلیون رکورد داریم و روز به روز هم اضافه میشه ،، اگه یه table داشته باشیم که نتایج رو ذخیره کنه تمامی ۱۰۰ میلیون رکورد توی یه table قرار میگیره !؟ اونوقت سرعت query گرفتن پایین نمیاد ؟!

یاعلی ..

setareh masompoor
سه شنبه 05 شهریور 1392, 14:22 عصر
بهترین راه اینه که بر اساس حروف الفبا جداول رو طراحی کن و هر یوزر رو بر اساس حرف اول اسم یا فامیلیش تو جدول مربوط به اون قرار بده مثلا (معصوم پور) توی جدول حرف (م) قرار بگیره
اینجوری هم راحتر جستجو میکنی هم حجم جداولت بالا نمیره

meisamphp
سه شنبه 05 شهریور 1392, 15:04 عصر
سلام ،، یه دیتابیس مثل ایمیل سنتر چطوری طراحی میشه !؟ اونجا دیگه حتما هر یوزر یه table داره !؟ آره !؟

یاعلی ..

مهدی هادیان2
یک شنبه 17 شهریور 1392, 22:15 عصر
بسم الله الرحمن الرحیم
با سلام
نهایتا متوجه شدید راه حل اصولی برای موردی که فرمودید چی هست؟
با سپاس

tooraj_azizi_1035
سه شنبه 19 شهریور 1392, 13:46 عصر
۱ - اگه برای هر یوزر یه table با کد ملی خودش ایجاد کنم خوبه ؟؟
یعنی چی، یعنی 50 میلیون جدول؟


۲ - اگه برای هر آموزشگاه یه tabel ایجاد کنم چطوره ؟!
یعنی 10 هزار جدول؟

البته که نه، باید یک جدول برای کاربران و یکی برای آموزشگاه و یک جدول میانی رابط بین این دو که ساعت و تاریخ و آی دی هر دو رو داره.
فقط باید اندیس گذاری رو حتماً انجام بدید و چون حجم داده ها تون خیلی زیاده باید یک Maintenance Plan بسازید و Update Statistics رو در اون قرار بدید تا سرعت کوئری هاتون در طول زمان افت نکنه.