مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

مدیریت پایگاه داده

ﺳﻪ شنبه, 19 آذر 1398 10:55

مدیریت پایگاه داده

با سلام و خسته نباشید:
سوال بنده این هست : ما جدول کشور، استان، شهرستان و شهر را داریم که هر کدام بصورت جدا و از طریق کلید خارجی به هم متصل هستند.
میخواییم برای یک شخص در جدول کاربران این رو ثبت کنیم : 1. آیا کلید خارجی شهر را در جدول کاربران ثبت خواهیم کرد؟ 2. آیا از جدول واسط با کلید خارجی کاربران برای ذخیره منطقه استفاده خواهیم کرد؟
اگر جواب گزینه 1 هست ؟ سوال دوم : چجوری لیست کشور ایران را بدست بیاریم ( از طریق کلید خارجی شهر) ؟ 

چهارشنبه, 20 آذر 1398 07:48

سلام

هر دو گزینه ی روی میز شما، صحیح است و شما باید با توجه به شرایط محیط نسبت به انتخاب گزینه نهایی اقدام کنید

بعنوان مثال: 

شما می خواهی شهر محل تولد فرد را ذخیره کنی. خب "محل تولد" همواره یکتاست! قانون دوم طراحی دیتابیس میگهخ اگه رابطه یک به یک باشه در اغلب موارد می توان این با هم ترکیب شوند لذا شما در جدول Person  خودتون یک فیلد به نام CityID  اضافه کنید و بعنوان کلید خارجی نگهداری کنید.

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

در ضمن لطفا برای تاپیک هاتون همیشه عنوان مناسب انتخاب کنید. "مدیریت پایگاه داده" یک اسم عام است و نمی تواند منظور شما را در نگاه اول برساند لذا ممکن است دیرتر به جواب سوالتون برسید

چهارشنبه, 20 آذر 1398 17:50

خیلی ممنون از جواب و پیگیریتون

ارسال پاسخ برای این تاپیک