تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 9 از 9

نام تاپيک: جدول users .یکی یا چند تا ؟

  1. #1
    آخر فروم باز rostamiani's Avatar
    تاريخ عضويت
    Sep 2007
    پست ها
    1,875

    پيش فرض جدول users .یکی یا چند تا ؟

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

    آیا در صورت خالی موندن قسمتی از جدول فضا به هدر می ره؟در صورت به هدر رفتن آیا می شه با قرار دادن مقدار NULL فضا رو آزاد کرد؟

    کلا روش معمول برای این کارها چیه؟

    متشکرم

  2. #2
    پروفشنال mamadfelfel1988's Avatar
    تاريخ عضويت
    Jun 2007
    محل سكونت
    Australia / Sydney
    پست ها
    739

    پيش فرض

    این روش شما یک جدول میسازی به اسم user چند تا فیلد داره مثل id,name یا هرچیزه دیگری حالا شما میای یک فیلد به اسم access یا permission اضافه میکنی که بوسیله عدد نوع کاربر رو مشخص میکنی مثلا 1 استاد این روش استاندار هست

  3. این کاربر از mamadfelfel1988 بخاطر این مطلب مفید تشکر کرده است


  4. #3
    آخر فروم باز rostamiani's Avatar
    تاريخ عضويت
    Sep 2007
    پست ها
    1,875

    پيش فرض

    این روش شما یک جدول میسازی به اسم user چند تا فیلد داره مثل id,name یا هرچیزه دیگری حالا شما میای یک فیلد به اسم access یا permission اضافه میکنی که بوسیله عدد نوع کاربر رو مشخص میکنی مثلا 1 استاد این روش استاندار هست
    متشکرم
    یعنی به نظر شما فیلد های خالی زیاد مشکلی نداره ؟

  5. #4
    پروفشنال mamadfelfel1988's Avatar
    تاريخ عضويت
    Jun 2007
    محل سكونت
    Australia / Sydney
    پست ها
    739

    پيش فرض

    این شکل که من منظورم هست
    Table Users
    ----------------------------
    id=1 , name = ali , permission = 1
    -----
    id=2 , name = mohammad , permission = 3
    به این شکل استاندارد

  6. این کاربر از mamadfelfel1988 بخاطر این مطلب مفید تشکر کرده است


  7. #5
    آخر فروم باز rostamiani's Avatar
    تاريخ عضويت
    Sep 2007
    پست ها
    1,875

    پيش فرض

    این شکل که من منظورم هست
    Table Users
    ----------------------------
    id=1 , name = ali , permission = 1
    -----
    id=2 , name = mohammad , permission = 3
    به این شکل استاندارد
    متشکرم
    ولی مشکل فقط پرمیشن نیست.
    دانشجویان فیلد هایی دارند مثل شماره دانشجویی و ترم تحصیلی و ... ولی اساتید فیلد هایی دی گه ای دارند

    در نهایت فکر می کنم باید چند جدول جدا بسازم. چون ظاهرا وجه مشترک کمی دارند !

  8. #6
    پروفشنال peyman1987's Avatar
    تاريخ عضويت
    Sep 2006
    محل سكونت
    تهران
    پست ها
    995

    پيش فرض

    فکر کنم اول بهتر باشه زبانی که استفاده میکنین رو مشخص کنین. اگر PHP و MySQL استفاده میکنین میتونین فیلدهایی رو که قرار نیست بر اساسشون کوئری خاصی زده بشه رو یه آرایه کنین و بصورت سریال شده داخل یه فیلد مثل other_info از نوع text ذخیره کنین اینجوری فقط یه فیلد خواهین داشت برای اطلاعات متغیر.

  9. این کاربر از peyman1987 بخاطر این مطلب مفید تشکر کرده است


  10. #7
    آخر فروم باز rostamiani's Avatar
    تاريخ عضويت
    Sep 2007
    پست ها
    1,875

    پيش فرض

    فکر کنم اول بهتر باشه زبانی که استفاده میکنین رو مشخص کنین. اگر PHP و MySQL استفاده میکنین میتونین فیلدهایی رو که قرار نیست بر اساسشون کوئری خاصی زده بشه رو یه آرایه کنین و بصورت سریال شده داخل یه فیلد مثل other_info از نوع text ذخیره کنین اینجوری فقط یه فیلد خواهین داشت برای اطلاعات متغیر.
    متشکرم
    بله، با PHP و MySQL می نویسم
    ولی تعداد فیلد های مشترک کمه.اینجوری هم همیشه باید یک آرایه رو بیخودی ویرایش کنم. اگه فیلد های مشترک زیاد تر بودن ، روشخوبی بود

  11. این کاربر از rostamiani بخاطر این مطلب مفید تشکر کرده است


  12. #8
    آخر فروم باز rostamiani's Avatar
    تاريخ عضويت
    Sep 2007
    پست ها
    1,875

    پيش فرض

    توی سایت مجید آنلاین پیشنهاد کردند که :
    روش معمول ساخت یک جدول برای همه می باشد ، خوب جدول رو با تمام بخش هایی که نیاز دارید می سازید و برای کاربرانی که یه سری اطلاعات به اونها مربوط نمیشه اون مقدارها رو NULL و یا خالی و یا صفر قرار می دهید ، توجه داشته باشید مواردی که قراره Null مقدار دهی بشن می بایست قبلا مشخص بشن
    و با خالی موندن جدول هیچ مشکلی پیش نمیاد و فضا هم به هدر نمیره ، در کل بهترین روش و عاقلانه ترین روش همین روش میباشد که در اکثر سیستم های مدیریت محتوایی که نوشته شده مشاهده میشود.
    اگه این روش استاندارد هست و فضای اضافه مصرف نمی کنه، خیلی بهتر به نظر میاد. بزرگ شدن جدول نکته دیگه ای هم داره ؟
    می خواستم نظر شما رو هم بدونم
    متشکرم

  13. #9
    پروفشنال peyman1987's Avatar
    تاريخ عضويت
    Sep 2006
    محل سكونت
    تهران
    پست ها
    995

    پيش فرض

    توی سایت مجید آنلاین پیشنهاد کردند که :


    اگه این روش استاندارد هست و فضای اضافه مصرف نمی کنه، خیلی بهتر به نظر میاد. بزرگ شدن جدول نکته دیگه ای هم داره ؟
    می خواستم نظر شما رو هم بدونم
    متشکرم
    البته خوب این روش روش معمولشه که همیشه استفاده شده و میشه و تنها ایرادش هم اینه که انواع مختلف کاربرا توی یک جدول هستن ولی چون در کل همشون یه موجودیت هستن مشکلی نداره و راه نرمالیه.

    کار دیگه ای هم که میشد انجام داد این بود که اطلاعات مشترک داخل جدول کاربرا باشن و یه جدول دیگه که با فیلد خارجی آی دی به جدول کاربرا وصل میشه بسازیم که اینجوری باشه ساختارش:

    user_id
    property_title
    property_value

    که مثالش هم میشه مثلا

    10 - آدرس - تهران طبقه دوم
    14 - شغل - کارمند
    10 - شغل - دکتر

    اینجا مثلا کاربر آی دی 10 دو تا خصوصیت داره و کاربر شماره 14 یکی. با ارتباط دادن این دو تا جدول هم میشه اطلاعاتشو بدست آورد.

    ولی باز هم برای وب من از روش اولی که توی پست قبلی گفتم استفاده میکنم. این ساختار بیشتر بدرد application میخوره تا وب.

  14. این کاربر از peyman1987 بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •