PDA

View Full Version : جدولی دارای فیلد NULL زیاد



majed_gh1992
سه شنبه 15 تیر 1395, 04:10 صبح
سلام خدمت همه دوستان
جدولی دارم در که فیلدهای null زیادی داره این جدول مربوط به تفکیک کاربری های های مختلف در شهرداری است مثلا (تجاری - اداری -مسکونی- آموزشی و ..) تقریبا 15 مورد کاربری مختلف و هر کدام از این کاربری ها در صورت وجود مساحتی دارند حالا زمانی که کاربر اطلاعات رو در مورد یک زمین می خواد ثبت کنه نهایتا دو یا سه مورد از این کاربری ها دارای فیلد غیر null میشوند و بقیه null مثلا زمینی که کاربریش تجاری و اداری است فیلد های مساحت اداری و مساحت تجاری ان مقدار می گیرند و بقیه فیلدهای خالی می شوند.
حالا سوالم اینه که این جدول رو بهتره چطور پیاده سازی کنم؟ در یک جدول یا چند جدول ؟ :متفکر::متفکر::متفکر:

pezhvakco
سه شنبه 15 تیر 1395, 11:37 صبح
پیشنهاد :
ستون ها رو ردیف ویرایش کنید .

جدول 1 = اون 15 کاربری رو در ردیف ها بیاورید و هر کدام یک شناسه داشته باشد.
جدول 2 = برای زمین ها با شناسه برای هر کدام
جدول 3 = شناسه زمین و شناسه کاربری => برای هر کاربری یک ردیف که دارای شناسه زمین و شناسه کاربری است

majed_gh1992
سه شنبه 15 تیر 1395, 14:35 عصر
پیشنهاد :
ستون ها رو ردیف ویرایش کنید .

جدول 1 = اون 15 کاربری رو در ردیف ها بیاورید و هر کدام یک شناسه داشته باشد.
جدول 2 = برای زمین ها با شناسه برای هر کدام
جدول 3 = شناسه زمین و شناسه کاربری => برای هر کاربری یک ردیف که دارای شناسه زمین و شناسه کاربری است

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


141260

alireza_s_84
سه شنبه 15 تیر 1395, 19:59 عصر
منظور شما اینه که کاربری رو موجودیت جدا در نظر بگیرم ولی من نمی خوام مشخص کنم که هر زمین چه کاربری هایی داری باید مساحت مربوط به هر کاربری در صورت داشتن مشخص شود جدول من تقریبا فیلدهاش مثل تصویر زیر است. اگه کاربری ها به صورت ردیفی باشند نمیشه مساحت رو برای زمین ها مختلف نوشت.


141260


همونطور که دوستمون در پاسختون گفت شما باید کاربری‌ها رو ببری به یک جدول مستقل بعد یک جدول داشته باشی برای تخصیص کاربری‌ها به املاک و مستقلات و این جدول 3 تا ستون داره یکی شناسه زمین که از جدول زمینها میاد، شناسه کاربری که از جدول کاربری میاد و ستون سوم هم مساحت رو نگه میداره

pezhvakco
سه شنبه 15 تیر 1395, 20:37 عصر
این جدول 3 تا ستون داره یکی شناسه زمین که از جدول زمینها میاد، شناسه کاربری که از جدول کاربری میاد و ستون سوم هم مساحت رو نگه میداره
با سپاس از جناب علیرضا :
یه همچین جدولی که نوشتند .

پیشنهاد :
ساختار ستون مساحت را عددی (Int) بگذارید و اگر میخواهید رشته ای باشد NVarchar باشه بهتر است.

majed_gh1992
سه شنبه 15 تیر 1395, 22:35 عصر
ممنون از دوستان بابت راهنماییتون متوجه منظورتون شدم
ولی به این شکل پیاده سازی در هنگامی واکشی و جست جو ، کارایی و سرعت را کاهش نمیدهد؟

alireza_s_84
چهارشنبه 16 تیر 1395, 18:05 عصر
ممنون از دوستان بابت راهنماییتون متوجه منظورتون شدم
ولی به این شکل پیاده سازی در هنگامی واکشی و جست جو ، کارایی و سرعت را کاهش نمیدهد؟
خیر نه فقط باعث کاهش سرعت نمیشه برعکس سبب افزایش سرعت و بهینه شدن پرس و جوهای شما میشه.
ضمنا اگر قرار باشد بر روی مساحت عملیات ریاضی انجام بدین حتما بصورت نوع داده ی عددی ذخیره کنید. اگر مساحت رو بصورت عدد صحیح ثبت میکنید int کفایت میکنه ولی اگر اعشار هم باید مورد پذیرش باشد از float استفاده کنید.