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

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




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

نام تاپيک: دسترسی به چند جدول مرتبط به هم

  1. #1
    آخر فروم باز
    تاريخ عضويت
    Jul 2009
    پست ها
    6,351

    پيش فرض دسترسی به چند جدول مرتبط به هم

    سلام


    جدولی دارم به نام Users
    که شامل یک ای دی (کلید اصلی) نام و نام و خانوادگی تلفن و آدرس و حساب
    برای آدرس یک جدول address درست کردم و توش موارد شهر استان و کد و ... قرار دارم و یک ID درست کردم و کلید اصلی گذاشتم.
    در جدول users فیلد آدرس کلید خارجی هست و ربط داده شده به کلید اصلی ID در جدول آدرس.

    در مورد شماره حساب فرق میکنه.
    یک جدول درست کردم نوع حساب . یک ای دی (کلید اصلی) داره و فیلد بانک و نوع حساب. مثلا ملی سیبا ای دی 5
    یک جدول درست کردم به نام شماره حساب. که دارای یک ای دی (کلید اصلی ) هست و فیلد شماره حساب و یک فیلد به نام نوع حساب که کلید خارجی هست ربط داده شده به کلید اصلی جدول نوع حساب

    مثلا میشه جدول نوع حساب
    ID=5
    bank=melli
    hessab=siba

    جدول شماره حساب
    ID=5
    shomae=12346

    آیا این ساختار اصلا درست هست؟ من خواستم افزونگی کم کنم و جدول نسازیم . هی بزنیم ملی و سیبا
    و سوال مهم. ما از جدول users مثلا کاربر شماره 5 رو چطوری میتوینم شماره حساب رو در بیاریم؟
    اگر یک جدول ربط داشته باشه با select و برابر قرار دادن کلید خارجی و اصلی دو جدول داده رو میاریم.
    اما اینجا شده ارتباط 3 جدول دستور ما چطوری هست؟ که با این ساختار کاربر 5 شماره حساب رو بکشیم بیرون؟
    یعنی بزنه کاربر 5 ملی سیبا 12346
    شرمنده طولانی شد خواستم دقیق بیان کنم
    ممنون
    Last edited by Life24; 06-03-2013 at 22:05.

  2. #2
    کاربر فعال تالار .Net senaps's Avatar
    تاريخ عضويت
    Jul 2008
    محل سكونت
    خونمون
    پست ها
    4,547

    پيش فرض

    بله.... این رو بهش میگن نرمال مرحله‌ی سوم و خوبه که بتونین اینجوری طراحی بکنین..!!

    البته باید تحلیل، نیازها و .... رو هم دید ولی یه دید کلی و یه روخانی سرهمی، به نظرم درست هستش!

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


  4. #3
    آخر فروم باز
    تاريخ عضويت
    Jul 2009
    پست ها
    6,351

    پيش فرض

    سلام
    ببخشید یک جدول در دیتابیس داریم به نام کاربران
    میخواهیم از برخی فیلد هایی از این جدول در جدول فاکتور و ایمیل و این قضایا استفاده کنیم
    بهترین راه استفاده از
    view
    است؟ مثلا جدول کاربارن دارای نام و نام خانوادگی و ای دی و پسورد و ایمیل و ادرس و ... هست اما در فاکتور مثلا فقط ادرس و نام و نام خانوادگی و ایمیل تلفن نیاز است.
    چنین چیزی را در نمودار
    ER
    چطور باید نشان دهم؟
    ایا باید مثلا برای فاکتور موجودیتی درست کنم و برخی از ویژگی های جدول کاربارن ار برایش بکشم؟ اما دیگر در ایجاد جداول از view استفاده کنم؟ خوب اگر طراح جدول کسی دیگر باشد.چطور می فهمد این view است؟
    یا راه دیگری است؟
    من چطور این رو در جدول er نمایش دهم. در کتاب چیز خاصی در این مورد ندیدم
    سپاس گزارم

  5. #4
    کاربر فعال تالار .Net senaps's Avatar
    تاريخ عضويت
    Jul 2008
    محل سكونت
    خونمون
    پست ها
    4,547

    پيش فرض

    در ER این مسایل نشون داده نمیشه!‌.....
    شما موقع سلکت، جداول رو به هم وصل میکنی(جوین) و در موارد پیشرفته تر حالت های دیگه و راه‌حل های دیگه رو به کار می‌بندی....

    اگر بخوای مشخصات یک کاربری رو در داخل مثلا فاکتور نشون بدی، در جدول فاکتور فقط Id یا کلید اصلی رو میذاری و بقیش رو از جدول کاربر میگیری....

    مثلا من میخوام داخل فاکتورم، نام و نام خانوداگی و شماره تلفن و ادرس مشتریم و سمتش رو درج بکنم(با مشخصاتی که در جدول فاکتور هستش...)
    برای این کار، ما id رو از جدول فاکتور میگیریم، بعد مطابقت میدیم با جداول دیگه....
    (مشخصات مشتریان، جدول شماره‌های تلفن، جدول ادرس مشتری‌ها، جدول سمت ها و ....)....
    همه‌ی این اطلاعات رو با جوین کردن جدول ها و فقط با داشتن id کاربر به دست میاری!

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


  7. #5
    آخر فروم باز
    تاريخ عضويت
    Jul 2009
    پست ها
    6,351

    پيش فرض

    در ER این مسایل نشون داده نمیشه!‌.....
    شما موقع سلکت، جداول رو به هم وصل میکنی(جوین) و در موارد پیشرفته تر حالت های دیگه و راه‌حل های دیگه رو به کار می‌بندی....

    اگر بخوای مشخصات یک کاربری رو در داخل مثلا فاکتور نشون بدی، در جدول فاکتور فقط Id یا کلید اصلی رو میذاری و بقیش رو از جدول کاربر میگیری....

    مثلا من میخوام داخل فاکتورم، نام و نام خانوداگی و شماره تلفن و ادرس مشتریم و سمتش رو درج بکنم(با مشخصاتی که در جدول فاکتور هستش...)
    برای این کار، ما id رو از جدول فاکتور میگیریم، بعد مطابقت میدیم با جداول دیگه....
    (مشخصات مشتریان، جدول شماره‌های تلفن، جدول ادرس مشتری‌ها، جدول سمت ها و ....)....
    همه‌ی این اطلاعات رو با جوین کردن جدول ها و فقط با داشتن id کاربر به دست میاری!
    سُلام
    ممنون از شما
    منظورم از نمودار ER این نبود.
    این 3 جدول پست

    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    در نظر بگیریم.
    این ER جطور باید رسم کنیم؟
    خوب موجودیتی به نام users داریم. از این ویژگی به نام حساب شکل میگیره.
    حالا ما دو تا مورد داریم. نوع حساب و شماره حساب. که شماره حساب از نوع حساب سرچشمه میگیره
    الان من این دو تا رو چطور رسم کنم؟
    در کتابی موردی دیدم. برای آدرس در جدول کاربران. اومده بود ویژگی آدرس رو کشیده بود و شماره پلاک و شهر و استان و .. هم
    به همان آدرس وصل کرده بود. یعنی مشخصات ادرس همه وصل شدن به خود ویژگی آدرس و مشخصات آدرس هم با دایره(ویژگی ) نشان داده بودند.
    حال ادر حالت کا رما 3 جدول هست باید چطور نشان بدیم؟


    مورد بعدی »:
    منظورم از نمایش view در نمودار ER این هست که در موجودیت فاکتور من باید نام و تلفن و ادرس و .. رو به عنوان ویژگی اطراف موجودیت فاکتور رسم کنم؟ (میخواهیم در طراحی veiew )بزنیم. یعنی یکبار این مشخصات برای موجودیت کاربارن نوشتیم الان باید برای فاکتور هم در نمودار ER رسم کنیم؟

    این 2 مشکل حل بشه خیلی می افتم جلو
    ممنون ازت

  8. #6
    کاربر فعال تالار .Net senaps's Avatar
    تاريخ عضويت
    Jul 2008
    محل سكونت
    خونمون
    پست ها
    4,547

    پيش فرض

    اهان گرفتم چی میگید....!
    تا جایی که یادم هست، فقط کلید خارجی رو می‌نویسیم و اون مشخصات رو دیگه نمیاریم تو موجودیت هامون....

    اینجا هر موجودیت مستطیل خودش رو داره و کاری به کار دیگران نداره...!!!! ما با جداول کار داریم نه چیزایی که ازشون میگیرم!!!

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

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


  10. #7
    آخر فروم باز
    تاريخ عضويت
    Jul 2009
    پست ها
    6,351

    پيش فرض

    سلام
    ممنون ازت
    میشه یکم واضح تر بگی؟ گرفتم میخوام اشتباه نکنم.
    خوب این که اومده موجودیت کاربران. ویژگی آدرس رو بهش وصل کرده و به ویژگی آدرس یک سری ویژگی به نام تلفن استان کد و شهر اضافه کرده . درسته . چون در کتاب دیدم.
    پس این فیلد ها رو اضافه کرده. فیلد هایی که در جدول میاد.
    شما میفرمائید ما فیلد های که در جدول مستقیم و صریح ایجاد میکنیم در نمودار میاریم؟ اونهایی که با view و کلید خارجی میان رو دیگه نمی نویسیم در نمودار ER ?

  11. #8
    کاربر فعال تالار .Net senaps's Avatar
    تاريخ عضويت
    Jul 2008
    محل سكونت
    خونمون
    پست ها
    4,547

    پيش فرض

    بله....

    ببینید، بذارید با یه مثال روشن‌تر براتون توضیح بدم:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در این مثال که برا دوستمون حل کردیم و خوشبختانه مورد تایید استادشون بوده کاملا و نمره‌ی کامل هم بهش دادن، باز ما همین روند رو رفتیم برای طراحی ER ...

    چیزی که من فکر میکنم که درسته(من تخصص چندان بالایی در امور دیتابیس ندارم و فقط دیتابیس های خودم رو طراحی کردم و بس )!....
    این هستش که در ER، ما فقط موجودیت ها و فیلد‌هاشون رو نشون میدیم... و کاری به کار اطلاعاتی که ازشون گرفته میشه نداریم....
    بنابرین، در نمودار مربوط به مثلا در شکل نمودار نوع حساب، ما یه id داریم، یه نام حساب داریم و یه بانک...
    بعد برای نمودار شماره حساب، یه ای‌دی داریم، یه شماره حساب و یه فیلد خارجی(ای‌دی نوع حساب)... دیگه نمیایم نوع حساب رو در اینجا هم براش در نظر بگیریم! ...

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


  13. #9
    پروفشنال
    تاريخ عضويت
    Nov 2007
    پست ها
    546

    پيش فرض

    بسم الله الرحمن الرحیم
    سلام


    جدولی دارم به نام Users
    که شامل یک ای دی (کلید اصلی) نام و نام و خانوادگی تلفن و آدرس و حساب
    برای آدرس یک جدول address درست کردم و توش موارد شهر استان و کد و ... قرار دارم و یک ID درست کردم و کلید اصلی گذاشتم.
    در جدول users فیلد آدرس کلید خارجی هست و ربط داده شده به کلید اصلی ID در جدول آدرس.

    در مورد شماره حساب فرق میکنه.
    یک جدول درست کردم نوع حساب . یک ای دی (کلید اصلی) داره و فیلد بانک و نوع حساب. مثلا ملی سیبا ای دی 5
    یک جدول درست کردم به نام شماره حساب. که دارای یک ای دی (کلید اصلی ) هست و فیلد شماره حساب و یک فیلد به نام نوع حساب که کلید خارجی هست ربط داده شده به کلید اصلی جدول نوع حساب

    مثلا میشه جدول نوع حساب
    ID=5
    bank=melli
    hessab=siba

    جدول شماره حساب
    ID=5
    shomae=12346

    آیا این ساختار اصلا درست هست؟ من خواستم افزونگی کم کنم و جدول نسازیم . هی بزنیم ملی و سیبا
    و سوال مهم. ما از جدول users مثلا کاربر شماره 5 رو چطوری میتوینم شماره حساب رو در بیاریم؟
    اگر یک جدول ربط داشته باشه با select و برابر قرار دادن کلید خارجی و اصلی دو جدول داده رو میاریم.
    اما اینجا شده ارتباط 3 جدول دستور ما چطوری هست؟ که با این ساختار کاربر 5 شماره حساب رو بکشیم بیرون؟
    یعنی بزنه کاربر 5 ملی سیبا 12346
    شرمنده طولانی شد خواستم دقیق بیان کنم
    ممنون
    با سلام
    در مورد جدول های کاربر و آدرس که حرفی نیست. اما جدول های نوع حساب و شماره حساب.
    به نظرم اینکه برای نوع حساب جدول ایجاد کردید کاملا بجاست. ولی تردید دارم که برای شماره حساب جدول درست کنید یا نه؟!
    حالت 1) جدول شماره حساب:آیدی شماره حساب و شماره حساب و نوع حساب
    جدول کاربر: آیدی کاربر و ...و آیدی شماره حساب
    حالت 2) برای شماره حساب جدول در نظر نگیریم.
    جدول کاربر: آیدی کاربر و ...و شماره حساب و آیدی نوع حساب
    نظر شخصیم اینه که به سیستمی که روش کار می کنید نگاه کنید؛ اگه نیازمندیها طوریست که اکثر کاربرها یا تمامشون شماره حساب دارند برای شماره حساب جدول در نظر نگیرید. در غیر اینصورت فکر میکنم بهتره جدول در نظر بگیرید.
    موفق باشید.

Thread Information

Users Browsing this Thread

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

User Tag List

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

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