pary_daryayi

تفکیک جداول دیتابیس

6 پست در این موضوع قرار دارد

سلام دوستان.

من هرجا که لازم باشه اطلاعاتی توسط مدیریت , ویرایش , درج و حذف بشه , براش Table تعریف میکنم.

حتی جداولی که با هم رابطه ی یک به یک دارند .

بعنوان مثال :

یک جدول دانشجو داریم که هر دانشجو یک خوابگاهی رو میگیره . ( رابطه ی یک به یک )(البته چند به یک هم میشه گفت )

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

به همین دلیل جدول مشخصات دانشجو و خوابگاه رو تفکیک کردم ,

یک کلید خارجی برای جدول مشخصات دانشجو ها گذاشتم که با کلید اصلی جدول خوابگاه ارتباط داشته باشه .

تو تصویر نشون دادم.

میخوام بدونم در وب , تو این نوع سناریوها کدوم رو بهینه تر میدونید ؟ از لحاظ سرعت و ...

و بر چه معیاری جداول رو تفکیک میکنید ؟

post-1361-0-16969000-1378714687_thumb.jp

ویرایش شده در توسط pary_daryayi

به اشتراک گذاری این پست


لینک به پست

سعی کنید چیدمان جداول به صورتی باشند که کمترین JOIN رو مجبور باشید پیاده کنید رو سرور , درواقع JOIN ها پر هزینه ترین روش برای واکشی اطلاعات است و در وب زیاد توصیه نمیشه که از جداول رابطه ایی بصورت گسترده استفاده کنید

به اشتراک گذاری این پست


لینک به پست

یعنی بین افزونگی داده و join , افزونگی داده رو انتخاب کنیم ؟

به اشتراک گذاری این پست


لینک به پست

خیر , افزونگی خود بار زیادی برای سرور دارد , بنابراین سعی کنید با کمترین JOIN الگوهای ذهنی خود را پیش ببرید , و در صورت امکان کمتر استفاده کنید , گاها پیش می اید SELECT زدن بصورت معمولی و استفاده نکردن از جداول رابطه ایی خروجی سریع تری نسبت به مدل رابطه ایی دارد .

یکی از نکاتی که در وب برای بهنیه سازی توصیه میشود درواقع همین مطلب است , حتما جستجو کنید

به اشتراک گذاری این پست


لینک به پست

ممنونم.

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

اینکه در مورد طراحی جداول در وب صحبت بشه زیاد ندیدم .

ویرایش شده در توسط pary_daryayi

به اشتراک گذاری این پست


لینک به پست

همیشه نیاز نیست شما یک رابطه ایجاد کنید.بستگی به شرایط داره

مثلا ایجاد join بسته به این داره که داده هایی رو که تفکیک میکنین آیا زیاد در select هاتون شرکت دارند و این فیلدها زیاد اپدیت نمیشن و در چند جدول مورد استفاده قرار نمیگیرن اگر بله،نیاز به ایجاد یک جدول دیگه و join نیست اگه نه بهتره از جدول اصلی جدا بشن

البته در نسخه های جدید join سربار زیادی ایجاد نمیکنه و این مربوط به نسخه های قدیمیتر بود

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری