ورود

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



shabpr
پنج شنبه 05 اردیبهشت 1392, 16:40 عصر
سلام و خسته نباشید خدمت دوستان.
من در طراحی جداول دیتابیس پروژم دچار مشکل شدم.پروژه من پیاده سازی جعبه لایتنر تحت وب توسط دیتابیس اس کیو ال هست.من چندتا از جداول رو طراحی کردم.جدول یوزر و ادمین و شهر و چندتا جدول دیگه.اما برای جعبه لایتنر دچار مشکل شدم.دقیقا نمی دونم باید چه جداولی رو اضافه کنم به انضمام اینهایی که گفتم.ممکنه کسی کمکم کنه؟اگر لازم باشه فایل دیتابیس رو هم آپ می کنم.


باتشکر

rasoul_par
جمعه 06 اردیبهشت 1392, 22:52 عصر
اگر کلمه ها مشخص باشن مثل 504 و اینها 1 جدول واسه کلمه ها بساز و 1 جدول میانی بین کاربر و کلمه ها با کلید ترکیبی شامل کلید کلمه و کلید کاربر و یک فیلد دیگه که نشون دهنده جای کلمه توی جعبست، مثلا اگه جدول 10 تا بخش داره این فیلد از 1 تا 10 مقدار میگره، اما اگر کلمه ها رو خود کاربر اضافه میکنه نمیدونم از نظر بهینه بودن این کار چقدر درسته چون در این حالت مثلا ممکن 100 تا کاربر کلمه Hello رو اضافه کنن به جدول و خوب فکر نمیکنم مطلوب باشه

shabpr
شنبه 07 اردیبهشت 1392, 09:18 صبح
کلمه ها هم توسط خود کاربر می تونن اضافه بشن هم اینکه قراره بصورت بسته های طبقه بندی شده در دسترس کاربر قرار گرفته بشن.

rasoul_par
شنبه 07 اردیبهشت 1392, 15:56 عصر
به ذهن من راه حل دیگه ای نمیرسه، تنها چیزی که میتونم بگم واسه جلوگیری از اضافه بودن داده ها، اینه که وقتی کاربر یک کلمه رو وارد می کنه، بهتره به صورت AutoComplete (مثل سرچ گوگل) کلمه ها رو پیشنهاد بده تا اگر کلمه مورد نظر وارد شده بود دیگه تکرار نشه.
موفق باشید!

shabpr
سه شنبه 10 اردیبهشت 1392, 16:53 عصر
در رابطه با دیتابیس جعبه لایتنر چطور می تونم نمودار گرافیکی رو که درحال تفییر هست رو در دیتابیسم ذخیره کنم و اینکه اصلا چطور می تونم نمودار رو توی نرم افزارم نشون بدم؟

rasoul_par
سه شنبه 10 اردیبهشت 1392, 20:03 عصر
منظور از نمودار گرافیکی چیه دقیقا؟
لطفا بیشتر توضیح بدید!

shabpr
چهارشنبه 11 اردیبهشت 1392, 07:49 صبح
جعبه لایتنر شامل 5 خونه هست که هر کدوم مقادیرشون مدام درحال آپدیت شدنه.حالا می خوام خونه ها رو با ستونهایی نشون بدم که همزمان با آپدیت شدن تغییرات رو با بالا و پایین رفتنشون نشون می دن.

rasoul_par
چهارشنبه 11 اردیبهشت 1392, 17:55 عصر
بسته به دیتابیسی که طراحی کردی، احتمالا یک جدول باید باشه که دارای فیلدیه که مشخص میکنه کلمه چه جایی توی خونه ها داره (مثلا شماره 1 یا 2 یا هرچیزی که خودت میدونی، بالا هم 1 توضیحی دادم اگر مفید بوده باشه)، بعد با یک کوئری ساده میشه تعداد کلمه ها رو با توجه به این فیلد مشخص کرد. از خروجی این عدد میشه استفاده کرد و نمودار کشید. نمودارهای مختلفی هم هست که میشه ازشون استفاده کرد مثل http://www.amcharts.com/
برای توضیح بیشتر باید دید که دیتابیست چطوریه!

shabpr
پنج شنبه 12 اردیبهشت 1392, 11:25 صبح
سلام.نمی دونم چه جدولهایی بجز اوناییکه ایجاد کردم نیازن.انگار یکسری جداول بین همه سایتها مشترکن.مثل aspnet_roles,aspnet_membership ,....اما نمی دونم اینا هرکدوم برای چ هستن و اصلا برای این پروژه لازمن یا خیر!جداولی که طراحی کردم اینا هستن:TCard :جدول کارتهای جی5TLitnerBox : جدول جعبه های موضوع بندی شده جی 5TCradStatus : وضعیت کارت در تستها:خوانده شده یا خوانده نشده یا باید تکرار شود و ...TLesson : بخشهای متعدد و مجزای یک درس.مثلا بخش یک درس زبانTMember :جدول اعضای سایت که شامل صفاتی مثل نام و ایمیل و نام کاربری و ... هستTCity : جدول شهر یوزرهاTAdmin : جدول ادمین سایتTAccess : جدول سطح دسترسی کاربرانو البته با رسم دیاگرامهای لازم بین این جدولها.آیا جدول دیگه ای لازمه؟یک سؤال دیگم این هست که یکی از جدولهام دارای کلید اصلی هست.اما می خوام یکی از فیلدها مقدار تکراری نگیره.مثلا فیلد ایمیل.که کاربر با ایمیل تکراری ثبت نام نکنه.فکرکنم باید فیلد رو یونیک بشه.اما چه با کدنویسی چه ازطریق Index اینکار رو انجام دادم عملی نشد.و یه سؤال دیگه که احتمالا مبتدیه اینکه توی پروژه های تحت ویندوز نیازی به نوشتن کوئری توی دیتابیس نبود و تمام بار کدنویسی به سی شارپ دات نت منتقل میشد.پروژه های تحت وب هم اینطور هستن؟با تشکر از همه دوستان.

rasoul_par
جمعه 13 اردیبهشت 1392, 19:10 عصر
همونطور که توضیح دادم برای اینکه گفته بشه جداول کامل هستن یا نه یا ساختارشون کامله یا نه باید مساله رو تشریح کرد نه جداولش رو.
برای ایجاد یک فیلد که یونیک باشه از دستور:
ALTER TABLE tbl_name ADD UNIQE index_name (index_column)
باید استفاده کرذ اگر جدول موجوده در غیر اینطورت از:
CREATE UNIQUE INDEX index_name ON tbl_name (index_columns)
استفاده میکنیم.
خیلی ربطی نداره که برنامه ویندوزیه یا تحت وب، به هر حال برای اینکه بتونیم داده ها رو اونطور که مدنظرمونه از پایگاه داده برگردونیم به نوشتن کوئری احتیاج داریم که این بین برنامه های ویندوزی و تحت وب مشترکه.