PDA

View Full Version : سوال: کدام شیوه برای طراحی این بانک بهتر است؟



rana-writes
یک شنبه 23 آبان 1389, 14:09 عصر
سلام
من یه سایت میخوام طراحی کنم شبیه یه مجله که بخشهای مختلف داره و قراره این بخشها رو به عنوان ساب دومین دربیارم مثلا جوانان، خانواده و ...
حالا مطالب هر کدوم از این بخشها یا ساب دومینها دسته بندی داره مثل مقاله، گزارش، مصاحبه، خبر و ..
برای طراحی بانک چطوری عمل کنم بهینه تره؟
نظر خودم یه چیزی به این شکله:
جدول Catagory برای بخشها یا همون ساب دومین ها با این فیلدها:
CatagoryId, CatagoryName
جدول Content برای محتوا با این فیلدها:
AutoId,ContentId, CatagoryId, Summery, Title,Author ,و ....
توی این حالت جدول Content تعداد رکوردهاش خیلی زیاد میشه با توجه به اینکه این سایت قراره توسعه پیدا کنه، یعنی تعداد این ساب دومینها بیشتر میشه
به نظر شما اینطور بهینه است؟
یا اینکه بیام برای هر ساب دومین یه جدول مثل Content ایجاد کنم و اینطوری عمل کنم:
جدول Kind برای مشخص کردن نوع مطلب مثل گزارش، مقاله و .. با این فیلدها:
KindId,KindName
و جدول Content با همون فیلدهای بالا با این تفاوت که KindId مشخص میکنه نوع مطلب چیه ..

در این حالت دوم آیا افزونگی داده ها ایجاد میشه؟

ممنون میشم راهنماییم کنین

raziee
یک شنبه 23 آبان 1389, 14:52 عصر
شما یه جدول بساز برای SubDomain هات.
SubDomainID,SubDomainTitle
یک جدول برای دسته بندی موضوعات با نام Categoriy(یا هر نامی که دوست دارید) بسازید


حالا برای مطالب هم جدولی با نام Posts (یا هر نامی که دوست دارید) بسازید
کلید اصلی ترکیبی از SubDomainID و PostID باشه.

alonemm
یک شنبه 23 آبان 1389, 18:52 عصر
باسلام:
برای مدیریت بهتر بروی داده ها و اگر نگران زیاد شدن داده ها هستید میتونید هر بخش دومین های فرعی رو در یک جدول مدیریت کنید.
اما در غیر این صورت همون بخش اول که خودتون گفتید بهتره.
موفق باشید.

aserfg
یک شنبه 23 آبان 1389, 21:27 عصر
سلام خسته نباشی
شما نگران تعداد و حجم بالای رکوردها نباشید . چون sql server با حجم زیاد رکورد مشکل نداره . اما می مونه بحث سرعت واکشی داده ها که نظر من نوع ارتباط لایه presentation شما با لایه dal بسیار مهمه چند نکته که من بهش اعتقاد دارم و ممکنه به دردتون بخوره
1- استفاده از لایه کش(بین bll , presentation)
2- جدولی رو که نگرانش هستی Category که از اون تحت عنوان جدول خارجی یاد می شه باید در application start عملیات کش صورت بگیره (تقریبا این رو می تونید برای تمامی جداول خارجی استفاده کنید )
3- حداکثر استفاده از sp
4- نوشتن لایه کش به صورت شیئی به منظور استفاده از objectdatasource
امتحان کنید معجزه اش رو ببینید !
موفق باشید .


(http://barnamenevis.org/forum/member.php?u=62579)