واضح آرشیو وب فارسی:سایت ریسک: View Full Version : جدول users .یکی یا چند تا ؟ rostamiani23-08-2009, 04:59 AMسلام برای طراحی بانک اطلاعاتی دانشگاه چند نوع کاربر داریم.استاد و دانشجو و مسئولین یک سری از فیلد ها مشترک هست ولی خیلی های دیگه ممکنه فقط برای ااتید یا فقط برای دانشجویان باشه. اگه همه کاربر ها رو در یک جدول تعریف کنیم، کوئری ها خیلی ساده تر می شن.ولی ولی مقدار زیادی از جدول خالی می مونه :13: آیا در صورت خالی موندن قسمتی از جدول فضا به هدر می ره؟در صورت به هدر رفتن آیا می شه با قرار دادن مقدار NULL فضا رو آزاد کرد؟ کلا روش معمول برای این کارها چیه؟ :5: متشکرم :31: mamadfelfel198823-08-2009, 03:35 PMاین روش شما یک جدول میسازی به اسم user چند تا فیلد داره مثل id,name یا هرچیزه دیگری حالا شما میای یک فیلد به اسم access یا permission اضافه میکنی که بوسیله عدد نوع کاربر رو مشخص میکنی مثلا 1 استاد این روش استاندار هست rostamiani23-08-2009, 03:46 PMاین روش شما یک جدول میسازی به اسم user چند تا فیلد داره مثل id,name یا هرچیزه دیگری حالا شما میای یک فیلد به اسم access یا permission اضافه میکنی که بوسیله عدد نوع کاربر رو مشخص میکنی مثلا 1 استاد این روش استاندار هست متشکرم یعنی به نظر شما فیلد های خالی زیاد مشکلی نداره ؟ mamadfelfel198823-08-2009, 03:57 PMاین شکل که من منظورم هست Table Users ---------------------------- id=1 , name = ali , permission = 1 ----- id=2 , name = mohammad , permission = 3 به این شکل استاندارد rostamiani23-08-2009, 05:51 PMاین شکل که من منظورم هست Table Users ---------------------------- id=1 , name = ali , permission = 1 ----- id=2 , name = mohammad , permission = 3 به این شکل استاندارد متشکرم ولی مشکل فقط پرمیشن نیست. دانشجویان فیلد هایی دارند مثل شماره دانشجویی و ترم تحصیلی و ... ولی اساتید فیلد هایی دی گه ای دارند در نهایت فکر می کنم باید چند جدول جدا بسازم. چون ظاهرا وجه مشترک کمی دارند ! peyman198723-08-2009, 09:39 PMفکر کنم اول بهتر باشه زبانی که استفاده میکنین رو مشخص کنین. اگر PHP و MySQL استفاده میکنین میتونین فیلدهایی رو که قرار نیست بر اساسشون کوئری خاصی زده بشه رو یه آرایه کنین و بصورت سریال شده داخل یه فیلد مثل other_info از نوع text ذخیره کنین اینجوری فقط یه فیلد خواهین داشت برای اطلاعات متغیر. rostamiani24-08-2009, 04:35 AMفکر کنم اول بهتر باشه زبانی که استفاده میکنین رو مشخص کنین. اگر PHP و MySQL استفاده میکنین میتونین فیلدهایی رو که قرار نیست بر اساسشون کوئری خاصی زده بشه رو یه آرایه کنین و بصورت سریال شده داخل یه فیلد مثل other_info از نوع text ذخیره کنین اینجوری فقط یه فیلد خواهین داشت برای اطلاعات متغیر. متشکرم بله، با PHP و MySQL می نویسم ولی تعداد فیلد های مشترک کمه.اینجوری هم همیشه باید یک آرایه رو بیخودی ویرایش کنم. اگه فیلد های مشترک زیاد تر بودن ، روشخوبی بود rostamiani24-08-2009, 07:09 PMتوی سایت مجید آنلاین پیشنهاد کردند که : روش معمول ساخت یک جدول برای همه می باشد ، خوب جدول رو با تمام بخش هایی که نیاز دارید می سازید و برای کاربرانی که یه سری اطلاعات به اونها مربوط نمیشه اون مقدارها رو NULL و یا خالی و یا صفر قرار می دهید ، توجه داشته باشید مواردی که قراره Null مقدار دهی بشن می بایست قبلا مشخص بشن و با خالی موندن جدول هیچ مشکلی پیش نمیاد و فضا هم به هدر نمیره ، در کل بهترین روش و عاقلانه ترین روش همین روش میباشد که در اکثر سیستم های مدیریت محتوایی که نوشته شده مشاهده میشود. اگه این روش استاندارد هست و فضای اضافه مصرف نمی کنه، خیلی بهتر به نظر میاد. بزرگ شدن جدول نکته دیگه ای هم داره ؟ می خواستم نظر شما رو هم بدونم متشکرم peyman198724-08-2009, 08:17 PMتوی سایت مجید آنلاین پیشنهاد کردند که : اگه این روش استاندارد هست و فضای اضافه مصرف نمی کنه، خیلی بهتر به نظر میاد. بزرگ شدن جدول نکته دیگه ای هم داره ؟ می خواستم نظر شما رو هم بدونم متشکرم البته خوب این روش روش معمولشه که همیشه استفاده شده و میشه و تنها ایرادش هم اینه که انواع مختلف کاربرا توی یک جدول هستن ولی چون در کل همشون یه موجودیت هستن مشکلی نداره و راه نرمالیه. کار دیگه ای هم که میشد انجام داد این بود که اطلاعات مشترک داخل جدول کاربرا باشن و یه جدول دیگه که با فیلد خارجی آی دی به جدول کاربرا وصل میشه بسازیم که اینجوری باشه ساختارش: user_id property_title property_value که مثالش هم میشه مثلا 10 - آدرس - تهران طبقه دوم 14 - شغل - کارمند 10 - شغل - دکتر اینجا مثلا کاربر آی دی 10 دو تا خصوصیت داره و کاربر شماره 14 یکی. با ارتباط دادن این دو تا جدول هم میشه اطلاعاتشو بدست آورد. ولی باز هم برای وب من از روش اولی که توی پست قبلی گفتم استفاده میکنم. این ساختار بیشتر بدرد application میخوره تا وب. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 607]