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

نام تاپیک: ارتباط بین جداول

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    شیراز
    سن
    39
    پست
    74

    ارتباط بین جداول

    با سلام خدمت همه دوستان
    می خواستم نظرتون رو درباره این جداول و ارتباطشان از لحاظ معماری دیتابیس بدونم.
    در این شکل، جدول d از دو مسیر از جدول b تغذیه می شود.
    به نظرتون اشکالی پیش نمیاد؟

    متشکر.
    عکس های ضمیمه عکس های ضمیمه

  2. #2
    کاربر دائمی آواتار mohsensaghafi
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    و نپرسیم کجاییم. بو کنیم اطلسی تازه بیمارستان را
    پست
    338

    نقل قول: ارتباط بین جداول

    سلام دوست عزیز.
    به خودی خود چون بصورت کاملا شماتیک و فرضی است نمی توان قطعی گفت. می تواند درست باشد یا نباشد. بستگی به اسکوپ پروژه دارد.
    یا علی!

  3. #3

    نقل قول: ارتباط بین جداول

    درود :
    در این شکل، جدول d از دو مسیر از جدول b تغذیه می شود.
    به نظرتون اشکالی پیش نمیاد؟
    اگه واقعا لازمه جدول d همزمان با دو جدول a,c ارتباط داشته باشه (شاید در روند کار، سرعت پایین بیاد) و نمی تونی ار ارتباط پلکانی به جای زنجیری اسفاده کنی، مشکل در ارتباط ها در ظاهر پیش نمی یاد .

    فکر خوش .

  4. #4
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: ارتباط بین جداول

    سلام
    Loop است به نظر منطقی نیست ! با مثال واقعی منعکس کنید می شود بحث فنی کرد

  5. #5

    نقل قول: ارتباط بین جداول

    تا در مورد سناریو بطور دقیق مطلبی گفته نشود نمی شود روی آن بحثی انجام داد. ولی از لحاظ منطقی و قیود هیچ مشکلی به نظر نمی رسد که وجود داشته باشد.
    وبلاگ من (Advanced SQL Querying)

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    شیراز
    سن
    39
    پست
    74

    نقل قول: ارتباط بین جداول

    از دوستانی که نظرشون رو گفتند واقعا تشکر می کنم و عذرخواهی بابت تاخیر در توضیح دقیق مطلب.

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

    مشخصات سربرگ سند اول را در جدول b و مشخصات اقلام آن را در جدول c قرارداده ام.
    همچنین مشخصات سربرگ سند دوم را در جدول a و مشخصات اقلام آن را در جدول d قرارداده ام.

    طبق روند موجود سند دوم بر اساس سند اول پر می شود. (یعنی برای هر کدام از سند های نوع اول چند سند نوع دوم داریم، و به عبارتی سند اول والد و سند دوم فرزند است.)

    با توجه به توضیح فوق هر چند قلم از سند اول در سند دوم قرار می گیرد. پس اقلام سند اول هم والد اقلام سند دوم می شوند.

    شاید یه جور دیگه هم بشه db رو طراحی کرد.
    من که فعلا غیر از این ارتباط چیزی به ذهنم نرسید.

    با تشکر.

  7. #7
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: ارتباط بین جداول

    سلام
    این معماری بصورت ذیل است :
    - Master/Detail (برای سند اول با جزئیات سند اول)
    - Master/Detail/Detail (برای سند اول /سند دوم / جزئیات سند دوم)
    کاملا رابطه درختی است

  8. #8

    نقل قول: ارتباط بین جداول

    Self-referencing راه حل شماست،
    به این طراحی دقت کنید:
    (در تصویر به جای وراثتی وارثتی نوشته شده که اشتباه تایپی بر اثر سرعت بالای تایپ بوده است)
    عکس های ضمیمه عکس های ضمیمه
    وبلاگ من (Advanced SQL Querying)

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    شیراز
    سن
    39
    پست
    74

    نقل قول: ارتباط بین جداول

    نقل قول نوشته شده توسط msalim مشاهده تاپیک
    Self-referencing راه حل شماست،
    به این طراحی دقت کنید:
    (در تصویر به جای وراثتی وارثتی نوشته شده که اشتباه تایپی بر اثر سرعت بالای تایپ بوده است)

    اگه ممکنه توضیح بیشتری بدید. درست متوجه نشدم.
    ممنون

  10. #10

    نقل قول: ارتباط بین جداول

    نقل قول نوشته شده توسط hossein2007 مشاهده تاپیک
    اگه ممکنه توضیح بیشتری بدید. درست متوجه نشدم.
    ممنون
    با این اطلاعات اندکی که وجود داره به نظر می رسه نیازی به چهار جدول برای ذخیره کردن اطلاعات این دو سند وجود نداره. یعنی میشه سربرگ هر دو نوع سند را داخل یک جدول در نظر گرفت و جزئیاتشان را در جدول دیگر.
    برای بحث فرزند و والد میاییم از یک جدول دیگه استفاده می کنیم.

    بطور مثال در جدول فرزند/والد درخت را پیاده سازی می کنیم. یعنی در واقع اطلاعات هر گره را در آن ذخیره می کنیم.
    و در پایان با کمک همین جدول کوئری هایی را که مورد نظرمان هست را برای پیمایش درخت و بدست آوردن گره های زیر شاخه استفاده می کنیم.

    در اینترنت راجب self-referencing و adjacency list model و recursive cte و ... جستجو کنید مقاله های زیادی وجود داره که می تونید از آنها چیزهای فراوانی یاد بگیرید.

    من بیشتر از این نمیتونم راهنمایی کنم. اگر نیاز به جزئیات دقیق دارین می تونید یک نمونه از داده هایتان را ارسال کنید و دقیقا جزئیات مساله را شرح بدین.

    موفق باشید.
    وبلاگ من (Advanced SQL Querying)

  11. #11
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    شیراز
    سن
    39
    پست
    74

    نقل قول: ارتباط بین جداول

    متشکر از اینکه وقت گذاشتید.
    فکر کنم مساله رو مصداقی شرح دهم بهتر باشه.

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

    هر کدام از منابع خریدی که اسمشان در مقابل هر قلم(در سند اول) آمده بایست یک سند پر کنند.(سند دوم)

    مثلا فرض کنید تقاضا دهنده در سند اول سه قلم را تقاضا داده و تعیین کرده که قلم اول را منبع خرید a قلم دوم را منبع خرید b و قلم سوم را منبع خرید c بخرد.

    حال هر کدام از منابع خرید یک سند (سند دوم) پر می کنند
    (در سند دوم در واقع قیمت واقعی قلم در بازار نوشته می شود)

    همون طور که می بینید به ازای هر سند اول ممکن است چند سند دوم پر شود.

    فکر کنم کل صورت مساله رو شرح دادم. اگه جاییش رو متوجه نشدید بیشتر توضیح می دم.

    البته بازم تاکید کنم سوالم دقیقا اینه که طراحی db ام مشکلات اساسی مانند circle یا همچین چیزهایی نداره؟

    قبلا از همه دوستان تشکر می کنم.

  12. #12

    نقل قول: ارتباط بین جداول

    توضیحات این پستتان با پست قبلیتان (پست 6) تطابق نداره! یعنی در پست قبلی گفته بودین که سند دوم دوباره یکسری اقلام داره ولی در این پست به آن اشاره ای نشده.
    نظرم اینه که اقلام سند اول باید به اطلاعات سند دوم رجوع کنند. یعنی اول بیایین مشخصات سند دوم و اقلامش را وارد کنید سپس در جدول اقلام سند اول به آن اطلاعات رجوع/لینک بدین (با کمک کلید خارجی).
    وبلاگ من (Advanced SQL Querying)

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

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