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

نام تاپیک: اصول طراحی دیتا بیس

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آذر 1388
    محل زندگی
    هرجایی آب ، نان ، شبکه ، یکم هم عکس باشد
    پست
    160
    تشکر کردن
    53
    39 بار تشکر شده در 21 پست

    اصول طراحی دیتا بیس

    با سلام خدمت اساتید
    من در حال طراحی یک دیتا بیس هستم انچه که برای من جای سوال هست این است
    فرض میکنیم جدولی داریم که نام- فامیل -محل تولد -تحصیلات و .... داردحال سوال این است به نظر شما با در نظر گرفتن همه ان چیزایی مثلا سرعت در سرچ یا وارد کردن اطلاعات یا دیدن اطلاهات در گرید اگزه که ساختیم و...که بعدا به ان نیاز داریم کدام روش در طراحی مناسب هست :
    1-ایا این روش که ما نام و فامیل را د این جدول مستقیم بنویسیم و محل تولد و تحصیلات را به شکل یک کد یا عدد بنویسم (مثلا در دو جدول دیگه در یکی تحصیلات را با کد معرفی کنیم ودر جدول دیگه شهر هارا با کد معرفی کنیم)ودر جدول اصلی یا اول فقط کدها را بنویسم مثلا در ستون تحصیلات کد 2 بنویسم که همان لیسانس است
    2-را دیگر اینکه دیگر جدول جانبی نباشد مستقیم در جای شهر نام شهر و در جای تحصیلات میزان تحصیلات مثلا لیسانس را بنویسم
    ایا این نوشتن مستقیم فارسی حجم دیتا را زیاد نمکنه؟ یا سرچ را کند؟ نمیکنه هرچند فکر کنم در اکزه برنامه که مینویسم راحتر است مثلا وارد کردن اطلاعات در یک گرید که مسفیم به جدولی وصل است که از روش 2 استفاده کرده راحتر است تا گریدی که از طرق ساخت یک ویو در اسکیوال و وارد کردن ان در گرید وبعد وارد کردن اطلاعات میباشد حتی ممکن است در ویو نتوانیم بنویسیم.
    دوستان اگر لطف کنن نظری دهند کمک بزرگی به حقیر کردن

  2. #2
    کاربر تازه وارد آواتار amir65gh
    تاریخ عضویت
    تیر 1388
    محل زندگی
    اصفهان
    پست
    65
    تشکر کردن
    30
    14 بار تشکر شده در 10 پست

    نقل قول: اصول طراحی دیتا بیس

    با سلام
    روش دوم دارای افزونگی طبیعی خیلی زیادی میشود و اگر حجم دیتا بیس شما در آینده زیاد میشود تحت هیچ شرایطی از روش دوم استفاده نکنید.
    در روش اول خود شما اصول طراحی دیتا بیس نرمال را شرح دادید که توصیه میشود اکیدا از روش اول استفاده فرمائید. و شما میتوانید با پیوند جداول به فیلدهای مورد نظرتون دسترسی پیدا کنید.
    موفق باشید.
    آخرین ویرایش به وسیله amir65gh : سه شنبه 19 بهمن 1389 در 08:55 قبل از ظهر
    Only Csharp

  3. کاربرانی که به خاطر مطلب مفید amir65gh از وی تشکر کرده‌اند:


  4. #3
    کاربر دائمی
    تاریخ عضویت
    آذر 1388
    محل زندگی
    هرجایی آب ، نان ، شبکه ، یکم هم عکس باشد
    پست
    160
    تشکر کردن
    53
    39 بار تشکر شده در 21 پست

    نقل قول: اصول طراحی دیتا بیس

    با تشکر از لطفی که کردین امیر خان اخرش روش اول خوبه یا دوم ؟
    چون یک بار گفتین روش اول استفاده نکنید بعد گفتید اکید استفاده کنید

  5. #4
    مدیر کل سایت آواتار حمیدرضاصادقیان
    تاریخ عضویت
    آذر 1382
    محل زندگی
    تهران
    پست
    6,506
    تشکر کردن
    326
    3,712 بار تشکر شده در 1,739 پست

    نقل قول: اصول طراحی دیتا بیس

    سلام.
    روش دوم شما ایراد دارد. به این دلیل که ممکنه بخواهید مثلا نام یک شهر رو عوض کنید یا اصلاح کنید.مجبورید کل جدول را تغییر بدید.
    روش اول شما هم مقداری ایراد داره.چون تعداد Join های شما افزایش پیدا خواهد کرد. و اگر بخواهید برای هرکدوم یک جدول جدا در نظر بگیرید مجبورید برای هر بار که میخواهید یک گزینه جدید اضافه کنید یک جدول نیز اضافه کنید و در کدنویسی هاتون تغییر بدید.
    راه سومی که پیشنهاد میدم این هست که یک جدول اطلاعات پایه داشته باشید.
    این جدول دارای سه ستون هست.
    یک فیلد مربوط به Id گروه مورد نظر هست. یک فیلد id ردیف مورد نظر و یک فیلد هم نام آن.
    حالا شما فرضا میخواهید لیست شهرها رو وارد کنید. فرضا شما شهر رو در گروه 1 قرار میدهید این گروه میتونه تمامی شهرها رو داشته باشه.
    گروه دوم میشه مربوط به تحصیلات.
    گروه سوم میشه محل تولد و...
    حتی در این حالت میتونید به کاربر این امکان رو بدید که خودش بیاد لیست این گروهها و اسامی رو کم و زیاد کنه یا اصلاح کنه.
    دیگه در بروز رسانی های بعدی نیازی نیست تغییری در کد نویسی بدید.
    همچنین کلا یک join با جدول خواهید داشت.
    ترکیب هر دو فیلد id , idGroup نیز میشه PK شما.
    وب سایت من :

  6. کاربرانی که به خاطر مطلب مفید حمیدرضاصادقیان از وی تشکر کرده‌اند:


  7. #5
    کاربر دائمی
    تاریخ عضویت
    آذر 1388
    محل زندگی
    هرجایی آب ، نان ، شبکه ، یکم هم عکس باشد
    پست
    160
    تشکر کردن
    53
    39 بار تشکر شده در 21 پست

    نقل قول: اصول طراحی دیتا بیس

    باعرض سلام وتشکر از جناب صادقیان
    من مطابق فرمایش شما جدولی را در اکسس شبیه سازی کردم که تقریبا شبیه sql است که عکس ان را ضمیمه کردم همانطور که مشاهد میکنید دو جدول a که جدول اصلی b که جدول فرعی است داریم حال برای ساخت کوئری مطابق عکس ضمیمه با حدول b یا فرعی را تفکیک کنیم تا بتوانیم join کنیم که این همان اتفاقی است که در حالت اول که در بالا عرض کردم اتفاق میافتد یعنی یعنی با ازای هر ستون که با کد نوشته میشود یک جدول فرعی.
    ایا این تحلیل درست است؟
    عکس های ضمیمه عکس های ضمیمه
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: rar db1.rar‏ (12.9 کیلوبایت, 12 دیدار)

  8. #6
    مدیر کل سایت آواتار حمیدرضاصادقیان
    تاریخ عضویت
    آذر 1382
    محل زندگی
    تهران
    پست
    6,506
    تشکر کردن
    326
    3,712 بار تشکر شده در 1,739 پست

    نقل قول: اصول طراحی دیتا بیس

    سلام.
    بله الان این همون چیزی هست که عرض کردم.
    حالا اگر میخواهید نام گروهها رو هم داشته باشید میتوانید یک جدول داشته باشید که id و نام گروه رو ذخیره کنه و اونو با جدول b به طور پدر و فرزند رابطه داره و جدول b هم مشخصات زیر مجموعه هر گروه رو داره.
    وب سایت من :

  9. کاربرانی که به خاطر مطلب مفید حمیدرضاصادقیان از وی تشکر کرده‌اند:


بوک مارک کردن این تاپیک

بوک مارک کردن این تاپیک

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

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