ورود

View Full Version : طراحی جدول شهرهای ایران



mojtaba.baghban
جمعه 28 مهر 1391, 20:07 عصر
سلام با توجه به تقسیمات کشوری در ایران که بصورت استان، شهرستان، بخش و شهر می‌شود و با توجه به اینکه در جداول طراحی شده ما در هر سطح یک فیلد برای نام سطح بالای خود در نظر می‌گیرم بهعنوان مثال در جدول شهر فیلدی به نام partid وجود دارد که ‌id بخشی که این شهر عضوی از آن است را برمیگرداند و در جدول بخش فیلد countyid وجود دارد که id شهرستانی که این بخش عضوی از آن است را برمی‌گرداند و به همین ترتیب. با توجه به اینکه نام هر شهر در سطح استان یکتا هست برای اعمال این محدودیت آیا در جدول شهر یک فیلد به نام stateid قرار دهم که id استان مربوطه را برمی‌گرداند و سپس از محدودیت


unique (name,stateid)

استفاده کنم. یا اینکار خلاف اصول طراحی پایگاه داده است(با توجه به اینکه جدول شهر فیلدی به نام partid دارد که می‌توان از آن بخش مربوطه و سپس شهرستان و استان مربوطه را بدست آورد) و نباید فیلد stateid را در جدول شهر قرار دهم و محدودیت مورد نظر را با مثلا تریگرها تامین کنم؟
ممنون از پاسخگوییتون

m0hammad_01
شنبه 29 مهر 1391, 15:16 عصر
سلام
ببینید.شما میخواین اون فیلد مورد نظر رو به جدول شهرتون اضافه کنید و فکر میکنید که ممکن است باعث افزونگی شده و اصول طراحی را زیر پا بگذارد.در نقطه مقابل میخواهید از امکانات دیگری استفاده کنید تا این مشکلتون رو باهاشون حل کنید.به نظرم در اینجا اصول طراحی پایگاه داده میگه که خود طراح تصمصم گیرنده باشه.یعنی قضاوت با خودتون.اصول نمیگه این کار اشتباست یا اون کار درسته (این حرف من برای همه حالات صادق نیستش.مثلا در بعضی موارد اصول طراحی میگه این کار کاملا اشتباه هست) حالا بررسی کنین وجود یک ستون اضافی هزینه کمتری داره یا اون راه حلی که مد نظرتون هست؟