ورود

نسخه کامل مشاهده نسخه کامل : سئوال در مورد طراحی پایگاه داده



meisamphp
27-08-2013, 11:54
سلام ،،


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


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


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


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


یاعلی..

anvar.net
27-08-2013, 21:58
مثل اینکه شدیدا اماتور هستی! نمی دونم رو چه حسابی همچین پروژه بزرگی رو به شما واگذار کردند؟

برای طراحی پایگاه داده , برای هر موجودیت یک جدول بساز , مثلا یوز + دروس و غیره

سه مرحله نرمال سازی رو برای هر کدوم از جداولت پیاده سازی کن . در آخر جداول استانداردی خواهی داشت.

نیازی به ایجاد 50 میلیون جدول نیست (عملا دیوانگی محضه) شما فقط یک جدول یوزر داری که 50 میلیون ID در یکی از سطرهاش ثبت میشه (البته حداکثر رکوردهای قابل پشتیانی رو نمی دونم دقیقا چقدر هست). بعلاوه مشخصات هر فرد - سایر جدول ها با توجه به ID مشترک بین آنها قابل دسترسی هستند و می توان آنها را بازیابی و ویرایش کرد.
برای آموزشگاه هم نیازی به 10000 جدول نیست شما فقط یک جدول می سازید, به هر اموزشگاه یک ID اختصاص می دهید و احیانا سایر جدول های وابسته رو توسط کلیدهای خارجی متصل می کنی.

سفارش من به شما , پروژه رو به آدم کاربلدی واگذار کنید و خودتون در کنارش و به کمک اون مسائل رو یاد بگیرید

meisamphp
27-08-2013, 22:14
سلام ،، مرسی دوست عزیز

کل تئوری رو یه پروژه پایان ترم در نظر بگیر ..

خوب اگه یه جدول داشته باشیم که نتایج توش زخیره شده باشه ، حالا فرض کن ۵۰ میلیون کاربر هرکدام مثلاً میانگین ماهی ۲ تا نتیجه امتحان ، یعنی در ماه چیزی حدود ۱۰۰ میلیون رکورد .. به نظرتون میشه از این جدول بعد از یه سال query گرفت ؟!

دوست عزیز یه سئوال دیگه اینکه یه دیتابیس مثل ایمیل سرویس رو در نظر بگیر ،، اونا چطوری طراحی میشه !؟

یاعلی ..