محسن مهری
5 سال پیش توسط محسن مهری مطرح شد
3 پاسخ

تعریف سه نوع کاربر در جدول user

سلام - من سه نوع کاربر دارم : 1 - اشخاص حقیقی (فرد) 2 - اشخاص حقوقی(شرکت ها) 3 - شرکت های تولید کننده
توی همین سایت چند تا گفت و گو که گذاشتم همه بهم پیشنهاد دادند که (برای امنیت بیشتر و ..) همه ی کاربرام رو توی جدول user تعریف کنم .
این کاربرا همگی یک سری اطلاعات مشترک دارند( نام- ایمیل - پسورد)
اما اکثر اطلاعاتشون با همدیگه متفاوته
اشخاص حقوقی : نام شرکت ، شماره شرکت ....
تولید کننده : """
اشخاص حقیقی : یکسری فیلد متفاوت ...
اما **چطور این اطلاعات متفاوتشون رو ذخیره کنم؟

پیشنهاد خودم ( سه تا جدول details1,details2,details3 بگیرم که هر کدوم جدول برای هر نوع کاربر و اطلاعاتی که با همدیگه متفاوت هستند رو برای هر کدوم توی این جداول ذخیره کنم؟به نظرتون خوبه؟)


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
2

روش های مختلفی وجود داره

اما یک تمرین خوب اینه که جدول ها رو تا حد امکان تمیز و خلوت نگه داریم... مثلا برای جدول users بهتره نهایتا ۶،۷ تا فیلد داشته باشیم.
هر وقت خودتون رو در شرایطی دیدید که جدول های خیلی بزرگی دارید » در ۹۰ ٪ اوقات » این نشونه اینه که میتونید جدول های کوچیکتر و با مسئولیت های محدودتر ایجاد کنید...

یک سناریو اینه که: همه کاربر ها رو در ۱ جدول ذخیره کنید. مثلا users

۲ تا جدول دیگه هم به نامهای حقیقی و حقوقی بسازید و در هر کدوم فیلدهای خودش رو قرار بدید + یه فیلد user_id


حال اگر کاربر فقط داخل users موجود بود.. خوب این کاربر یه کاربر عادیه.
و اگر در جدول های دیگه بود نوعش مشخص میشه...

مزیت این روش: بعد ها اگر در یک سناریوی عجیب و غریب، خواستید کاربری داشته باشید که هم یه شخص حقوقی باشه و هم یک شخص حقیقی.... همچین امکانی دارید کافیه یه سطر به جدول مربوطه همراه user_id کاربر وارد کنید.


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش مطرح شد
2

پیشنهاد خودم ( سه تا جدول details۱,details۲,details۳ بگیرم که هر کدوم جدول برای هر نوع کاربر و اطلاعاتی که با همدیگه متفاوت هستند رو برای هر کدوم توی این جداول ذخیره کنم؟به نظرتون خوبه؟)

دقیقا همینه فقط user_id رو تویی جداول هم میذاری که relationship بسازی همین. خیلی کار رو نباس پیجیده کرد.


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
2

روش های مختلفی وجود داره

اما یک تمرین خوب اینه که جدول ها رو تا حد امکان تمیز و خلوت نگه داریم... مثلا برای جدول users بهتره نهایتا ۶،۷ تا فیلد داشته باشیم.
هر وقت خودتون رو در شرایطی دیدید که جدول های خیلی بزرگی دارید » در ۹۰ ٪ اوقات » این نشونه اینه که میتونید جدول های کوچیکتر و با مسئولیت های محدودتر ایجاد کنید...

یک سناریو اینه که: همه کاربر ها رو در ۱ جدول ذخیره کنید. مثلا users

۲ تا جدول دیگه هم به نامهای حقیقی و حقوقی بسازید و در هر کدوم فیلدهای خودش رو قرار بدید + یه فیلد user_id


حال اگر کاربر فقط داخل users موجود بود.. خوب این کاربر یه کاربر عادیه.
و اگر در جدول های دیگه بود نوعش مشخص میشه...

مزیت این روش: بعد ها اگر در یک سناریوی عجیب و غریب، خواستید کاربری داشته باشید که هم یه شخص حقوقی باشه و هم یک شخص حقیقی.... همچین امکانی دارید کافیه یه سطر به جدول مربوطه همراه user_id کاربر وارد کنید.


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 5 سال پیش مطرح شد
0

@juza66
@ali.bayat
تشکر از هردوی شما - خیالمو راحت کردین
به نظرم سخت ترین قسمت پروژه مرحله تحلیل و مخصوصا تحلیل دیتابیس هستش که من توی این موضوع واقعا هنوز مبتدی هستم.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام