نمایش نتایج 1 تا 2 از 2

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

  1. #1
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,265

    استفاده از روال‌های مشترک ولی موردی در جداول

    فرض کنیم پروژه‌ای شامل 100 جدول است و هرجدول حدود 1000 ردیف دارد و تمامی اطلاعاتی که در جدوال ثبت می‌شوند بدلیل ماهیت اون کسب و کار ممکن است به ازای هر ردیف توضیحاتی توسط کاربر در آن درج شود. این ستون می‌تواند یک نام مانند Comment و یا Remark داشته باشد.

    سوال: آیا پیاده سازی این روش اشکال فنی دارد؟

    اگر بجای ایجاد ستون Comment و یا Remark در تمامی جدوال که احتمالا 90 درصد ردیف‌ها نیازی به آن ندارند و در تمامی جداول null باقی خواهند ماند، یک جدول با نام Comment ایجاد کنم و ستون‌های آن بصورت زیر باشد:

    Id, TableName, TableId, Comment

    اگرچه که امکان ایجاد رابطه با تمام جدوال برای TableId وجود ندارد اما در زمان واکشی داده‌ها می‌توان در مدل خروجی (Output Model) یک List از Commentهای متناظر با جدول واکشی شده قرار داد تا برنامه سمت Client از آن استفاده کند.

  2. #2
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    73
    پست
    3,626

    نقل قول: استفاده از روال‌های مشترک ولی موردی در جداول

    خب این همون روش خیلی قدیمی child/extension table هست
    که وقتی مثل اینجا فیلدهایی دارین که بیشترش null هست (sparse data)
    یا ساختار سلسله مراتبی دارن (hierarchical) استفاده میشه - این مورد شما فقط یک level داره البته
    و این که عمومی تر از جدول فرزند عادی هست.

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

    ولی Id, TableName, TableId, Comment گویا باید اینجوری باشه: Id, TableName, RecordId, Comment

    ====
    الان 10 سالی هست که MS SQL مستقیما فیلد نوع sparse رو پشتیبانی میکنه،
    که بد نیست اون رو هم یک نگاهی بندازین.

تاپیک های مشابه

  1. دستگاه بسته بندی مواد غذایی آجیل / دستگاه پرکن و بسته بندی پودر
    نوشته شده توسط khonehman در بخش بک لینک (Back Links)
    پاسخ: 0
    آخرین پست: سه شنبه 13 تیر 1402, 18:25 عصر
  2. پاسخ: 4
    آخرین پست: یک شنبه 26 مرداد 1399, 01:59 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •