انتخاب درست برای ذخیره سازی اطلاعات جانبی کاربر در دیتابیس چیست؟

پرسیده شده
فعالیت 1501 روز پیش
دیده شده 915 بار
3

سلام دوستان 
برای ذخیره کردن شماره تماس و آدرس شبکه اجتماعی افرادی که در سایت ثبت نام میکنند؛ اگه یک نفر بیشتر از یک شماره تماس و شبکه اجتماعی داشته باشه؛ به نظرتون بصورت json   در دیتابیس ذخیره بشن   یا در یک جدول جدا و بعد join زده بشه ؟

 

البته فقط ۴ آدرس شبکه اجتماعی میشه وارد کرد و احتمال اینکه کاربر؛ فقط یک یا دو مورد رو پر کنه و بقیه خالی بمونند هستش. 

 

به نظر خودم؛ زمانی که احتمال تکرار بالا هستش؛ بهتره که از ۲ جدول استفاده

 برای مثال؛ پروژه اشتراک لینک که تکرار زیاد صورت میگیره از ۲ جدول استفاده شده ولی زمانی که قراره آدرس شبکه های اجتماعی بیشتر از ۴تا نشه؛ به فرمت json در دیتابیس ذخیره بشه بهتره و اینطوری هزینه join ها حذف میشه.

 

فایل پیوست

amir tavakolian
amir tavakolian

4 فروردین 99

9
حذف شده

اگر که تعداد این موارد کم و ثابت هست که می تونید اونها رو در خود جدول users به صورت ستون اضافه کنید.

در غیر این صورت می تونید شبیه وردپرس کار کنید. یه جدول به اسم users_meta بسازید که اطلاعات اضافی یوزرها رو داخل اون اضافه کنید.

جدول متا می تونه ستون ها id,user_id,key,value رو داشته باشه.

بعد به جای join زدن با دو تاکوئری مستقل اطلاعات و متاهای یوزر رو بگیرید.

یه کوئری میزنید از جدول یوزر اطلاعتش رو می گیرید. بعد یه کوئری میزنید به جدول یوزرمتا و همه key,value های اون یوزر رو می گیرید.

ستون key نوع داده ذخیره شده رو مشخص می کنه و value مقدارش رو.

مثلا key می تونه instagram باشه و value آیدی اینستاگرام کاربر ...

فایل پیوست

لقمان آوند

توسط

لقمان آوند

4 فروردین 99

حذف شده
مرسی از جوابتون دکتر. به نظر شما همون اول کار؛ کل دیتابیس سایت طراحی بشه بهتره یا اینکه یک ER دیاگرام با امکاناتی که میشه پیش بینی کرد طراحی بشه و mvp طور جلو برم و وقتی به آپشن های جدیدتری نیاز داشتم؛ به اون ER اضافه کنم ؟
amir tavakolian

5 فروردین 99

حذف شده
این بستگی به پروژه داره. اگر پروژه استارتاپی هست نگاه MVP ترجیح داده میشه قطعا بهتره برای مهمترین چیزهایی که نیازداری اول وقت بزاری
لقمان آوند

7 فروردین 99