با سلام و خسته نباشید:
سوال بنده این هست : ما جدول کشور، استان، شهرستان و شهر را داریم که هر کدام بصورت جدا و از طریق کلید خارجی به هم متصل هستند.
میخواییم برای یک شخص در جدول کاربران این رو ثبت کنیم : 1. آیا کلید خارجی شهر را در جدول کاربران ثبت خواهیم کرد؟ 2. آیا از جدول واسط با کلید خارجی کاربران برای ذخیره منطقه استفاده خواهیم کرد؟
اگر جواب گزینه 1 هست ؟ سوال دوم : چجوری لیست کشور ایران را بدست بیاریم ( از طریق کلید خارجی شهر) ؟
سلام
هر دو گزینه ی روی میز شما، صحیح است و شما باید با توجه به شرایط محیط نسبت به انتخاب گزینه نهایی اقدام کنید
بعنوان مثال:
شما می خواهی شهر محل تولد فرد را ذخیره کنی. خب "محل تولد" همواره یکتاست! قانون دوم طراحی دیتابیس میگهخ اگه رابطه یک به یک باشه در اغلب موارد می توان این با هم ترکیب شوند لذا شما در جدول Person خودتون یک فیلد به نام CityID اضافه کنید و بعنوان کلید خارجی نگهداری کنید.
اما اگر مثلا می خواهید شهر محل سکونت فرد را نگهداری کنید. خب هر فردی ممکن است در طول زندگی خود به شهرهای مختلفی جهت سکونت عزیمت کند و شما هم نیاز دارید تمام سوابق را نگهداری کنید. لذا این رابطه یک به چند است. پس باید یک جدول واسط طراحی کنید و کلید خارجی فرد و شهر را با هم در جدول سوم نگهداری نمایید
در ضمن لطفا برای تاپیک هاتون همیشه عنوان مناسب انتخاب کنید. "مدیریت پایگاه داده" یک اسم عام است و نمی تواند منظور شما را در نگاه اول برساند لذا ممکن است دیرتر به جواب سوالتون برسید
خیلی ممنون از جواب و پیگیریتون
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)